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

View differences:

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