Class TLcdHelipad
- All Implemented Interfaces:
ILcdEditableHelipad,ILcdHelipad,ILcdEditableGeoPath,ILcdGeoPath,ILcdDataObject,ILcdBounded,ILcdCurve,ILcdPointList,ILcdPolygon,ILcdRing,ILcdShape,ILcdCloneable,Serializable,Cloneable
- Direct Known Subclasses:
TLcdFeaturedHelipad
ILcdHelipad.
This implementation performs a discretization of the helipad in geodetic coordinates.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final TLcdDataPropertyThe geometry property of the helipad type.static final TLcdDataPropertyThe HelipadType property of the helipad type.static final TLcdDataPropertyThe Length property of the helipad type.static final TLcdDataPropertyThe Width property of the helipad type.Fields inherited from interface com.luciad.shape.ILcdCurve
INTERPOLATION_CIRCLE_BY_3POINTS, INTERPOLATION_CIRCLE_BY_CENTERPOINT, INTERPOLATION_CIRCULARARC_BY_3POINTS, INTERPOLATION_CIRCULARARC_BY_BULGE, INTERPOLATION_CIRCULARARC_BY_CENTERPOINT, INTERPOLATION_ELLIPTICAL, INTERPOLATION_GEODESIC, INTERPOLATION_LINEAR, INTERPOLATION_MIXED, INTERPOLATION_RHUMBFields inherited from interface com.luciad.shape.ILcdPolygon
CLOCKWISE, COUNTERCLOCKWISE, INVALID_ORIENTATION -
Constructor Summary
ConstructorsConstructorDescriptionDeprecated.TLcdHelipad(TLcdHelipad aHelipad) Construct a newTLcdHelipadobject based on an existing one.TLcdHelipad(TLcdDataType aDataType) Creates a new instance for the given type. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddLeg(ILcdGeoPathLeg aLeg) Adds the specified leg to the end of this GeoPath.clone()Returns a clone of thisTLcdHelipadobject.voidcomputePointSFCT(double aV, ILcd3DEditablePoint aILcd3DEditablePoint) Computes a point of the curve, defined by the given parameter.booleancontains2D(double v, double v1) Checks whether thisILcdShapecontains the given point in the 2D space.booleancontains2D(ILcdPoint aPoint) Checks whether thisILcdShapecontains the givenILcdPointin the 2D space.booleancontains3D(double v, double v1, double v2) Checks whether thisILcdShapecontains the given point in the 3D space.booleancontains3D(ILcdPoint aPoint) Checks whether thisILcdShapecontains the givenILcdPointin the 3D space.Returns theILcdBoundsby which the geometry of thisILcdBoundedobject is bounded.Returns the type of this data object.Retrieves the end point of the curve.doubleReturns the angle of the curve's tangent at the end point, in degrees counterclockwise from the direction at 3 o'clock.Returns the focus point of thisILcdShape.Returns the type of this helipad.Returns the interpolation method used by this curve.getLeg(int aIndex) Returns theILcdGeoPathLegat the given index.intReturns the number of legs in thisILcdGeoPath.doubleReturns the length of this helipad.doublegetLength2D(double aV, double aV1) Returns the length between two points of the curve, defined by the given parameters.intgetLineSegmentIntersectionCount(ILcdPoint aILcdPoint, ILcdPoint aILcdPoint1) Returns the number of intersections between this curve and a line segment defined by the two specified points.intReturns the orientation of thisILcdPolygon:ILcdPolygon.CLOCKWISEorILcdPolygon.COUNTERCLOCKWISE.getPoint(int aIndex) Returns theILcdPointat a given index.intReturns the number ofILcdPointobjects in the list.Retrieves the start point of the curve.doubleReturns the angle of the curve's tangent at the start point, in degrees counterclockwise from the direction at 3 o'clock.doublegetTangent2D(double aV) Returns the angle of the curve's tangent in the point defined by the given parameter, in degrees counterclockwise from the direction at 3 o'clock.getValue(TLcdDataProperty aProperty) Returns the value of the given property.Convenience method that returns the value of the property with the given name.doublegetWidth()Returns the width of this helipad.booleanhasValue(TLcdDataProperty aProperty) Indicates whether this data object has a value for the given property.booleanIndicates whether this data object has a value for the given property.voidinsertLegAt(ILcdGeoPathLeg aLeg, int anIndex) Adds aILcdGeoPathLegobject to theILcdEditableGeoPathon the specified index.voidDiscards the geometry cached with this helipad and recalculates it.voidremoveLegAt(int anIndex) Removes theILcdGeoPathLegobject on the specified index from the fromILcdEditableGeoPath.voidsetHelipadType(TLcdHelipadType aHelipadType) Specifies the type of this helipad.voidsetLength(double aLength) Specifies the length of this helipad.voidsetValue(TLcdDataProperty aProperty, Object aValue) Sets the value of the given property for this data object.voidConvenience method that sets the value of the property with the given name.voidsetWidth(double aWidth) Specifies the width of this helipad.Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface com.luciad.shape.ILcdPointList
getPointSFCT, getX, getY, getZ
-
Field Details
-
HELIPAD_TYPE_PROPERTY
The HelipadType property of the helipad type. Values of this property are of typeTLcdHelipadType. -
WIDTH_PROPERTY
The Width property of the helipad type. Values of this property are of typeDouble. -
LENGTH_PROPERTY
The Length property of the helipad type. Values of this property are of typeDouble. -
GEOMETRY_PROPERTY
The geometry property of the helipad type. Values of this property are of typeILcdGeoPath.
-
-
Constructor Details
-
TLcdHelipad
Deprecated.Constructs a newTLcdHelipadobject. -
TLcdHelipad
Construct a newTLcdHelipadobject based on an existing one.- Parameters:
aHelipad- The helipad to copy.
-
TLcdHelipad
Creates a new instance for the given type.- Parameters:
aDataType- the data type of the returned instance- Throws:
IllegalArgumentException- ifTLcdAISDataTypes.Helipadis not assignable from the given data type- Since:
- 10.1
- See Also:
-
-
Method Details
-
getHelipadType
Description copied from interface:ILcdHelipadReturns the type of this helipad.- Specified by:
getHelipadTypein interfaceILcdHelipad- Returns:
- the type
-
getWidth
public double getWidth()Description copied from interface:ILcdHelipadReturns the width of this helipad.- Specified by:
getWidthin interfaceILcdHelipad- Returns:
- the width
-
getLength
public double getLength()Description copied from interface:ILcdHelipadReturns the length of this helipad.- Specified by:
getLengthin interfaceILcdHelipad- Returns:
- the length
-
setHelipadType
Description copied from interface:ILcdEditableHelipadSpecifies the type of this helipad.- Specified by:
setHelipadTypein interfaceILcdEditableHelipad- Parameters:
aHelipadType- a value for the type
-
setWidth
public void setWidth(double aWidth) Description copied from interface:ILcdEditableHelipadSpecifies the width of this helipad.- Specified by:
setWidthin interfaceILcdEditableHelipad- Parameters:
aWidth- a value for the width
-
setLength
public void setLength(double aLength) Description copied from interface:ILcdEditableHelipadSpecifies the length of this helipad.- Specified by:
setLengthin interfaceILcdEditableHelipad- Parameters:
aLength- a value for the length
-
getLegCount
public int getLegCount()Description copied from interface:ILcdGeoPathReturns the number of legs in thisILcdGeoPath.- Specified by:
getLegCountin interfaceILcdGeoPath- Returns:
- The number of legs in this
ILcdGeoPath.
-
getLeg
Description copied from interface:ILcdGeoPathReturns theILcdGeoPathLegat the given index.- Specified by:
getLegin interfaceILcdGeoPath- Parameters:
aIndex- an index.- Returns:
- The
ILcdGeoPathLegat the given index.
-
addLeg
Description copied from interface:ILcdEditableGeoPathAdds the specified leg to the end of this GeoPath.- Specified by:
addLegin interfaceILcdEditableGeoPath- Parameters:
aLeg- anILcdGeoPathLeg
-
insertLegAt
Description copied from interface:ILcdEditableGeoPathAdds aILcdGeoPathLegobject to theILcdEditableGeoPathon the specified index.- Specified by:
insertLegAtin interfaceILcdEditableGeoPath- Parameters:
aLeg- theILcdGeoPathLegobject to be added to theILcdEditableGeoPath.anIndex- the index in theILcdEditableAirspacewhere theILcdAirspaceSegmentobject must be added.
-
removeLegAt
public void removeLegAt(int anIndex) Description copied from interface:ILcdEditableGeoPathRemoves theILcdGeoPathLegobject on the specified index from the fromILcdEditableGeoPath.- Specified by:
removeLegAtin interfaceILcdEditableGeoPath- Parameters:
anIndex- the index in theILcdEditableGeoPathwhere theILcdGeoPathLegobject must be removed.
-
getBounds
Description copied from interface:ILcdBoundedReturns theILcdBoundsby which the geometry of thisILcdBoundedobject is bounded.If the geometry does not allow retrieving valid bounds (for example a polyline with 0 points) the return value is unspecified. It is highly recommended to return an
undefinedbounds. You can create undefined bounds using the default constructors ofTLcdLonLatBoundsorTLcdXYBounds.- Specified by:
getBoundsin interfaceILcdBounded- Returns:
- the
ILcdBoundsby which the geometry of thisILcdBoundedobject is bounded.
-
getFocusPoint
Description copied from interface:ILcdShapeReturns the focus point of thisILcdShape.- Specified by:
getFocusPointin interfaceILcdShape- Returns:
- the focus point of this
ILcdShape.
-
contains2D
Description copied from interface:ILcdShapeChecks whether thisILcdShapecontains the givenILcdPointin the 2D space. Only the first two dimensions of theILcdShapeand theILcdPointare considered.- Specified by:
contains2Din interfaceILcdShape- Parameters:
aPoint- theILcdPointto test.- Returns:
- the boolean result of the containment test.
- See Also:
-
contains2D
public boolean contains2D(double v, double v1) Description copied from interface:ILcdShapeChecks whether thisILcdShapecontains the given point in the 2D space. Only the first two dimensions of theILcdShapeare considered.- Specified by:
contains2Din interfaceILcdShape- Parameters:
v- the x coordinate of the point.v1- the y coordinate of the point.- Returns:
- the boolean result of the containment test.
-
contains3D
Description copied from interface:ILcdShapeChecks whether thisILcdShapecontains the givenILcdPointin the 3D space.- Specified by:
contains3Din interfaceILcdShape- Parameters:
aPoint- theILcdPointto test.- Returns:
- the boolean result of the containment test.
- See Also:
-
contains3D
public boolean contains3D(double v, double v1, double v2) Description copied from interface:ILcdShapeChecks whether thisILcdShapecontains the given point in the 3D space.- Specified by:
contains3Din interfaceILcdShape- Parameters:
v- the x coordinate of the point.v1- the y coordinate of the point.v2- the z coordinate of the point.- Returns:
- the boolean result of the containment test.
-
clone
Returns a clone of thisTLcdHelipadobject. Note: the features of the new object are a shallow clone of the features of this object.- Specified by:
clonein interfaceILcdCloneable- Overrides:
clonein classObject- Returns:
- a clone of this
TLcdHelipadobject. - See Also:
-
getOrientation
public int getOrientation()Description copied from interface:ILcdPolygonReturns the orientation of thisILcdPolygon:ILcdPolygon.CLOCKWISEorILcdPolygon.COUNTERCLOCKWISE.- Specified by:
getOrientationin interfaceILcdPolygon- Returns:
- the orientation of this
ILcdPolygon:ILcdPolygon.CLOCKWISEorILcdPolygon.COUNTERCLOCKWISE. This method should not returnINVALID_ORIENTATION, which is only to be used for resetting the orientation so that it can be recalculated.
-
getPointCount
public int getPointCount()Description copied from interface:ILcdPointListReturns the number ofILcdPointobjects in the list.- Specified by:
getPointCountin interfaceILcdPointList- Returns:
- the number of
ILcdPointobjects in the list.
-
getPoint
Description copied from interface:ILcdPointListReturns theILcdPointat a given index.- Specified by:
getPointin interfaceILcdPointList- Parameters:
aIndex- a valid index in the list ofILcdPointobjects.- Returns:
- the
ILcdPointat the given index. - Throws:
IndexOutOfBoundsException- if the given index is out of bounds.
-
invalidate
public void invalidate()Discards the geometry cached with this helipad and recalculates it. Whenever this is done, the ILcdModel containing this helipad should be notified by means of a call to elementChanged()! -
getDataType
Description copied from interface:ILcdDataObjectReturns the type of this data object. This can never benull.- Specified by:
getDataTypein interfaceILcdDataObject- Returns:
- the type of this data object
-
getValue
Description copied from interface:ILcdDataObjectReturns the value of the given property.
If the property is a collection, the returned value will never be null. If the property has not been set, an empty collection of the appropriate type will be returned (Set, List or Map).
The property must not be null, and must be declared in the
data object's typeor in one of its super types. Otherwise anIllegalArgumentExceptionis thrown.- Specified by:
getValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which the value is to be returned- Returns:
- the value of the given property for this data object
-
getValue
Description copied from interface:ILcdDataObjectConvenience method that returns the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.getValue(TLcdDataProperty)for more information.- Specified by:
getValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property of which the value is to be returned- Returns:
- the value of the property with the given name
- See Also:
-
setValue
Description copied from interface:ILcdDataObjectSets the value of the given property for this data object. The implementation is allowed to throw an exception if the given value can't be set.
The given property must be declared in thedata object's typeor in one of its super types. In other words, getDataType().getProperties().contains( aProperty ) should always be true. Otherwise, the implementation should throw anIllegalArgumentException.- Specified by:
setValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which the value is to be setaValue- the value to set- See Also:
-
setValue
Description copied from interface:ILcdDataObjectConvenience method that sets the value of the property with the given name.
If more than one property exists with the given name, the most specific property should be used (this is the property defined by the most specialized type in this object's data type hierarchy). SeeILcdDataObject.setValue(TLcdDataProperty, Object)for more information.- Specified by:
setValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property of which the value is to be setaValue- the value to set
-
hasValue
Description copied from interface:ILcdDataObjectIndicates whether this data object has a value for the given property.aPropertyis from theright data type, and this instance has a value for it: returnstrueaPropertyis from theright data type, and this instance has no value for it: returnsfalseaPropertyis not from theright data type: not allowed, you will get IllegalArgumentExceptionaPropertyisnull: not allowed, you will get NullPointerException
- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aProperty- the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the given property,falseotherwise.
-
hasValue
Description copied from interface:ILcdDataObjectIndicates whether this data object has a value for the given property.
SeeILcdDataObject.hasValue(TLcdDataProperty)for more information.- Specified by:
hasValuein interfaceILcdDataObject- Parameters:
aPropertyName- the name of the property for which to return whether a value is present or not.- Returns:
trueif this data object has a value for the property with the given name,falseotherwise.
-
getStartPoint
Description copied from interface:ILcdCurveRetrieves the start point of the curve.This is equivalent to
computePointSFCT(0).- Specified by:
getStartPointin interfaceILcdCurve- Returns:
- the start point of the curve
-
getEndPoint
Description copied from interface:ILcdCurveRetrieves the end point of the curve.This is equivalent to
computePointSFCT(1).- Specified by:
getEndPointin interfaceILcdCurve- Returns:
- the end point of the curve
-
getStartTangent2D
public double getStartTangent2D()Description copied from interface:ILcdCurveReturns the angle of the curve's tangent at the start point, in degrees counterclockwise from the direction at 3 o'clock.The tangent orientation is from the start point towards the rest of the shape.
This is the same as
getTangent2D(0).- Specified by:
getStartTangent2Din interfaceILcdCurve- Returns:
- the curve's angle in the start point
-
getEndTangent2D
public double getEndTangent2D()Description copied from interface:ILcdCurveReturns the angle of the curve's tangent at the end point, in degrees counterclockwise from the direction at 3 o'clock.The tangent orientation is from the end point, away from the curve before it.
This is the same as
getTangent2D(1).- Specified by:
getEndTangent2Din interfaceILcdCurve- Returns:
- the curve's angle in the end point
-
getTangent2D
public double getTangent2D(double aV) Description copied from interface:ILcdCurveReturns the angle of the curve's tangent in the point defined by the given parameter, in degrees counterclockwise from the direction at 3 o'clock.The tangent orientation is from the point at parameter
aParamtowards the rest of the shape.- The tangent at parameter 0 is the same as
ILcdCurve.getStartTangent2D(). - The tangent at parameter 1 is the same as
ILcdCurve.getEndTangent2D().
- Specified by:
getTangent2Din interfaceILcdCurve- Parameters:
aV- a value of the closed interval [0,1]- Returns:
- the curve's angle in the point defined by the given parameter
- The tangent at parameter 0 is the same as
-
getLength2D
public double getLength2D(double aV, double aV1) Description copied from interface:ILcdCurveReturns the length between two points of the curve, defined by the given parameters.- When
aParam1 == aParam2, the length is 0. - When
aParam1 == 0 and aParam2 == 1, the length is the whole length of the curve. - When
aParam1 > aParam2, the length is (aParam1 to 1) + (0 to aParam2).
- Specified by:
getLength2Din interfaceILcdCurve- Parameters:
aV- a value of the closed interval [0,1]aV1- a value of the closed interval [0,1]- Returns:
- the length of the curve.
- When
-
computePointSFCT
Description copied from interface:ILcdCurveComputes a point of the curve, defined by the given parameter.- At parameter 0, the point is the same as
ILcdCurve.getStartPoint(). - At parameter 1, the point is the same as
ILcdCurve.getEndPoint().
- Specified by:
computePointSFCTin interfaceILcdCurve- Parameters:
aV- a value of the closed interval [0,1]aILcd3DEditablePoint- the point to store the computed curve point in
- At parameter 0, the point is the same as
-
getInterpolation
Description copied from interface:ILcdCurveReturns the interpolation method used by this curve.A set of predefined constants are defined in this interface, which are used by the default
ILcdCurveimplementations provided by LuciadLightspeed.Custom implementations can define their own constants, and use them to interpret the interpolation of the curve.
- Specified by:
getInterpolationin interfaceILcdCurve- Returns:
- the interpolation method used by this curve.
-
getLineSegmentIntersectionCount
Description copied from interface:ILcdCurveReturns the number of intersections between this curve and a line segment defined by the two specified points.This information can be used to perform containment calculations, if this curve is closed or if this curve is part of a composite closed curve. By determining the number of intersections between this curve and a line segment starting from a given point in a fixed direction, one can determine whether a point is located within the closed curve by using the even-odd rule.
- Specified by:
getLineSegmentIntersectionCountin interfaceILcdCurve- Parameters:
aILcdPoint- the first point of the line segmentaILcdPoint1- the second point of the line segment- Returns:
- the number of intersections between the curve and the line segment
-
TLcdHelipad(TLcdDataType)