public class TLspLabelLocationProvider extends ALspStampLabelLocationProvider
This label location provider offers a set of possible locations based on the cardinal (N, E, S, W) and inter-cardinal (NE, SE, SW, NW) directions.
Modifier and Type | Class and Description |
---|---|
static class |
TLspLabelLocationProvider.Location
Possible locations that are based on the cardinal and inter-cardinal directions.
|
Constructor and Description |
---|
TLspLabelLocationProvider(int aShiftX,
int aShiftY,
double aRotation,
TLspLabelLocationProvider.Location... aLocations)
Creates a new location provider with the given x and y shift, the given possible
TLspLabelLocationProvider.Location s and a
given rotation. |
TLspLabelLocationProvider(int aShiftX,
int aShiftY,
TLspLabelLocationProvider.Location... aLocations)
Creates a new location provider with the given x and y shift, the given possible
TLspLabelLocationProvider.Location s and a
rotation of 0. |
TLspLabelLocationProvider(int aShift,
TLspLabelLocationProvider.Location... aLocations)
Creates a new location provider with the given shift, the given possible
TLspLabelLocationProvider.Location s and a
rotation of 0. |
TLspLabelLocationProvider(TLspLabelLocationProvider.Location... aLocations)
Creates a new location provider with default shift 2, the given possible
TLspLabelLocationProvider.Location s and a rotation of 0. |
Modifier and Type | Method and Description |
---|---|
double |
calculateLocation(int aLocationIndex,
TLspLabelID aLabel,
ILcdPoint aObjectAnchorPoint,
Dimension2D aDimension,
TLspContext aContext,
ILcd3DEditablePoint aUpperLeftPointSFCT)
Returns the rotation and calculates the upper left corner of the bounds for the given domain
object and sublabel ID, given the dimension.
|
boolean |
equals(Object o)
An object is considered equal to this shape if it has the same class.
|
int |
getMaxLocationCount(TLspLabelID aLabel,
TLspPaintState aPaintState,
ILspLabelingAlgorithm.LabelContext aLabelContext,
ILspView aView)
Returns the maximal number of locations to be tried for the given label.
|
int |
hashCode()
The hash code of this shape is the hash code of its class, in order to be consistent with the
ALspStampLabelLocationProvider.equals(Object) method. |
protected boolean |
isValidLocation(TLspLabelID aLabelID,
ILcdPoint aObjectAnchorPoint,
Dimension2D aDimension,
TLspContext aContext,
ILcdPoint aUpperLeftPoint,
double aRotation)
Checks if the given upper left point and rotation are valid.
|
String |
toString() |
getLocation, isValidLocation
public TLspLabelLocationProvider(TLspLabelLocationProvider.Location... aLocations)
Creates a new location provider with default shift 2, the given possible
TLspLabelLocationProvider.Location
s and a rotation of 0.
If no locations are passed, all locations are considered possible.
aLocations
- the possible locationspublic TLspLabelLocationProvider(int aShift, TLspLabelLocationProvider.Location... aLocations)
Creates a new location provider with the given shift, the given possible TLspLabelLocationProvider.Location
s and a
rotation of 0.
If no locations are passed, all locations are considered possible.
aShift
- the label offset (x and y), in pixelsaLocations
- the allowed positionspublic TLspLabelLocationProvider(int aShiftX, int aShiftY, TLspLabelLocationProvider.Location... aLocations)
Creates a new location provider with the given x and y shift, the given possible TLspLabelLocationProvider.Location
s and a
rotation of 0.
If no locations are passed, all locations are considered possible.
aShiftX
- the label x offset, in pixelsaShiftY
- the label y offset, in pixelsaLocations
- the allowed positionspublic TLspLabelLocationProvider(int aShiftX, int aShiftY, double aRotation, TLspLabelLocationProvider.Location... aLocations)
Creates a new location provider with the given x and y shift, the given possible TLspLabelLocationProvider.Location
s and a
given rotation.
If no locations are passed, all locations are considered possible.
aShiftX
- the label x offset, in pixelsaShiftY
- the label y offset, in pixelsaRotation
- the rotation of the labelaLocations
- the allowed positionspublic int getMaxLocationCount(TLspLabelID aLabel, TLspPaintState aPaintState, ILspLabelingAlgorithm.LabelContext aLabelContext, ILspView aView)
ALspLabelLocationProvider
getLocation
method can create the same number of
locations as returned by this method. By default, this method returns 1
.getMaxLocationCount
in class ALspLabelLocationProvider
aLabel
- the label.aPaintState
- the paint state.aLabelContext
- provides context information, such as priorities, PaintState, ...aView
- the view.public double calculateLocation(int aLocationIndex, TLspLabelID aLabel, ILcdPoint aObjectAnchorPoint, Dimension2D aDimension, TLspContext aContext, ILcd3DEditablePoint aUpperLeftPointSFCT) throws TLcdNoBoundsException
ALspStampLabelLocationProvider
calculateLocation
in class ALspStampLabelLocationProvider
aLocationIndex
- the location index, can be a number from 0
to getMaxLocationCount
.aLabel
- the label for which a location should be calculated.aObjectAnchorPoint
- the object anchor point for the given label, in view coordinates.aDimension
- the dimension of the label.aContext
- the context.aUpperLeftPointSFCT
- the point in which the upper left corner of the label bounds should
be stored. The upper left corner of the label should be specified
in view coordinates.TLcdNoBoundsException
- when the rotation or upper left corner could not be calculated.protected boolean isValidLocation(TLspLabelID aLabelID, ILcdPoint aObjectAnchorPoint, Dimension2D aDimension, TLspContext aContext, ILcdPoint aUpperLeftPoint, double aRotation)
ALspStampLabelLocationProvider
calculateLocation
method is capable of producing the given point and
rotation. Labeling algorithms may use this method for previous label locations. I.e. when using
a previous label locations, this method can be used to verify if the previous label location
can be used.
By default, this method returns true
.isValidLocation
in class ALspStampLabelLocationProvider
aLabelID
- the labelaObjectAnchorPoint
- the object anchor point for the given label, in view coordinates.aDimension
- the dimension of the label.aContext
- the context.aUpperLeftPoint
- the upper left corner of the labelaRotation
- the rotationpublic boolean equals(Object o)
ALspStampLabelLocationProvider
equals
in class ALspStampLabelLocationProvider
public int hashCode()
ALspStampLabelLocationProvider
ALspStampLabelLocationProvider.equals(Object)
method. Extensions should refine this implementation, based on their
properties.hashCode
in class ALspStampLabelLocationProvider