public interface ILcdGeoBuffer extends ILcdShape
ILcdGeoBuffer
shape defines a buffer or corridor around a given shape,
adding a fixed width to the shape.
The contour of the buffer is a polygon in which each exterior point lies
at a fixed distance (the width
) from the line segments of the
base shape
.
This requirement does not explicitly hold for the contour at the endings of the base shape
(if it is not closed), which should comply to the end cap style setting returned by
getEndCapStyle()
.
At the joins between two line segments of the base shape, the contour should comply
to the join style returned by getJoinStyle()
.
getWidth()
width}
defines a rectangle. These rectangles are then connected with each other by calculating the intersections
between their edges. In the example we used getEndCapStyle()
of CAP_ROUND
and getJoinStyle()
of JOIN_ROUND
To calculate the contour, the utility method
TLcdEllipsoidUtil.computeBufferContour2D
can be used for an ellipsoidal context and
TLcdCartesian.computeBufferContour2D
for a cartesian context.
In the simplest form, the contour is represented by a single polygon. In cases where the buffer intersects with itself, holes are formed and multiple polygons are used to define the contour.
In future versions, the predefined end cap and join styles may be extended.ILcdVariableGeoBuffer
Modifier and Type | Field and Description |
---|---|
static int |
CAP_BUTT
Specifies a butt (or flat) end cap style.
|
static int |
CAP_ROUND
Specifies a round end cap style.
|
static int |
JOIN_ROUND
Specifies a round join.
|
Modifier and Type | Method and Description |
---|---|
ILcdShape |
getBaseShape()
Returns the base shape of the buffer.
|
int |
getEndCapStyle()
Returns the end cap style of this buffer, which defines
the representation of the contour at the endings of the base shape.
|
int |
getJoinStyle()
Returns the join style for the contour of this buffer, which defines
the representation of the contour at the joins between two line segments
of the base shape.
|
double |
getWidth()
Returns the width of this buffer, expressed in meters and measured
from the line segments of the base shape to the contour.
|
contains2D, contains2D, contains3D, contains3D, getFocusPoint
getBounds
clone
static final int CAP_ROUND
static final int CAP_BUTT
static final int JOIN_ROUND
double getWidth()
int getJoinStyle()
JOIN_ROUND
.int getEndCapStyle()
CAP_ROUND
or CAP_BUTT
.ILcdShape getBaseShape()