public interface NFEManipulator
| Modifier and Type | Method and Description |
|---|---|
void |
applyFeatureClass(NFEFeature feature,
NFEFeatureClass featClass)
Enforces all the attribute constraints defined in the feature class to the given feature
|
NFEFeature |
createFeature(NFEFeatureClass featClass)
Creates an empty Feature (with no Feature Element) of the specified Feature Class
|
NFEFeature |
createLineFeature(NFEFeatureClass featClass,
JGeometry lineGeom,
boolean enforceRules,
double tolerance)
Creates a new line feature and its corresponding feature element(s) and
network elements.
|
NFEFeatureElement |
createLineFeatureElement(NFELink link,
double startPos,
double endPos,
long featureLayerId,
long sequence)
Creates a new feature containing one line feature element.
|
NFELink |
createLink(NFENode startNode,
NFENode endNode)
Creates a new link.
|
NFELink |
createLink(NFENode startNode,
NFENode endNode,
JGeometry geom)
Creates a new link.
|
NFENode |
createNode(double[] pointOrds)
Creates a new node.
|
NFENode |
createNode(JGeometry geom)
Creates a new node.
|
NFEFeature |
createPointFeature(NFEFeatureClass featClass,
JGeometry pointGeom,
boolean enforceRules,
double tolerance)
Creates a new feature of the given feature class, containing only a PON feature element and its corresponding node.
|
NFEFeatureElement |
createPOLFeatureElement(NFELink link,
double pos,
long featureLayerId,
long sequence)
Creates a new feature containing one PointOnLink feature element.
|
NFEFeatureElement |
createPONFeatureElement(NFENode node,
long featureLayerId,
long sequence)
Creates a new feature containing one PointOnNode feature element.
|
java.util.List<NFEFeature> |
createPredefinedConnectedPointFeatures(java.util.Collection<NFEPredefinedConnectedPoint> predefConnPoints,
JGeometry lineGeom)
Creates the predefined points defined in the line feature class along a
line geometry using the predefined points position percentages.
|
NFEFeature |
createStandalonePointFeature(NFEFeatureClass featClass,
JGeometry pointGeom)
Creates a new feature of the given feature class, containing only a PON feature element and its corresponding node.
|
void |
enforceRules(java.util.Collection<NFEFeatureElement> featElems,
double tolerance)
Detect interactions and enforces rules if needed for the given feature elements
|
java.util.Collection<NFEFeatureElement> |
getAdjacentFeatureElements(NFEFeatureElement featElem,
int depth)
Gets all the feature elements connected to the given feature element
|
NFEConnectionManager |
getConnectionManager()
Gets the connection manager used by the current NFEModel
|
NFEInteractionEngine |
getInteractionEngine()
Gets the current interaction engine instance
|
NFERulesEngine |
getRulesEngine()
Gets the rules engine instance that is currently used by the model
|
boolean |
isAllowedPoint(double x,
double y)
Tells whether a point is inside the boundaries defined by the model.
|
boolean |
isAllowedPoint(java.awt.geom.Point2D point)
Tells whether a point is inside the boundaries defined by the model.
|
boolean |
isAllowedRectangle(double x,
double y,
double w,
double h)
Tells whether a rectangle is inside the boundaries defined by the model.
|
boolean |
isAllowedRectangle(java.awt.geom.Rectangle2D rectangle)
Tells whether a rectangle is inside the boundaries defined by the model.
|
boolean |
isValidPoint(double x,
double y)
Returns true if the point location is valid, false otherwise.
|
NFEFeatureElement |
moveFeatureElementToNetworkElement(NFEFeatureElement featElem,
NFENetworkElement destNetElem,
double destStartPos)
Changes a feature element's underlying network element
|
java.util.Collection<NFENetworkElement> |
removedDanglingNetworkElements(NFENetworkElement fromNetElem)
Removes any dangling network element connected to the given network element (including the passed network element if it is itself a dangling element).
|
boolean |
removeFeature(NFEFeature feature)
Removes a feature from the model along with its feature elements and network elements
|
boolean |
removeFeatureElement(NFEFeatureElement featElem)
Removes a feature element from its feature along with the network element where the feature element is placed.
|
void |
reverseLineFeatureDirection(NFEFeature lineFeature)
Reverse the direction of all the links containing feature elements of the given feature
|
void |
reverseLinkDirection(NFELink link)
Changes the direction of a link by changing the order of its line ordinates
|
void |
setFeatureActive(NFEFeature feature,
boolean active)
Sets the feature's active property
|
void |
setFeatureBidirected(NFEFeature feature,
boolean bidirected)
Sets whether a feature is bidirected or not
|
void |
setNetworkElementGeometry(NFENetworkElement netElem,
JGeometry newGeom)
Sets a new geometry to the specified network element.
|
void |
setNetworkElementsGeometries(NFENetworkElement[] netElems,
JGeometry[] newGeoms,
boolean enforceRules,
double tolerance)
Changes geometries to a group of network elements.
|
void |
updateLinkGeometry(NFELink link)
Updates the link's geometry to reflect the position of its start and end
points.
|
NFEConnectionManager getConnectionManager()
NFEInteractionEngine getInteractionEngine()
boolean isAllowedPoint(java.awt.geom.Point2D point)
point - a java point instanceboolean isAllowedPoint(double x,
double y)
x - the point's x ordinatey - the point's y ordinateboolean isAllowedRectangle(java.awt.geom.Rectangle2D rectangle)
rectangle - a java rectangle instanceboolean isAllowedRectangle(double x,
double y,
double w,
double h)
x - the rectangle's lower left corner x ordinatey - the rectangle's lower left corner y ordinatew - the rectangle's widthh - the rectangle's heightboolean isValidPoint(double x,
double y)
x - the x of the pointy - the y of the pointjava.util.Collection<NFENetworkElement> removedDanglingNetworkElements(NFENetworkElement fromNetElem)
fromNetElem - the network element from where the search beginsvoid reverseLinkDirection(NFELink link)
link - a link instancevoid setNetworkElementGeometry(NFENetworkElement netElem, JGeometry newGeom)
netElem - the network which geometry will be changednewGeom - the new network element's geometryvoid setNetworkElementsGeometries(NFENetworkElement[] netElems, JGeometry[] newGeoms, boolean enforceRules, double tolerance)
netElems - An array of network elements which geometries will be changednewGeoms - An array of new geometries. The length of this array must be equal than the netElems array.enforceRules - if true, rules will be executed for the changed elementstolerance - tolerance used for detecting interactions if rules are enforcedboolean removeFeature(NFEFeature feature)
feature - a feature instanceboolean removeFeatureElement(NFEFeatureElement featElem)
featElem - a feature element instancevoid applyFeatureClass(NFEFeature feature, NFEFeatureClass featClass)
feature - a feature instancefeatClass - a feature class instancevoid setFeatureActive(NFEFeature feature, boolean active)
feature - a feature instanceactive - the active property valuevoid setFeatureBidirected(NFEFeature feature, boolean bidirected)
feature - a feature instancebidirected - true for bidirectedvoid reverseLineFeatureDirection(NFEFeature lineFeature)
lineFeature - a line feature instanceNFEFeatureElement moveFeatureElementToNetworkElement(NFEFeatureElement featElem, NFENetworkElement destNetElem, double destStartPos)
featElem - the feature element to be modifieddestNetElem - the new underlying network elementdestStartPos - destination start position (in percent)void updateLinkGeometry(NFELink link)
link - a link instanceNFEFeature createFeature(NFEFeatureClass featClass)
featClass - A Feature Class instance. It is expected to be a well formed instance, containing a reference to the Feature Layer it belongs to.NFEFeature createPointFeature(NFEFeatureClass featClass, JGeometry pointGeom, boolean enforceRules, double tolerance)
featClass - a point feature class instancepointGeom - a java point instanceenforceRules - if true, rules will be executed for this new point featuretolerance - tolerance used for detecting interactions if rules are enforcedNFEFeature createStandalonePointFeature(NFEFeatureClass featClass, JGeometry pointGeom)
featClass - a point feature classpointGeom - a java point instanceNFEFeature createLineFeature(NFEFeatureClass featClass, JGeometry lineGeom, boolean enforceRules, double tolerance)
featClass - a line feature classlineGeom - a line string geometryenforceRules - whether rules must be enforced after creating the featuretolerance - tolerance used for detecting interactions if rules are enforcedjava.util.List<NFEFeature> createPredefinedConnectedPointFeatures(java.util.Collection<NFEPredefinedConnectedPoint> predefConnPoints, JGeometry lineGeom)
predefConnPoints - a collection predefined connected point descriptorslineGeom - the line geometry where the points will be placedjava.util.Collection<NFEFeatureElement> getAdjacentFeatureElements(NFEFeatureElement featElem, int depth)
featElem - a feature elementdepth - for how many levels connected elements must be retrievedNFENode createNode(double[] pointOrds)
pointOrds - a point ordinates.NFENode createNode(JGeometry geom)
geom - a point geometryNFELink createLink(NFENode startNode, NFENode endNode)
startNode - the link's start node. The node must exist in the network.endNode - the link's end node. The node must exist in the network.NFELink createLink(NFENode startNode, NFENode endNode, JGeometry geom)
startNode - the link's start node. The node must exist in the network.endNode - the link's end node. The node must exist in the network.geom - a line string geometryNFEFeatureElement createPONFeatureElement(NFENode node, long featureLayerId, long sequence)
node - the underlying nodefeatureLayerId - the ID of feature Layer where the feature belongssequence - the feature element's sequence numberNFEFeatureElement createPOLFeatureElement(NFELink link, double pos, long featureLayerId, long sequence)
link - the underlying linkpos - position of the POL feature element. Relative to the link's lengthfeatureLayerId - the ID of feature Layer where the feature belongssequence - the feature element's sequence numberNFEFeatureElement createLineFeatureElement(NFELink link, double startPos, double endPos, long featureLayerId, long sequence)
link - the underlying linkstartPos - start position of the line feature element. Relative to the link's lengthendPos - end position of the line feature element. Relative to the link's lengthfeatureLayerId - the ID of the feature layer the feature belongssequence - the feature element's sequence numberNFERulesEngine getRulesEngine()
void enforceRules(java.util.Collection<NFEFeatureElement> featElems, double tolerance)
featElems - a collection of feature elementstolerance - tolerance use for detecting interactions