Revision 767 2.1/trunk/org.gvsig.view3d/org.gvsig.view3d.vector/org.gvsig.view3d.vector.lib/org.gvsig.view3d.vector.lib.impl/src/main/java/org/gvsig/view3d/vector/lib/impl/vector/DefaultVectorLineRenderableLayer.java
DefaultVectorLineRenderableLayer.java | ||
---|---|---|
4 | 4 |
import java.util.ArrayList; |
5 | 5 |
import java.util.List; |
6 | 6 |
|
7 |
import org.cresques.cts.ICoordTrans; |
|
8 |
|
|
7 | 9 |
import org.gvsig.fmap.dal.feature.Feature; |
8 | 10 |
import org.gvsig.fmap.dal.feature.FeatureStore; |
9 | 11 |
import org.gvsig.fmap.geom.Geometry; |
... | ... | |
12 | 14 |
import org.gvsig.fmap.geom.primitive.Curve; |
13 | 15 |
import org.gvsig.fmap.geom.primitive.Line; |
14 | 16 |
import org.gvsig.fmap.geom.primitive.Point; |
17 |
import org.gvsig.fmap.mapcontext.layers.FLayer; |
|
15 | 18 |
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend; |
16 | 19 |
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol; |
17 | 20 |
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.ILineSymbol; |
... | ... | |
36 | 39 |
} |
37 | 40 |
|
38 | 41 |
@Override |
39 |
protected List<Renderable> getRenderable(Feature feature) { |
|
42 |
protected List<Renderable> getRenderables(Feature feature) {
|
|
40 | 43 |
Geometry geom = feature.getDefaultGeometry(); |
41 | 44 |
List<Renderable> renderables = new ArrayList<>(); |
42 | 45 |
if (geom.getGeometryType().isTypeOf(TYPES.MULTILINE)) { |
... | ... | |
69 | 72 |
} |
70 | 73 |
} |
71 | 74 |
|
72 |
List<Position> verticesList = new ArrayList<>(curve.getNumVertices()); |
|
73 |
for (int i = 0; i < curve.getNumVertices(); i++) { |
|
74 |
Point vertex = curve.getVertex(i); |
|
75 |
if (hasZ) { |
|
76 |
double z = vertex.getCoordinateAt(2); |
|
77 |
verticesList.add(Position.fromDegrees(vertex.getY(), vertex.getX(), z + h)); |
|
78 |
} else { |
|
79 |
verticesList.add(Position.fromDegrees(vertex.getY(), vertex.getX(), h)); |
|
80 |
} |
|
81 |
} |
|
75 |
ICoordTrans coordTrans = getCoordTrans(this.parameters.getLayer().getProjection()); |
|
76 |
List<Position> verticesList = getVertices(curve, h, hasZ, coordTrans); |
|
82 | 77 |
Path path = new Path(verticesList); |
83 | 78 |
path.setAltitudeMode(getAltitudeMode(this.parameters.getVectorElevationMode())); |
84 | 79 |
path.setAttributes(normalShapeAttributes); |
... | ... | |
110 | 105 |
normalShapeAttributes.setOutlineOpacity(outlineOpacity); |
111 | 106 |
return normalShapeAttributes; |
112 | 107 |
} |
113 |
|
|
114 |
/** |
|
115 |
* Slightly darken the supplied color. |
|
116 |
* |
|
117 |
* @param color |
|
118 |
* the color to make darker. |
|
119 |
* @return the darker color. |
|
120 |
*/ |
|
121 |
|
|
122 |
private Color darkenColor(Color color) { |
|
123 |
float factor = 0.8f; |
|
124 |
int r = color.getRed(); |
|
125 |
int g = color.getGreen(); |
|
126 |
int b = color.getBlue(); |
|
127 |
Color sideFillColor = new Color(Math.max((int) (r * factor), 0), Math.max((int) (g * factor), 0), |
|
128 |
Math.max((int) (b * factor), 0)); |
|
129 |
return sideFillColor; |
|
130 |
} |
|
131 |
|
|
132 | 108 |
} |
Also available in: Unified diff