agi.foundation.geometry.discrete
(agi.foundation.graphics-2024r2.jar)

Class CylinderTriangulator

• Method Summary

All Methods
Modifier and Type Method and Description
`static SolidTriangulatorResult` ```compute(double length, double radius)```
Computes the triangulation for a cylinder centered at the origin.
`static SolidTriangulatorResult` ```compute(double length, double bottomRadius, double topRadius, int slices, CylinderFill cylinderFill)```
Computes the triangulation for a cylinder centered at the origin.
• Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• Method Detail

• compute

```public static final SolidTriangulatorResult compute(double length,
Computes the triangulation for a cylinder centered at the origin.
Parameters:
`length` - The length, in meters, of the cylinder along the z axis.
`radius` - The radius, in meters, of the cylinder.
Returns:
A `SolidTriangulatorResult` object representing the triangulation.
Throws:
`ArgumentOutOfRangeException` - `length` must be greater than or equal to `0`.
`ArgumentOutOfRangeException` - `radius` must be greater than `0`.
• compute

```public static final SolidTriangulatorResult compute(double length,
int slices,
CylinderFill cylinderFill)```
Computes the triangulation for a cylinder centered at the origin.

`slices` determines the detail of the triangulation. More `slices` results in a precise cylinder but uses more memory.

A wide variety of shapes can be created using `bottomRadius`, `topRadius`, and `cylinderFill`. A lamp shade is created when `bottomRadius` is different than `topRadius`. When one radii is zero, a cone is created. When `cylinderFill` does not include `Wall`, one or two circles aligned to the `xy` plane are created.

Parameters:
`length` - The length, in meters, of the cylinder along the z axis.
`bottomRadius` - The radius, in meters, of the cylinder's bottom cap.
`topRadius` - The radius, in meters, of the cylinder's top cap.
`slices` - The number of slices around the z axis.
`cylinderFill` - Flags enumeration indicating what cylinder faces should be filled. Values can be logically `or`ed together.
Returns:
A `SolidTriangulatorResult` object representing the triangulation.
Throws:
`ArgumentOutOfRangeException` - `length` must be greater than or equal to `0`.
`ArgumentOutOfRangeException` - `bottomRadius` and `topRadius` must be greater than or equal to `0`. Both cannot equal `0`.
`ArgumentOutOfRangeException` - `slices` must be greater than or equal to `3`.
`UnsupportedCaseException` - `cylinderFill` must be a valid enumeration value in `CylinderFill`.