public final class ExtrudedPolylineTriangulator extends Object
Modifier and Type | Method and Description |
---|---|
static ExtrudedPolylineTriangulatorResult |
compute(CentralBody centralBody,
Iterable<Cartesian> positions,
double bottomAltitude,
double topAltitude)
Computes an extrusion of
positions on the specified
centralBody with a constant bottomAltitude
and topAltitude . |
static ExtrudedPolylineTriangulatorResult |
compute(CentralBody centralBody,
Iterable<Cartesian> positions,
double bottomAltitude,
double topAltitude,
WindingOrder positionsWindingOrder)
Computes an extrusion of
positions on the specified
centralBody with a constant bottomAltitude
and topAltitude . |
static ExtrudedPolylineTriangulatorResult |
compute(CentralBody centralBody,
Iterable<Cartesian> bottomPositions,
Iterable<Cartesian> topPositions)
Computes an extrusion between
bottomPositions and topPositions
on the specified centralBody . |
static ExtrudedPolylineTriangulatorResult |
compute(CentralBody centralBody,
Iterable<Cartesian> bottomPositions,
Iterable<Cartesian> topPositions,
WindingOrder positionsWindingOrder)
Computes an extrusion between
bottomPositions and topPositions
on the specified centralBody . |
static ExtrudedPolylineTriangulatorResult |
computeCartographic(CentralBody centralBody,
Iterable<Cartographic> positions,
double bottomAltitude,
double topAltitude)
For convenience.
|
static ExtrudedPolylineTriangulatorResult |
computeCartographic(CentralBody centralBody,
Iterable<Cartographic> positions,
double bottomAltitude,
double topAltitude,
WindingOrder positionsWindingOrder)
For convenience.
|
static ExtrudedPolylineTriangulatorResult |
computeCartographic(CentralBody centralBody,
Iterable<Cartographic> bottomPositions,
Iterable<Cartographic> topPositions)
For convenience.
|
static ExtrudedPolylineTriangulatorResult |
computeCartographic(CentralBody centralBody,
Iterable<Cartographic> bottomPositions,
Iterable<Cartographic> topPositions,
WindingOrder positionsWindingOrder)
For convenience.
|
static ExtrudedPolylineTriangulatorResult |
computeSingleConstantAltitude(CentralBody centralBody,
Iterable<Cartesian> positions,
double altitude)
Computes an extrusion of
positions on the specified
centralBody . |
static ExtrudedPolylineTriangulatorResult |
computeSingleConstantAltitude(CentralBody centralBody,
Iterable<Cartesian> positions,
double altitude,
WindingOrder positionsWindingOrder)
Computes an extrusion of
positions on the specified
centralBody . |
static ExtrudedPolylineTriangulatorResult |
computeSingleConstantAltitudeCartographic(CentralBody centralBody,
Iterable<Cartographic> positions,
double altitude)
For convenience.
|
static ExtrudedPolylineTriangulatorResult |
computeSingleConstantAltitudeCartographic(CentralBody centralBody,
Iterable<Cartographic> positions,
double altitude,
WindingOrder positionsWindingOrder)
For convenience.
|
public static final ExtrudedPolylineTriangulatorResult compute(CentralBody centralBody, Iterable<Cartesian> bottomPositions, Iterable<Cartesian> topPositions)
bottomPositions
and topPositions
on the specified centralBody
.
This is equivalent to calling
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable,agi.foundation.geometry.discrete.WindingOrder)
with a positionsWindingOrder
of Compute
.
See
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable,agi.foundation.geometry.discrete.WindingOrder)
for a full discussion.
centralBody
- The central body to compute the extrusion on.bottomPositions
- The bottom positions, in the centralBody
's fixed reference frame.topPositions
- The top positions, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable,agi.foundation.geometry.discrete.WindingOrder)
public static final ExtrudedPolylineTriangulatorResult compute(CentralBody centralBody, Iterable<Cartesian> bottomPositions, Iterable<Cartesian> topPositions, WindingOrder positionsWindingOrder)
bottomPositions
and topPositions
on the specified centralBody
.
The extrusion does not need to be attached to the ellipsoid, hence the altitudes for
bottomPositions
are not required to be 0
.
positionsWindingOrder
is used to compute normals for the resulting mesh.
If this is unknown, use
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double)
.
centralBody
- The central body to compute the extrusion on.bottomPositions
- The bottom positions, in the centralBody
's fixed reference frame.topPositions
- The top positions, in the centralBody
's fixed reference frame.positionsWindingOrder
- The winding order of bottomPositions
and topPositions
.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ArgumentNullException
- centralBody
, bottomPositions
, or topPositions
is null
.ArgumentException
- bottomPositions
and topPositions
must contain the same number of positions, and at least two each.ArgumentException
- bottomPositions
and topPositions
must have the same winding order.UnsupportedCaseException
- positionsWindingOrder
must be a valid enumeration value in
WindingOrder
.public static final ExtrudedPolylineTriangulatorResult computeCartographic(CentralBody centralBody, Iterable<Cartographic> bottomPositions, Iterable<Cartographic> topPositions)
bottomPositions
and topPositions
on the specified centralBody
using Cartographic
positions. Longitude and latitude are in radians, and altitude is in meters.
This is equivalent to converting each position in bottomPositions
and topPositions
to
Cartesian
and calling
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable)
See
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable)
for a full discussion.
centralBody
- The central body to compute the extrusion on.bottomPositions
- The bottom positions.topPositions
- The top positions.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable)
public static final ExtrudedPolylineTriangulatorResult computeCartographic(CentralBody centralBody, Iterable<Cartographic> bottomPositions, Iterable<Cartographic> topPositions, WindingOrder positionsWindingOrder)
bottomPositions
and topPositions
on the specified centralBody
using Cartographic
positions. Longitude and latitude are in radians, and altitude is in meters.
This is equivalent to
converting each position in bottomPositions
and topPositions
to
Cartesian
and calling
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable,agi.foundation.geometry.discrete.WindingOrder)
See
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable,agi.foundation.geometry.discrete.WindingOrder)
for a full discussion.
centralBody
- The central body to compute the extrusion on.bottomPositions
- The bottom positions.topPositions
- The top positions.positionsWindingOrder
- The winding order of bottomPositions
and topPositions
.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,java.lang.Iterable,agi.foundation.geometry.discrete.WindingOrder)
public static final ExtrudedPolylineTriangulatorResult compute(CentralBody centralBody, Iterable<Cartesian> positions, double bottomAltitude, double topAltitude)
positions
on the specified
centralBody
with a constant bottomAltitude
and topAltitude
.
This is equivalent to calling
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double,agi.foundation.geometry.discrete.WindingOrder)
with a positionsWindingOrder
of Compute
.
See
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double,agi.foundation.geometry.discrete.WindingOrder)
for a full discussion.
centralBody
- The central body to compute the extrusion on.positions
- The polyline positions, in the centralBody
's fixed reference frame, that should be extruded.bottomAltitude
- The extrusion's bottom altitude, in meters, above the ellipsoid.topAltitude
- The extrusion's top altitude, in meters, above the ellipsoid.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double,agi.foundation.geometry.discrete.WindingOrder)
public static final ExtrudedPolylineTriangulatorResult compute(CentralBody centralBody, Iterable<Cartesian> positions, double bottomAltitude, double topAltitude, WindingOrder positionsWindingOrder)
positions
on the specified
centralBody
with a constant bottomAltitude
and topAltitude
.
An extrusion along positions
on the specified
centralBody
is computed with a constant bottomAltitude
and topAltitude
above the ellipsoid. Each position in
positions
is extruded along its detic surface normal.
The extrusion does not need to be attached to the ellipsoid, hence
bottomAltitude
is not required to be 0
.
positionsWindingOrder
is used to compute normals for the resulting mesh.
If this is unknown, use
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double)
.
centralBody
- The central body to compute the extrusion on.positions
- The polyline positions, in the centralBody
's fixed reference frame, that should be extruded.bottomAltitude
- The extrusion's bottom altitude, in meters, above the ellipsoid.topAltitude
- The extrusion's top altitude, in meters, above the ellipsoid.positionsWindingOrder
- The winding order of positions
.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ArgumentNullException
- centralBody
or positions
is null
.ArgumentException
- positions
must contain at least two elements.ArgumentException
- bottomAltitude
must be less than or equal to topAltitude
.UnsupportedCaseException
- positionsWindingOrder
must be a valid enumeration value in
WindingOrder
.public static final ExtrudedPolylineTriangulatorResult computeCartographic(CentralBody centralBody, Iterable<Cartographic> positions, double bottomAltitude, double topAltitude)
positions
on the specified
centralBody
with a constant bottomAltitude
and topAltitude
using Cartographic
positions. Longitude and latitude are in radians, and altitude is in meters.
This is equivalent to
converting each position in positions
to
Cartesian
and calling
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double)
See
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double,agi.foundation.geometry.discrete.WindingOrder)
for a full discussion.
centralBody
- The central body to compute the extrusion on.positions
- The polyline positions that should be extruded.bottomAltitude
- The extrusion's bottom altitude, in meters, above the ellipsoid.topAltitude
- The extrusion's top altitude, in meters, above the ellipsoid.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double,agi.foundation.geometry.discrete.WindingOrder)
public static final ExtrudedPolylineTriangulatorResult computeCartographic(CentralBody centralBody, Iterable<Cartographic> positions, double bottomAltitude, double topAltitude, WindingOrder positionsWindingOrder)
positions
on the specified
centralBody
with a constant bottomAltitude
and topAltitude
using Cartographic
positions. Longitude and latitude are in radians, and altitude is in meters.
This is equivalent to
converting each position in positions
to
Cartesian
and calling
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double,agi.foundation.geometry.discrete.WindingOrder)
See
ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double,agi.foundation.geometry.discrete.WindingOrder)
for a full discussion.
centralBody
- The central body to compute the extrusion on.positions
- The polyline positions that should be extruded.bottomAltitude
- The extrusion's bottom altitude, in meters, above the ellipsoid.topAltitude
- The extrusion's top altitude, in meters, above the ellipsoid.positionsWindingOrder
- The winding order of positions
.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.compute(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,double,agi.foundation.geometry.discrete.WindingOrder)
public static final ExtrudedPolylineTriangulatorResult computeSingleConstantAltitude(CentralBody centralBody, Iterable<Cartesian> positions, double altitude)
positions
on the specified
centralBody
. One side of the extrusion has a constant
altitude
and the other has the original altitudes from
positions
.
This is equivalent to calling
ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,agi.foundation.geometry.discrete.WindingOrder)
with a positionsWindingOrder
of Compute
.
See
ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,agi.foundation.geometry.discrete.WindingOrder)
for a full discussion.
centralBody
- The central body to compute the extrusion on.positions
- The polyline positions, in the centralBody
's fixed reference frame, that should be extruded.altitude
- The extrusion's constant altitude, in meters, above the ellipsoid.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,agi.foundation.geometry.discrete.WindingOrder)
public static final ExtrudedPolylineTriangulatorResult computeSingleConstantAltitude(CentralBody centralBody, Iterable<Cartesian> positions, double altitude, WindingOrder positionsWindingOrder)
positions
on the specified
centralBody
. One side of the extrusion has a constant
altitude
and the other has the original altitudes from
positions
.
An extrusion along positions
on the specified
centralBody
is computed with a constant altitude
on one side and the original position's altitude on the other. Each position in
positions
is extruded along its detic surface normal.
For example, if positions
represents a polyline with varying
altitudes and altitude
is 0
, the polyline is extruded
down to the ellipsoid.
positionsWindingOrder
is used to compute normals for the resulting mesh.
If this is unknown, use
ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double)
.
centralBody
- The central body to compute the extrusion on.positions
- The polyline positions, in the centralBody
's fixed reference frame, that should be extruded.altitude
- The extrusion's constant altitude, in meters, above the ellipsoid.positionsWindingOrder
- The winding order of positions
.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ArgumentNullException
- centralBody
or positions
is null
.ArgumentException
- positions
must contain at least two elements.UnsupportedCaseException
- positionsWindingOrder
must be a valid enumeration value in
WindingOrder
.public static final ExtrudedPolylineTriangulatorResult computeSingleConstantAltitudeCartographic(CentralBody centralBody, Iterable<Cartographic> positions, double altitude)
positions
on the specified
centralBody
using Cartographic
positions. One side of the extrusion has a constant altitude
and the other has the original altitudes from positions
.
Longitude and latitude are in radians, and altitude is in meters.
This is equivalent to
converting each position in positions
to
Cartesian
and calling
ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double)
See
ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,agi.foundation.geometry.discrete.WindingOrder)
for a full discussion.
centralBody
- The central body to compute the extrusion on.positions
- The polyline positions that should be extruded.altitude
- The extrusion's constant altitude, in meters, above the ellipsoid.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,agi.foundation.geometry.discrete.WindingOrder)
public static final ExtrudedPolylineTriangulatorResult computeSingleConstantAltitudeCartographic(CentralBody centralBody, Iterable<Cartographic> positions, double altitude, WindingOrder positionsWindingOrder)
positions
on the specified
centralBody
using Cartographic
positions. One side of the extrusion has a constant altitude
and the other has the original altitudes from positions
.
Longitude and latitude are in radians, and altitude is in meters.
This is equivalent to
converting each position in positions
to
Cartesian
and calling
ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double)
See
ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,agi.foundation.geometry.discrete.WindingOrder)
for a full discussion.
centralBody
- The central body to compute the extrusion on.positions
- The polyline positions that should be extruded.altitude
- The extrusion's constant altitude, in meters, above the ellipsoid.positionsWindingOrder
- The winding order of positions
.ExtrudedPolylineTriangulatorResult
object representing the extrusion, in the centralBody
's fixed reference frame.ExtrudedPolylineTriangulator.computeSingleConstantAltitude(agi.foundation.celestial.CentralBody,java.lang.Iterable,double,agi.foundation.geometry.discrete.WindingOrder)