data class LinearRing3D: AbstractSurface3D, Tolerable

Linear ring of a list of vertices. The linear ring is not required to be planar.

Fields

Name Description
val vertices: List<Vector3D>

vertices for constructing the linear ring

val tolerance: Double

tolerable threshold value

val affineSequence: AffineSequence3D

List of affine transformation matrices to move and rotate the geometric object.

Constructors

<init>

constructor(vertices: List<Vector3D>, tolerance: Double, affineSequence: AffineSequence3D)

Linear ring of a list of vertices. The linear ring is not required to be planar.

Parameters

Name Description
vertices: List<Vector3D>

vertices for constructing the linear ring

tolerance: Double
affineSequence: AffineSequence3D

Methods

isPlanar

fun isPlanar(): Boolean

Returns true if the vertices are placed in a plane

ReturnValue

Name Description
Boolean

calculatePolygonsLocalCS

fun calculatePolygonsLocalCS(): Result, Exception><List<Polygon3D>, Exception>

Calculates the polygons for the respective surface geometry within the local coordinate system of the surface.

ReturnValue

Name Description
Result, Exception><List<Polygon3D>, Exception>

accept

fun accept(visitor: Geometry3DVisitor)

Accepting function so that a geometry visitor can pass by.

Parameters

Name Description
visitor: Geometry3DVisitor

ReturnValue

Name Description
Unit

CompanionObject

LinearRing3D

data class LinearRing3D: AbstractSurface3D, Tolerable

Linear ring of a list of vertices. The linear ring is not required to be planar.

Fields

Name Description
val UNIT: LinearRing3D

Methods

of

fun of(vararg vertices: Vector3D, tolerance: Double): LinearRing3D

Creates a linear ring based on the provided vertices.

Parameters

Name Description
vararg vertices: Vector3D
tolerance: Double

ReturnValue

Name Description
LinearRing3D

of

fun of(leftVertices: List<Vector3D>, rightVertices: List<Vector3D>, tolerance: Double): List<LinearRing3D>

Creates multiple linear rings from two lists of vertices leftVertices and rightVertices. A list of linear rings are created by iterating over both lists jointly.

Parameters

Name Description
leftVertices: List<Vector3D>

left vertices for the linear rings construction

rightVertices: List<Vector3D>

right vertices for the linear rings construction

tolerance: Double

ReturnValue

Name Description
List<LinearRing3D>

ofWithDuplicatesRemoval

fun ofWithDuplicatesRemoval(leftVertices: List<Vector3D>, rightVertices: List<Vector3D>, tolerance: Double): Result, Exception><List<LinearRing3D>, Exception>

Creates multiple linear rings from two lists of vertices leftVertices and rightVertices. A list of linear rings are created by iterating over both lists jointly. Possible consecutively following point duplicates are removed before construction.

Parameters

Name Description
leftVertices: List<Vector3D>

left vertices for the linear rings construction

rightVertices: List<Vector3D>

right vertices for the linear rings construction

tolerance: Double

ReturnValue

Name Description
Result, Exception><List<LinearRing3D>, Exception>