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
public class ProjectionStrategy extends java.lang.Object implements IComputationStrategy
AnIComputationStrategy
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
Constructors Constructor Description ProjectionStrategy()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Point
computePositionInScene(javafx.scene.Node anchorage, javafx.scene.Node anchored, java.util.Set<IComputationStrategy.Parameter<?>> parameters)
Computes an anchor position based on the given anchorage visual, anchored visual, and anchored reference point.protected Point
computeProjectionInScene(java.util.List<ICurve> anchorageOutlinesInScene, Point anchoredReferencePointInScene, java.util.Set<IComputationStrategy.Parameter<?>> parameters)
Computes the anchorage reference position in scene coordinates, based on the given anchorage outlines and the given anchored reference point.protected java.util.List<ICurve>
getOutlineSegments(IGeometry geometry)
java.util.Set<java.lang.Class<? extends IComputationStrategy.Parameter<?>>>
getRequiredParameters()
Returns the types of parameters required by this strategy.
-
-
-
Method Detail
-
computePositionInScene
public Point computePositionInScene(javafx.scene.Node anchorage, javafx.scene.Node anchored, java.util.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(java.util.List<ICurve> anchorageOutlinesInScene, Point anchoredReferencePointInScene, java.util.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.
-
getRequiredParameters
public java.util.Set<java.lang.Class<? extends IComputationStrategy.Parameter<?>>> 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.
-
-