gvsig-3d / 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 / extrusion / DefaultVectorExtrusionLoader.java @ 761
History | View | Annotate | Download (1.75 KB)
1 | 761 | llmarques | package org.gvsig.view3d.vector.lib.impl.extrusion; |
---|---|---|---|
2 | 759 | llmarques | |
3 | 761 | llmarques | import org.gvsig.fmap.dal.feature.FeatureStore; |
4 | import org.gvsig.fmap.mapcontext.layers.FLayer; |
||
5 | import org.gvsig.fmap.mapcontext.layers.vectorial.FLyrVect; |
||
6 | import org.gvsig.fmap.mapcontext.rendering.legend.IVectorLegend; |
||
7 | 759 | llmarques | import org.gvsig.view3d.lib.api.exception.LoadException; |
8 | import org.gvsig.view3d.lib.api.loader.Loader; |
||
9 | import org.gvsig.view3d.lib.api.loader.LoaderParameters; |
||
10 | 761 | llmarques | import org.gvsig.view3d.vector.lib.api.VectorExtrusionLoaderParameters; |
11 | 759 | llmarques | |
12 | /**
|
||
13 | *
|
||
14 | * @author <a href="mailto:lmarques@disid.com">Lluis Marques</a>
|
||
15 | *
|
||
16 | */
|
||
17 | public class DefaultVectorExtrusionLoader implements Loader { |
||
18 | |||
19 | @Override
|
||
20 | public Object load(LoaderParameters parameters) throws LoadException { |
||
21 | 761 | llmarques | |
22 | if (parameters == null) { |
||
23 | throw new IllegalArgumentException("Can not load layer, parameters can not be null"); |
||
24 | } |
||
25 | |||
26 | if (!(parameters instanceof VectorExtrusionLoaderParameters)) { |
||
27 | throw new IllegalArgumentException( |
||
28 | "Can not load layer, parameters must implements VectorExtrusionLoaderParameters interface");
|
||
29 | } |
||
30 | |||
31 | FLayer layer = parameters.getLayer(); |
||
32 | if (!(layer instanceof FLyrVect)) { |
||
33 | throw new IllegalArgumentException("Can not load layer, only vector layers can be load as 'Vector'"); |
||
34 | } |
||
35 | FLyrVect layerVect = (FLyrVect) layer; |
||
36 | FeatureStore featureStore = layerVect.getFeatureStore(); |
||
37 | IVectorLegend vectorLegend = null;
|
||
38 | if (layerVect.getLegend() instanceof IVectorLegend) { |
||
39 | vectorLegend = (IVectorLegend) layerVect.getLegend(); |
||
40 | } |
||
41 | return new DefaultVectorExtrusionPointRenderableLayer((VectorExtrusionLoaderParameters) parameters, |
||
42 | featureStore, vectorLegend); |
||
43 | |||
44 | 759 | llmarques | } |
45 | |||
46 | } |