Revision 18995 trunk/libraries/libTopology/src/org/gvsig/topology/topologyrules/jtsisvalidrules/PolygonMustHaveConnectedInterior.java
PolygonMustHaveConnectedInterior.java | ||
---|---|---|
56 | 56 |
import org.gvsig.topology.TopologyError; |
57 | 57 |
import org.gvsig.topology.TopologyRuleDefinitionException; |
58 | 58 |
import org.gvsig.topology.WrongLyrForTopologyException; |
59 |
import org.gvsig.topology.topologyrules.JtsValidRule; |
|
59 | 60 |
|
60 | 61 |
import com.hardcode.gdbms.driver.exceptions.ReadDriverException; |
61 | 62 |
import com.iver.cit.gvsig.fmap.core.FPoint2D; |
... | ... | |
85 | 86 |
*/ |
86 | 87 |
public class PolygonMustHaveConnectedInterior extends AbstractTopologyRule { |
87 | 88 |
|
89 |
JtsValidRule parentRule; |
|
90 |
|
|
88 | 91 |
public PolygonMustHaveConnectedInterior(Topology topology, |
89 | 92 |
FLyrVect originLyr) { |
90 | 93 |
super(topology, originLyr); |
... | ... | |
145 | 148 |
Coordinate coord = cit.getCoordinate(); |
146 | 149 |
FPoint2D pt = new FPoint2D(coord.x, coord.y); |
147 | 150 |
IGeometry geometry = ShapeFactory.createGeometry(pt); |
151 |
AbstractTopologyRule violatedRule = null; |
|
152 |
if(this.parentRule != null) |
|
153 |
violatedRule = parentRule; |
|
154 |
else |
|
155 |
violatedRule = this; |
|
148 | 156 |
TopologyError error = |
149 |
new TopologyError(geometry, this, feature, topology);
|
|
157 |
new TopologyError(geometry, violatedRule, feature, topology);
|
|
150 | 158 |
addTopologyError(error); |
151 | 159 |
} |
152 | 160 |
}catch(TopologyException e){ |
153 | 161 |
//In unit tests JTS has throwed this exception POLYGON ((440 260, 500 300, 660 300, 600 200, 440 260, 440 260), (440 260, 600 200, 660 300, 500 300, 440 260)) |
154 | 162 |
e.printStackTrace(); |
163 |
AbstractTopologyRule violatedRule = null; |
|
164 |
if(this.parentRule != null) |
|
165 |
violatedRule = parentRule; |
|
166 |
else |
|
167 |
violatedRule = this; |
|
155 | 168 |
TopologyError error = |
156 |
new TopologyError(feature.getGeometry(), this, feature, topology);
|
|
169 |
new TopologyError(feature.getGeometry(), violatedRule, feature, topology);
|
|
157 | 170 |
addTopologyError(error); |
158 | 171 |
|
159 | 172 |
} |
160 | 173 |
} |
174 |
|
|
175 |
public JtsValidRule getParentRule() { |
|
176 |
return parentRule; |
|
177 |
} |
|
178 |
|
|
179 |
public void setParentRule(JtsValidRule parentRule) { |
|
180 |
this.parentRule = parentRule; |
|
181 |
} |
|
161 | 182 |
} |
Also available in: Unified diff