Revision 18995 trunk/libraries/libTopology/src/org/gvsig/topology/topologyrules/jtsisvalidrules/MultiPolygonMustNotHaveNestedShells.java
MultiPolygonMustNotHaveNestedShells.java | ||
---|---|---|
54 | 54 |
import org.gvsig.topology.Topology; |
55 | 55 |
import org.gvsig.topology.TopologyError; |
56 | 56 |
import org.gvsig.topology.TopologyRuleDefinitionException; |
57 |
import org.gvsig.topology.topologyrules.JtsValidRule; |
|
57 | 58 |
|
58 | 59 |
import com.hardcode.gdbms.driver.exceptions.ReadDriverException; |
59 | 60 |
import com.iver.cit.gvsig.fmap.core.FPoint2D; |
... | ... | |
73 | 74 |
|
74 | 75 |
public class MultiPolygonMustNotHaveNestedShells extends AbstractTopologyRule { |
75 | 76 |
|
77 |
JtsValidRule parentRule; |
|
78 |
|
|
79 |
public JtsValidRule getParentRule() { |
|
80 |
return parentRule; |
|
81 |
} |
|
82 |
|
|
83 |
public void setParentRule(JtsValidRule parentRule) { |
|
84 |
this.parentRule = parentRule; |
|
85 |
} |
|
86 |
|
|
76 | 87 |
public MultiPolygonMustNotHaveNestedShells(Topology topology, |
77 | 88 |
FLyrVect originLyr) { |
78 | 89 |
super(topology, originLyr); |
... | ... | |
144 | 155 |
if (p.getNumInteriorRing() <= 0) { |
145 | 156 |
FPoint2D point = new FPoint2D(shellPt.x, shellPt.y); |
146 | 157 |
IGeometry errorGeometry = ShapeFactory.createGeometry(point); |
158 |
AbstractTopologyRule violatedRule = null; |
|
159 |
if(this.parentRule != null) |
|
160 |
violatedRule = parentRule; |
|
161 |
else |
|
162 |
violatedRule = this; |
|
147 | 163 |
TopologyError topologyError = |
148 |
new TopologyError(errorGeometry,this, feature, topology);
|
|
164 |
new TopologyError(errorGeometry,violatedRule, feature, topology);
|
|
149 | 165 |
addTopologyError(topologyError); |
150 | 166 |
} |
151 | 167 |
|
... | ... | |
164 | 180 |
} |
165 | 181 |
FPoint2D point = new FPoint2D(badNestedPt.x, badNestedPt.y); |
166 | 182 |
IGeometry errorGeometry = ShapeFactory.createGeometry(point); |
183 |
AbstractTopologyRule violatedRule = null; |
|
184 |
if(this.parentRule != null) |
|
185 |
violatedRule = parentRule; |
|
186 |
else |
|
187 |
violatedRule = this; |
|
167 | 188 |
TopologyError error = |
168 |
new TopologyError(errorGeometry, this, feature, topology);
|
|
189 |
new TopologyError(errorGeometry, violatedRule, feature, topology);
|
|
169 | 190 |
addTopologyError(error); |
170 | 191 |
} |
171 | 192 |
|
Also available in: Unified diff