Package org.eclipse.gef.fx.anchors
Class ProjectionStrategy
java.lang.Object
org.eclipse.gef.fx.anchors.ProjectionStrategy
- All Implemented Interfaces:
IComputationStrategy
- Direct Known Subclasses:
ChopBoxStrategy
,OrthogonalProjectionStrategy
An
IComputationStrategy
that computes anchor position by projecting
the respective anchored reference point to the outline of the anchorage
reference geometry so that the respective point has minimal distance to the
anchored reference point.
In detail, the computation is done as follows:
- Compute the anchorage outlines (in scene) based on the anchorage
reference geometry,using
getOutlineSegments(IGeometry)
. - Transform the given anchored reference point to scene coordinates.
- Project the anchored reference point (in scene) onto the anchorage outlines.
- Return the nearest projection to the anchored reference point.
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.eclipse.gef.fx.anchors.IComputationStrategy
IComputationStrategy.Parameter<T>
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptioncomputePositionInScene
(javafx.scene.Node anchorage, javafx.scene.Node anchored, Set<IComputationStrategy.Parameter<?>> parameters) Computes an anchor position based on the given anchorage visual, anchored visual, and anchored reference point.protected Point
computeProjectionInScene
(List<ICurve> anchorageOutlinesInScene, Point anchoredReferencePointInScene, Set<IComputationStrategy.Parameter<?>> parameters) Computes the anchorage reference position in scene coordinates, based on the given anchorage outlines and the given anchored reference point.getOutlineSegments
(IGeometry geometry) Set<Class<? extends IComputationStrategy.Parameter<?>>>
Returns the types of parameters required by this strategy.
-
Constructor Details
-
ProjectionStrategy
public ProjectionStrategy()
-
-
Method Details
-
computePositionInScene
public Point computePositionInScene(javafx.scene.Node anchorage, javafx.scene.Node anchored, Set<IComputationStrategy.Parameter<?>> parameters) Description copied from interface:IComputationStrategy
Computes an anchor position based on the given anchorage visual, anchored visual, and anchored reference point.- Specified by:
computePositionInScene
in interfaceIComputationStrategy
- Parameters:
anchorage
- The anchorage visual.anchored
- The anchored visual.parameters
- The available computation parameters. strategy.- Returns:
- The anchor position.
-
computeProjectionInScene
protected Point computeProjectionInScene(List<ICurve> anchorageOutlinesInScene, Point anchoredReferencePointInScene, Set<IComputationStrategy.Parameter<?>> parameters) Computes the anchorage reference position in scene coordinates, based on the given anchorage outlines and the given anchored reference point.- Parameters:
anchorageOutlinesInScene
- A list ofICurve
s that describe the outline of the anchorage.anchoredReferencePointInScene
- The referencePoint
of the anchored for which the anchorage referencePoint
is to be determined.parameters
- The parameters available for the computation.- Returns:
- The anchorage reference position.
-
getOutlineSegments
-
getRequiredParameters
Description copied from interface:IComputationStrategy
Returns the types of parameters required by this strategy.- Specified by:
getRequiredParameters
in interfaceIComputationStrategy
- Returns:
- The parameters required by this strategy.
-