2023.1.14

• All Known Implementing Classes:
TLcdGeneralPath

`public interface ILcdGeneralPath`
`ILcdGeneralPath` is an interface defining a general path in world coordinates. Such a path is generally used as support for converting and caching polygons and polylines. A path contains 0 or more subpaths. A subpath contains 0 or more points. Each subpath is terminated by a line break, a polygon break, or a polygon closure.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`void` `breakLine()`
Appends a line break to the path.
`void` `breakPolygon()`
Appends a polygon break to the path.
`void` `calculateWorldBoundsSFCT(ILcd2DEditableBounds aBoundsSFCT)`
Returns a bounding box of this `ILcdGeneralPath` (in world coordinates) in the side effect parameter `aBoundsSFCT`.
`void` `closePolygon()`
Closes the current polygon.
`double` ```getX(int aSubpathIndex, int aPointIndex)```
`double` ```getY(int aSubpathIndex, int aPointIndex)```
`void` ```lineTo(double aX, double aY)```
Appends a line to the world point `(aX, aY)`.
`void` ```moveTo(double aX, double aY)```
Breaks the current line and moves to the world point `(aX, aY)`.
`boolean` ```polygonContains(double aX, double aY)```
Checks whether the given point is contained by the polygon represented by this `ILcdGeneralPath`.
`void` `reset()`
Resets the path.
`boolean` `subPathBreaksLine(int aSubpathIndex)`
`boolean` `subPathBreaksPolygon(int aSubpathIndex)`
`boolean` `subPathClosesPolygon(int aSubpathIndex)`
`int` `subPathCount()`
`int` `subPathLength(int aSubpathIndex)`
• ### Method Detail

• #### moveTo

```void moveTo(double aX,
double aY)```
Breaks the current line and moves to the world point `(aX, aY)`.
• #### lineTo

```void lineTo(double aX,
double aY)```
Appends a line to the world point `(aX, aY)`.
• #### reset

`void reset()`
Resets the path. The path becomes empty, containing no subpaths and thus no points.
• #### breakLine

`void breakLine()`
Appends a line break to the path. Subsequent points will define a new polyline. The points will continue to define the same current polygon, however. For example, when a polygon in a model is represented by more than 1 polygon in world coordinates. This is possible in some projections where the polygon is at the edge of the projection and wraps around to the other edge.
• #### breakPolygon

`void breakPolygon()`
Appends a polygon break to the path. Subsequent points will define a detached polygonal piece of the current polygon.
• #### closePolygon

`void closePolygon()`
Closes the current polygon. Subsequent points will define a new polygon or hole.
• #### subPathCount

`int subPathCount()`
Returns:
the number of subpaths.
• #### subPathLength

`int subPathLength(int aSubpathIndex)`
Returns:
the length of the subpath at the given index.
• #### subPathBreaksLine

`boolean subPathBreaksLine(int aSubpathIndex)`
Returns:
whether the subpath at the given index represents a broken line.
• #### subPathBreaksPolygon

`boolean subPathBreaksPolygon(int aSubpathIndex)`
Returns:
whether the subpath at the given index represents a broken part of a polygon.
• #### subPathClosesPolygon

`boolean subPathClosesPolygon(int aSubpathIndex)`
Returns:
whether the subpath at the given index represents a closing part of a polygon.
• #### getX

```double getX(int aSubpathIndex,
int aPointIndex)```
Returns:
the x coordinate of the subpath point at the given indices.
• #### getY

```double getY(int aSubpathIndex,
int aPointIndex)```
Returns:
the y coordinate of the subpath point at the given indices.
• #### calculateWorldBoundsSFCT

```void calculateWorldBoundsSFCT(ILcd2DEditableBounds aBoundsSFCT)
throws TLcdNoBoundsException```
Returns a bounding box of this `ILcdGeneralPath` (in world coordinates) in the side effect parameter `aBoundsSFCT`.
Throws:
`TLcdNoBoundsException` - if no bounds are available
• #### polygonContains

```boolean polygonContains(double aX,
double aY)```
Checks whether the given point is contained by the polygon represented by this `ILcdGeneralPath`.