Package com.luciad.ais.model.procedure
Interface ILcdProcedureGeometryHandler
public interface ILcdProcedureGeometryHandler
Interface for a class that handles a procedure's geometry.
Attributes and relationships in AIS domain objects can be required or optional. When unspecified, an attribute or relationship is optional. Note that most optional attributes are modeled using features.
In future releases of AIS, optional attributes or relationship may be added to this interface. When this would happen, existing implementations may just return a specified default value for these new attributes or relationships (for instance 'null'). This will require a minimal effort to update existing code to a new version of AIS.
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
beginAngleArc
(ILcdPoint aCenter, double aRadius, double aStartAngle, double aArcAngle, double aBeginHeight, double aEndHeight, TLcdProcedureGeometryType aType) Marks the start of an arc.void
beginProcedure
(ILcdProcedure aProcedure) Called to mark the beginning of the given procedure.void
Called to mark the end of one procedure leg and the beginning of the next.void
Marks the end of a discretized arc.void
Called to mark the end of the current procedure.void
handleArcSegment
(ILcdPoint aP1, ILcdPoint aP2, int aIndex, int aNumSegments, TLcdProcedureGeometryType aType) Handle a single segment of a discretized arc.void
handleLine
(ILcdPoint aStartPoint, ILcdPoint aEndPoint, TLcdProcedureGeometryType aType) Handle a line segment defined by two points.void
handlePoint
(ILcdPoint aPoint, TLcdProcedureGeometryType aType) Handle the given point.
-
Method Details
-
handlePoint
Handle the given point.- Parameters:
aPoint
- Point to handle.aType
-
-
handleLine
Handle a line segment defined by two points.- Parameters:
aStartPoint
- The starting point of the line.aEndPoint
- The ending point of the line.aType
-
-
beginAngleArc
void beginAngleArc(ILcdPoint aCenter, double aRadius, double aStartAngle, double aArcAngle, double aBeginHeight, double aEndHeight, TLcdProcedureGeometryType aType) Marks the start of an arc. Arcs are automatically discretized by the geometry calculator, and a call to beginAngleArc() will always be followed by one or more calls to handleArcSegment() and a call to endAngleArc().- Parameters:
aCenter
-aRadius
-aStartAngle
-aArcAngle
-
-
handleArcSegment
void handleArcSegment(ILcdPoint aP1, ILcdPoint aP2, int aIndex, int aNumSegments, TLcdProcedureGeometryType aType) Handle a single segment of a discretized arc.- Parameters:
aP1
- The start point of the segment.aP2
- The end point of the segment.aIndex
- The index number of this segment.aNumSegments
- The total number of segments in the arc.aType
- The geometry type.
-
endAngleArc
void endAngleArc()Marks the end of a discretized arc. -
beginProcedureLeg
Called to mark the end of one procedure leg and the beginning of the next. Note that "beginning" and "end" are relative terms, because the legs will be connected to each other with a smooth transition. Applications that want to usebeginProcedureLeg()
, e.g. to decide on label positioning, will typically want to consider only the geometry of typeNORMAL
, and disregard connectors and decorations.- Parameters:
aLeg
- TheILcdProcedureLeg
about to be processed.
-
beginProcedure
Called to mark the beginning of the given procedure.- Parameters:
aProcedure
- AnILcdProcedure
.
-
endProcedure
void endProcedure()Called to mark the end of the current procedure.
-