Revision 29007 trunk/extensions/extSymbology/src/org/gvsig/symbology/Utils.java
Utils.java | ||
---|---|---|
64 | 64 |
import com.iver.cit.gvsig.fmap.core.v02.FSymbol; |
65 | 65 |
|
66 | 66 |
public class Utils { |
67 |
public static ISymbol deriveFSymbol(FSymbol fSymbol) { |
|
68 |
ISymbol derivedSymbol; |
|
69 |
|
|
70 |
int symbolType = fSymbol.getSymbolType(); |
|
71 |
Color color = fSymbol.getColor(); |
|
72 |
double size = fSymbol.getSize(); |
|
73 |
int unit = fSymbol.isSizeInPixels() ? -1 : 1; // only meters or pixels |
|
74 |
// were supported in |
|
75 |
// FSymbol |
|
76 |
if (symbolType == FShape.LINE) { |
|
77 |
ILineSymbol line = SymbologyFactory.createDefaultLineSymbol(); |
|
78 |
line.setLineColor(color); |
|
79 |
|
|
80 |
SimpleLineStyle lineStyle = new SimpleLineStyle(); |
|
81 |
lineStyle.setUnit(unit);
|
|
82 |
lineStyle.setStroke(fSymbol.getStroke()); |
|
83 |
lineStyle.setOffset(0); |
|
84 |
lineStyle.setReferenceSystem(CartographicSupport.WORLD); |
|
85 |
lineStyle.setLineWidth((float) size); |
|
86 |
line.setLineStyle(lineStyle); |
|
87 |
derivedSymbol = line; |
|
88 |
|
|
89 |
} else if (symbolType == FShape.POINT) { |
|
90 |
int style = fSymbol.getStyle(); |
|
91 |
IMarkerSymbol marker;
|
|
92 |
if (style == FConstant.SYMBOL_STYLE_MARKER_IMAGEN) { |
|
93 |
marker = new PictureMarkerSymbol(); |
|
94 |
PictureMarkerSymbol pic = (PictureMarkerSymbol) marker; |
|
95 |
try { |
|
96 |
pic.setImage(new File(fSymbol.getIconURI().getPath()).toURL()); |
|
97 |
} catch (IOException e) { |
|
98 |
// image could not be restored, |
|
99 |
// will use a regular point as symbol |
|
100 |
fSymbol.setStyle(FConstant.SYMBOL_STYLE_MARKER_CIRCLE); |
|
101 |
return deriveFSymbol(fSymbol); |
|
102 |
} |
|
103 |
} else { |
|
104 |
marker = new SimpleMarkerSymbol(); |
|
105 |
SimpleMarkerSymbol sms = (SimpleMarkerSymbol) marker; |
|
106 |
if (style == FConstant.SYMBOL_STYLE_MARKER_CIRCLE) { |
|
107 |
sms.setStyle(SimpleMarkerSymbol.CIRCLE_STYLE); |
|
108 |
} else if (style == FConstant.SYMBOL_STYLE_MARKER_CROSS) { |
|
109 |
sms.setStyle(SimpleMarkerSymbol.CROSS_STYLE); |
|
110 |
} else if (style == FConstant.SYMBOL_STYLE_MARKER_SQUARE) { |
|
111 |
sms.setStyle(SimpleMarkerSymbol.SQUARE_STYLE); |
|
112 |
} else if (style == FConstant.SYMBOL_STYLE_MARKER_TRIANGLE) { |
|
113 |
sms.setStyle(SimpleMarkerSymbol.TRIANGLE_STYLE); |
|
114 |
} |
|
115 |
Color outlineColor = fSymbol.getOutlineColor(); |
|
116 |
if (outlineColor != null) { |
|
117 |
sms.setOutlined(true); |
|
118 |
sms.setOutlineColor(outlineColor); |
|
119 |
} |
|
120 |
} |
|
121 |
marker.setColor(color); |
|
122 |
marker.setSize(size); |
|
123 |
marker.setRotation(fSymbol.getRotation()); |
|
124 |
derivedSymbol = marker; |
|
125 |
|
|
126 |
} else if (symbolType == FShape.POLYGON) { |
|
127 |
IFillSymbol fill; |
|
128 |
int fSymbolStyle = fSymbol.getStyle(); |
|
129 |
color = null; |
|
130 |
if (fSymbolStyle == FConstant.SYMBOL_STYLE_FILL_SOLID) { |
|
131 |
fill = SymbologyFactory.createDefaultFillSymbol(); |
|
132 |
color = fSymbol.getColor(); |
|
133 |
} else if (fSymbolStyle == FConstant.SYMBOL_STYLE_FILL_TRANSPARENT || |
|
134 |
fSymbolStyle == FConstant.SYMBOL_STYLE_DGNSPECIAL) { |
|
135 |
fill = SymbologyFactory.createDefaultFillSymbol(); |
|
136 |
} else { |
|
137 |
// lets see how to derive FSymbol with fill patterns |
|
138 |
if (fSymbolStyle == FConstant.SYMBOL_STYLE_FILL_CROSS) { |
|
139 |
// the cross will be substituted by two line fill symbols |
|
140 |
// with |
|
141 |
// perpendicular line angles mixed into a multilayer symbol |
|
142 |
IMultiLayerSymbol mfs = SymbologyFactory.createEmptyMultiLayerSymbol(FShape.POLYGON); |
|
143 |
fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_VERTICAL); |
|
144 |
LineFillSymbol firstLayer = (LineFillSymbol) deriveFSymbol(fSymbol); |
|
145 |
fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_HORIZONTAL); |
|
146 |
LineFillSymbol secondLayer = (LineFillSymbol) deriveFSymbol(fSymbol); |
|
147 |
mfs.addLayer(firstLayer); |
|
148 |
mfs.addLayer(secondLayer); |
|
149 |
fill = (IFillSymbol) mfs; |
|
150 |
fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_CROSS); // restore |
|
151 |
// old |
|
152 |
// style |
|
153 |
// (just |
|
154 |
// in |
|
155 |
// case) |
|
156 |
} else if (fSymbolStyle == FConstant.SYMBOL_STYLE_FILL_CROSS_DIAGONAL ) { |
|
157 |
// the cross will be substituted by two line fill symbols |
|
158 |
// with |
|
159 |
// perpendicular line angles mixed into a multilayer symbol |
|
160 |
IMultiLayerSymbol mfs = SymbologyFactory.createEmptyMultiLayerSymbol(FShape.POLYGON); |
|
161 |
fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_UPWARD_DIAGONAL); |
|
162 |
LineFillSymbol firstLayer = (LineFillSymbol) deriveFSymbol(fSymbol); |
|
163 |
fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_DOWNWARD_DIAGONAL); |
|
164 |
LineFillSymbol secondLayer = (LineFillSymbol) deriveFSymbol(fSymbol); |
|
165 |
mfs.addLayer(firstLayer); |
|
166 |
mfs.addLayer(secondLayer); |
|
167 |
fill = (IFillSymbol) mfs; |
|
168 |
fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_CROSS_DIAGONAL); // restore |
|
169 |
// old |
|
170 |
// style |
|
171 |
// (just |
|
172 |
// in |
|
173 |
// case) |
|
174 |
} else { |
|
175 |
LineFillSymbol lfs = new LineFillSymbol(); |
|
176 |
// Let's create the filling line symbol |
|
177 |
fSymbol.setSymbolType(FShape.LINE); |
|
178 |
ILineSymbol lineSymbol = (ILineSymbol) deriveFSymbol(fSymbol); |
|
179 |
SimpleLineStyle lineStyle = new SimpleLineStyle(); |
|
180 |
lineStyle.setLineWidth(1f); |
|
181 |
lineSymbol.setLineStyle(lineStyle); |
|
182 |
|
|
183 |
// restore the old value for symbol type (should be always |
|
184 |
// FShape.POLYGON) |
|
185 |
assert symbolType == FShape.POLYGON; |
|
186 |
fSymbol.setSymbolType(symbolType); |
|
187 |
double angle = 0; |
|
188 |
switch (fSymbolStyle) { |
|
189 |
case FConstant.SYMBOL_STYLE_FILL_UPWARD_DIAGONAL: |
|
190 |
angle = 45; |
|
191 |
break; |
|
192 |
case FConstant.SYMBOL_STYLE_FILL_VERTICAL: |
|
193 |
angle = 90; |
|
194 |
break; |
|
195 |
case FConstant.SYMBOL_STYLE_FILL_HORIZONTAL: |
|
196 |
angle = 0; |
|
197 |
break; |
|
198 |
case FConstant.SYMBOL_STYLE_FILL_DOWNWARD_DIAGONAL: |
|
199 |
angle = -45; |
|
200 |
break; |
|
201 |
} |
|
202 |
lfs.setSeparation(10); |
|
203 |
lfs.setAngle(angle*FConstant.DEGREE_TO_RADIANS); |
|
204 |
lfs.setLineSymbol(lineSymbol); |
|
205 |
fill = lfs; |
|
206 |
} |
|
207 |
} |
|
208 |
|
|
209 |
fill.setFillColor(color); |
|
210 |
|
|
211 |
if (fSymbol.isOutlined()) { |
|
212 |
// Let's create the outline line symbol |
|
213 |
fSymbol.setSymbolType(FShape.LINE); |
|
214 |
ILineSymbol outline = (ILineSymbol) deriveFSymbol(fSymbol); |
|
215 |
|
|
216 |
// restore the old value for symbol type (should be always |
|
217 |
// FShape.POLYGON) |
|
218 |
assert symbolType == FShape.POLYGON; |
|
219 |
fSymbol.setSymbolType(symbolType); |
|
220 |
outline.setLineColor(fSymbol.getOutlineColor()); |
|
221 |
fill.setOutline(outline); |
|
222 |
} |
|
223 |
derivedSymbol = fill; |
|
224 |
} else if (symbolType == FShape.MULTI) { |
|
225 |
fSymbol.setSymbolType(FShape.LINE); |
|
226 |
ILineSymbol line = (ILineSymbol) deriveFSymbol(fSymbol); |
|
227 |
fSymbol.setSymbolType(FShape.POINT); |
|
228 |
IMarkerSymbol marker = (IMarkerSymbol) deriveFSymbol(fSymbol); |
|
229 |
fSymbol.setSymbolType(FShape.POLYGON); |
|
230 |
IFillSymbol fill = (IFillSymbol) deriveFSymbol(fSymbol); |
|
231 |
assert symbolType == FShape.MULTI; |
|
232 |
fSymbol.setSymbolType(symbolType); |
|
233 |
MultiShapeSymbol multiShapeSymbol = new MultiShapeSymbol(); |
|
234 |
multiShapeSymbol.setMarkerSymbol(marker); |
|
235 |
multiShapeSymbol.setLineSymbol(line); |
|
236 |
multiShapeSymbol.setFillSymbol(fill); |
|
237 |
|
|
238 |
derivedSymbol = multiShapeSymbol; |
|
239 |
} else if (symbolType == FShape.TEXT) { |
|
240 |
ITextSymbol textSym = SymbologyFactory.createDefaultTextSymbol(); |
|
241 |
textSym.setTextColor(color); |
|
242 |
derivedSymbol = textSym; |
|
243 |
} else { |
|
244 |
throw new Error("FSymbol of type "+symbolType+" cannot be imported yet!"); |
|
245 |
} |
|
246 |
|
|
247 |
// establish the general description; |
|
248 |
if (derivedSymbol instanceof AbstractSymbol) { |
|
249 |
AbstractSymbol symbol = (AbstractSymbol) derivedSymbol; |
|
250 |
symbol.setIsShapeVisible(true); |
|
251 |
symbol.setDescription(fSymbol.getDescription()); |
|
252 |
} |
|
253 |
|
|
254 |
|
|
255 |
|
|
256 |
if (derivedSymbol instanceof CartographicSupport) { |
|
257 |
CartographicSupport cs = (CartographicSupport) derivedSymbol; |
|
258 |
// the only options allowed by the old FSymbol class |
|
259 |
cs.setUnit(unit); |
|
260 |
cs.setReferenceSystem(CartographicSupport.WORLD); |
|
261 |
} |
|
262 |
|
|
263 |
return derivedSymbol; |
|
264 |
} |
|
67 |
// public static ISymbol deriveFSymbol(FSymbol fSymbol) {
|
|
68 |
// ISymbol derivedSymbol;
|
|
69 |
// |
|
70 |
// int symbolType = fSymbol.getSymbolType();
|
|
71 |
// Color color = fSymbol.getColor();
|
|
72 |
// double size = fSymbol.getSize();
|
|
73 |
// int unit = fSymbol.isSizeInPixels() ? -1 : 1; // only meters or pixels
|
|
74 |
// // were supported in
|
|
75 |
// // FSymbol
|
|
76 |
// if (symbolType == FShape.LINE) {
|
|
77 |
// ILineSymbol line = SymbologyFactory.createDefaultLineSymbol();
|
|
78 |
// line.setLineColor(color);
|
|
79 |
// |
|
80 |
// SimpleLineStyle lineStyle = new SimpleLineStyle();
|
|
81 |
// lineStyle.setUnit(unit);
|
|
82 |
// lineStyle.setStroke(fSymbol.getStroke());
|
|
83 |
// lineStyle.setOffset(0);
|
|
84 |
// lineStyle.setReferenceSystem(CartographicSupport.WORLD);
|
|
85 |
// lineStyle.setLineWidth((float) size);
|
|
86 |
// line.setLineStyle(lineStyle);
|
|
87 |
// derivedSymbol = line;
|
|
88 |
// |
|
89 |
// } else if (symbolType == FShape.POINT) {
|
|
90 |
// int style = fSymbol.getStyle();
|
|
91 |
// IMarkerSymbol marker;
|
|
92 |
// if (style == FConstant.SYMBOL_STYLE_MARKER_IMAGEN) {
|
|
93 |
// marker = new PictureMarkerSymbol();
|
|
94 |
// PictureMarkerSymbol pic = (PictureMarkerSymbol) marker;
|
|
95 |
// try {
|
|
96 |
// pic.setImage(new File(fSymbol.getIconURI().getPath()).toURL());
|
|
97 |
// } catch (IOException e) {
|
|
98 |
// // image could not be restored,
|
|
99 |
// // will use a regular point as symbol
|
|
100 |
// fSymbol.setStyle(FConstant.SYMBOL_STYLE_MARKER_CIRCLE);
|
|
101 |
// return deriveFSymbol(fSymbol);
|
|
102 |
// }
|
|
103 |
// } else {
|
|
104 |
// marker = new SimpleMarkerSymbol();
|
|
105 |
// SimpleMarkerSymbol sms = (SimpleMarkerSymbol) marker;
|
|
106 |
// if (style == FConstant.SYMBOL_STYLE_MARKER_CIRCLE) {
|
|
107 |
// sms.setStyle(SimpleMarkerSymbol.CIRCLE_STYLE);
|
|
108 |
// } else if (style == FConstant.SYMBOL_STYLE_MARKER_CROSS) {
|
|
109 |
// sms.setStyle(SimpleMarkerSymbol.CROSS_STYLE);
|
|
110 |
// } else if (style == FConstant.SYMBOL_STYLE_MARKER_SQUARE) {
|
|
111 |
// sms.setStyle(SimpleMarkerSymbol.SQUARE_STYLE);
|
|
112 |
// } else if (style == FConstant.SYMBOL_STYLE_MARKER_TRIANGLE) {
|
|
113 |
// sms.setStyle(SimpleMarkerSymbol.TRIANGLE_STYLE);
|
|
114 |
// }
|
|
115 |
// Color outlineColor = fSymbol.getOutlineColor();
|
|
116 |
// if (outlineColor != null) {
|
|
117 |
// sms.setOutlined(true);
|
|
118 |
// sms.setOutlineColor(outlineColor);
|
|
119 |
// }
|
|
120 |
// }
|
|
121 |
// marker.setColor(color);
|
|
122 |
// marker.setSize(size);
|
|
123 |
// marker.setRotation(fSymbol.getRotation());
|
|
124 |
// derivedSymbol = marker;
|
|
125 |
// |
|
126 |
// } else if (symbolType == FShape.POLYGON) {
|
|
127 |
// IFillSymbol fill;
|
|
128 |
// int fSymbolStyle = fSymbol.getStyle();
|
|
129 |
// color = null;
|
|
130 |
// if (fSymbolStyle == FConstant.SYMBOL_STYLE_FILL_SOLID) {
|
|
131 |
// fill = SymbologyFactory.createDefaultFillSymbol();
|
|
132 |
// color = fSymbol.getColor();
|
|
133 |
// } else if (fSymbolStyle == FConstant.SYMBOL_STYLE_FILL_TRANSPARENT ||
|
|
134 |
// fSymbolStyle == FConstant.SYMBOL_STYLE_DGNSPECIAL) {
|
|
135 |
// fill = SymbologyFactory.createDefaultFillSymbol();
|
|
136 |
// } else {
|
|
137 |
// // lets see how to derive FSymbol with fill patterns
|
|
138 |
// if (fSymbolStyle == FConstant.SYMBOL_STYLE_FILL_CROSS) {
|
|
139 |
// // the cross will be substituted by two line fill symbols
|
|
140 |
// // with
|
|
141 |
// // perpendicular line angles mixed into a multilayer symbol
|
|
142 |
// IMultiLayerSymbol mfs = SymbologyFactory.createEmptyMultiLayerSymbol(FShape.POLYGON);
|
|
143 |
// fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_VERTICAL);
|
|
144 |
// LineFillSymbol firstLayer = (LineFillSymbol) deriveFSymbol(fSymbol);
|
|
145 |
// fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_HORIZONTAL);
|
|
146 |
// LineFillSymbol secondLayer = (LineFillSymbol) deriveFSymbol(fSymbol);
|
|
147 |
// mfs.addLayer(firstLayer);
|
|
148 |
// mfs.addLayer(secondLayer);
|
|
149 |
// fill = (IFillSymbol) mfs;
|
|
150 |
// fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_CROSS); // restore
|
|
151 |
// // old
|
|
152 |
// // style
|
|
153 |
// // (just
|
|
154 |
// // in
|
|
155 |
// // case)
|
|
156 |
// } else if (fSymbolStyle == FConstant.SYMBOL_STYLE_FILL_CROSS_DIAGONAL ) {
|
|
157 |
// // the cross will be substituted by two line fill symbols
|
|
158 |
// // with
|
|
159 |
// // perpendicular line angles mixed into a multilayer symbol
|
|
160 |
// IMultiLayerSymbol mfs = SymbologyFactory.createEmptyMultiLayerSymbol(FShape.POLYGON);
|
|
161 |
// fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_UPWARD_DIAGONAL);
|
|
162 |
// LineFillSymbol firstLayer = (LineFillSymbol) deriveFSymbol(fSymbol);
|
|
163 |
// fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_DOWNWARD_DIAGONAL);
|
|
164 |
// LineFillSymbol secondLayer = (LineFillSymbol) deriveFSymbol(fSymbol);
|
|
165 |
// mfs.addLayer(firstLayer);
|
|
166 |
// mfs.addLayer(secondLayer);
|
|
167 |
// fill = (IFillSymbol) mfs;
|
|
168 |
// fSymbol.setStyle(FConstant.SYMBOL_STYLE_FILL_CROSS_DIAGONAL); // restore
|
|
169 |
// // old
|
|
170 |
// // style
|
|
171 |
// // (just
|
|
172 |
// // in
|
|
173 |
// // case)
|
|
174 |
// } else {
|
|
175 |
// LineFillSymbol lfs = new LineFillSymbol();
|
|
176 |
// // Let's create the filling line symbol
|
|
177 |
// fSymbol.setSymbolType(FShape.LINE);
|
|
178 |
// ILineSymbol lineSymbol = (ILineSymbol) deriveFSymbol(fSymbol);
|
|
179 |
// SimpleLineStyle lineStyle = new SimpleLineStyle();
|
|
180 |
// lineStyle.setLineWidth(1f);
|
|
181 |
// lineSymbol.setLineStyle(lineStyle);
|
|
182 |
// |
|
183 |
// // restore the old value for symbol type (should be always
|
|
184 |
// // FShape.POLYGON)
|
|
185 |
// assert symbolType == FShape.POLYGON;
|
|
186 |
// fSymbol.setSymbolType(symbolType);
|
|
187 |
// double angle = 0;
|
|
188 |
// switch (fSymbolStyle) {
|
|
189 |
// case FConstant.SYMBOL_STYLE_FILL_UPWARD_DIAGONAL:
|
|
190 |
// angle = 45;
|
|
191 |
// break;
|
|
192 |
// case FConstant.SYMBOL_STYLE_FILL_VERTICAL:
|
|
193 |
// angle = 90;
|
|
194 |
// break;
|
|
195 |
// case FConstant.SYMBOL_STYLE_FILL_HORIZONTAL:
|
|
196 |
// angle = 0;
|
|
197 |
// break;
|
|
198 |
// case FConstant.SYMBOL_STYLE_FILL_DOWNWARD_DIAGONAL:
|
|
199 |
// angle = -45;
|
|
200 |
// break;
|
|
201 |
// }
|
|
202 |
// lfs.setSeparation(10);
|
|
203 |
// lfs.setAngle(angle*FConstant.DEGREE_TO_RADIANS);
|
|
204 |
// lfs.setLineSymbol(lineSymbol);
|
|
205 |
// fill = lfs;
|
|
206 |
// }
|
|
207 |
// }
|
|
208 |
// |
|
209 |
// fill.setFillColor(color);
|
|
210 |
// |
|
211 |
// if (fSymbol.isOutlined()) {
|
|
212 |
// // Let's create the outline line symbol
|
|
213 |
// fSymbol.setSymbolType(FShape.LINE);
|
|
214 |
// ILineSymbol outline = (ILineSymbol) deriveFSymbol(fSymbol);
|
|
215 |
// |
|
216 |
// // restore the old value for symbol type (should be always
|
|
217 |
// // FShape.POLYGON)
|
|
218 |
// assert symbolType == FShape.POLYGON;
|
|
219 |
// fSymbol.setSymbolType(symbolType);
|
|
220 |
// outline.setLineColor(fSymbol.getOutlineColor());
|
|
221 |
// fill.setOutline(outline);
|
|
222 |
// }
|
|
223 |
// derivedSymbol = fill;
|
|
224 |
// } else if (symbolType == FShape.MULTI) {
|
|
225 |
// fSymbol.setSymbolType(FShape.LINE);
|
|
226 |
// ILineSymbol line = (ILineSymbol) deriveFSymbol(fSymbol);
|
|
227 |
// fSymbol.setSymbolType(FShape.POINT);
|
|
228 |
// IMarkerSymbol marker = (IMarkerSymbol) deriveFSymbol(fSymbol);
|
|
229 |
// fSymbol.setSymbolType(FShape.POLYGON);
|
|
230 |
// IFillSymbol fill = (IFillSymbol) deriveFSymbol(fSymbol);
|
|
231 |
// assert symbolType == FShape.MULTI;
|
|
232 |
// fSymbol.setSymbolType(symbolType);
|
|
233 |
// MultiShapeSymbol multiShapeSymbol = new MultiShapeSymbol();
|
|
234 |
// multiShapeSymbol.setMarkerSymbol(marker);
|
|
235 |
// multiShapeSymbol.setLineSymbol(line);
|
|
236 |
// multiShapeSymbol.setFillSymbol(fill);
|
|
237 |
// |
|
238 |
// derivedSymbol = multiShapeSymbol;
|
|
239 |
// } else if (symbolType == FShape.TEXT) {
|
|
240 |
// ITextSymbol textSym = SymbologyFactory.createDefaultTextSymbol();
|
|
241 |
// textSym.setTextColor(color);
|
|
242 |
// derivedSymbol = textSym;
|
|
243 |
// } else {
|
|
244 |
// throw new Error("FSymbol of type "+symbolType+" cannot be imported yet!");
|
|
245 |
// }
|
|
246 |
// |
|
247 |
// // establish the general description;
|
|
248 |
// if (derivedSymbol instanceof AbstractSymbol) {
|
|
249 |
// AbstractSymbol symbol = (AbstractSymbol) derivedSymbol;
|
|
250 |
// symbol.setIsShapeVisible(true);
|
|
251 |
// symbol.setDescription(fSymbol.getDescription());
|
|
252 |
// }
|
|
253 |
// |
|
254 |
// |
|
255 |
// |
|
256 |
// if (derivedSymbol instanceof CartographicSupport) {
|
|
257 |
// CartographicSupport cs = (CartographicSupport) derivedSymbol;
|
|
258 |
// // the only options allowed by the old FSymbol class
|
|
259 |
// cs.setUnit(unit);
|
|
260 |
// cs.setReferenceSystem(CartographicSupport.WORLD);
|
|
261 |
// }
|
|
262 |
// |
|
263 |
// return derivedSymbol;
|
|
264 |
// }
|
|
265 | 265 |
} |
Also available in: Unified diff