Revision 762 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/DefeaultVectorPointRenderableLayer.java

View differences:

DefeaultVectorPointRenderableLayer.java
1 1
package org.gvsig.view3d.vector.lib.impl.vector;
2 2

  
3
import java.awt.Color;
3 4
import java.util.ArrayList;
4 5
import java.util.List;
5 6

  
......
13 14
import org.gvsig.fmap.geom.aggregate.MultiPoint;
14 15
import org.gvsig.fmap.geom.primitive.Point;
15 16
import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend;
17
import org.gvsig.fmap.mapcontext.rendering.symbols.ISymbol;
18
import org.gvsig.symbology.fmap.mapcontext.rendering.symbol.marker.ISimpleMarkerSymbol;
16 19
import org.gvsig.view3d.vector.lib.api.VectorElevationMode;
17 20
import org.gvsig.view3d.vector.lib.api.VectorLoaderParameters;
18
import org.gvsig.view3d.vector.lib.impl.AbstractPointRenderableLayer;
21
import org.gvsig.view3d.vector.lib.impl.AbstractRenderableLayer;
19 22

  
20 23
import gov.nasa.worldwind.geom.Position;
24
import gov.nasa.worldwind.render.Material;
21 25
import gov.nasa.worldwind.render.PointPlacemark;
26
import gov.nasa.worldwind.render.PointPlacemarkAttributes;
22 27
import gov.nasa.worldwind.render.Renderable;
23 28

  
24
public class DefeaultVectorPointRenderableLayer extends AbstractPointRenderableLayer {
29
public class DefeaultVectorPointRenderableLayer extends AbstractRenderableLayer {
30
    
31
    private PointPlacemarkAttributes markAttributes;
25 32

  
26 33
    public DefeaultVectorPointRenderableLayer(VectorLoaderParameters parameters, FeatureStore featureStore,
27 34
        IVectorLegend legend) {
28
        super(parameters, featureStore, legend);
35
        super(parameters, featureStore);
36
        this.markAttributes = getBasicMarkerAttributes(legend);
29 37
    }
30 38

  
31 39
    @Override
......
81 89
        featureQuery.addAttributeName(geomAtt);
82 90
        return featureQuery;
83 91
    }
92
    
93
    private PointPlacemarkAttributes getBasicMarkerAttributes(IVectorLegend legend) {
84 94

  
95
        if (this.markAttributes != null) {
96
            return this.markAttributes;
97
        }
98

  
99
        double markerSize = 0;
100
        Material fillMaterial = null;
101

  
102
        if (legend == null) {
103
            fillMaterial = new Material(parameters.getDefaultColor());
104
            markerSize = 0.3;
105
        } else {
106
            ISymbol symbol = legend.getDefaultSymbol();
107
            if (symbol instanceof ISimpleMarkerSymbol) {
108
                ISimpleMarkerSymbol markerSymbol = (ISimpleMarkerSymbol) symbol;
109
                Color fillColor = markerSymbol.getColor();
110
                markerSize = markerSymbol.getSize();
111
                fillMaterial = new Material(fillColor);
112
            } else {
113
                fillMaterial = new Material(parameters.getDefaultColor());
114
                markerSize = 4;
115
            }
116
        }
117
        markAttributes = new PointPlacemarkAttributes();
118
        Color color = fillMaterial.getDiffuse();
119
        markAttributes.setImageColor(color);
120
        markAttributes.setLineMaterial(fillMaterial);
121
        markAttributes.setLineWidth(1d);
122
        markAttributes.setUsePointAsDefaultImage(true);
123
        markAttributes.setScale(markerSize);
124
        return markAttributes;
125
    }
126

  
85 127
}

Also available in: Unified diff