SS.Geometry 1.1.0
Dimensioned geometry, adaptive decimal-fallback orientation/incircle/insphere predicates, closed-solid manifold validation, transforms, and interchange
Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0
No package dependencies declared.
Public API
Geometry.add
export function add(Vector2 left, Vector2 right)->Vector2Parameters: left: Vector2, right: Vector2
Geometry.add
export function add(Vector3 left, Vector3 right)->Vector3Parameters: left: Vector3, right: Vector3
Geometry.apply
export function apply(Transform2 transform, Point2 point)->Point2Parameters: transform: Transform2, point: Point2
Geometry.apply
export function apply(Transform3 transform, Point3 point)->Point3Parameters: transform: Transform3, point: Point3
Geometry.areaInSquareMetres
export function areaInSquareMetres(squareMetre value)->doubleParameters: value: squareMetre
Geometry.AreaVector3
export record AreaVector3(public double x, public double y, public double z, public string areaUnit)Parameters: x: double, y: double, z: double, areaUnit: string
Geometry.areaVectorMagnitude
export function areaVectorMagnitude(AreaVector3 value)->squareMetreParameters: value: AreaVector3
Geometry.bounds2
export function bounds2(Point2 minimum, Point2 maximum)->Bounds2Parameters: minimum: Point2, maximum: Point2
Geometry.Bounds2
export record Bounds2(public Point2 minimum, public Point2 maximum)Parameters: minimum: Point2, maximum: Point2
Geometry.bounds3
export function bounds3(Point3 minimum, Point3 maximum)->Bounds3Parameters: minimum: Point3, maximum: Point3
Geometry.Bounds3
export record Bounds3(public Point3 minimum, public Point3 maximum)Parameters: minimum: Point3, maximum: Point3
Geometry.boxDomain3
export function boxDomain3(Bounds3 bounds, string region)->BoxDomain3Parameters: bounds: Bounds3, region: string
Geometry.BoxDomain3
export record BoxDomain3(public Bounds3 bounds, public string region)Parameters: bounds: Bounds3, region: string
Geometry.centroid
export function centroid(Polygon2 polygon)->Point2Parameters: polygon: Polygon2
Geometry.circle2
export function circle2(Point2 center, m radius)->Circle2Parameters: center: Point2, radius: m
Geometry.Circle2
export record Circle2(public Point2 center, public m radius)Parameters: center: Point2, radius: m
export record ClosedSolidValidation(public bool valid, public bool watertight, public bool consistentlyOriented, public bool connected, public int faceCount, public int boundaryEdgeCount, public int nonManifoldEdgeCount, public int inconsistentWindingCount, public int degenerateFaceCount, public string diagnostic)Parameters: valid: bool, watertight: bool, consistentlyOriented: bool, connected: bool, faceCount: int, boundaryEdgeCount: int, nonManifoldEdgeCount: int, inconsistentWindingCount: int, degenerateFaceCount: int, diagnostic: string
Geometry.compose
export function compose(Transform2 outer, Transform2 inner)->Transform2Parameters: outer: Transform2, inner: Transform2
Geometry.compose
export function compose(Transform3 outer, Transform3 inner)->Transform3Parameters: outer: Transform3, inner: Transform3
Geometry.contains
export function contains(Bounds2 bounds, Point2 point)->boolParameters: bounds: Bounds2, point: Point2
Geometry.contains
export function contains(Bounds3 bounds, Point3 point)->boolParameters: bounds: Bounds3, point: Point3
Geometry.contains
export function contains(BoxDomain3 box, Point3 point)->boolParameters: box: BoxDomain3, point: Point3
Geometry.contains
export function contains(Sphere3 sphere, Point3 point, m tolerance)->boolParameters: sphere: Sphere3, point: Point3, tolerance: m
Geometry.coordinateSystem3
export function coordinateSystem3(Point3 origin, Vector3 x, Vector3 y, m tolerance)->CoordinateSystem3Parameters: origin: Point3, x: Vector3, y: Vector3, tolerance: m
export record CoordinateSystem3(public Point3 origin, public Direction3 xAxis, public Direction3 yAxis, public Direction3 zAxis)Parameters: origin: Point3, xAxis: Direction3, yAxis: Direction3, zAxis: Direction3
Geometry.coordinateTransform3
export function coordinateTransform3(CoordinateSystem3 system)->Transform3Parameters: system: CoordinateSystem3
Geometry.cross
export function cross(Vector2 left, Vector2 right)->squareMetreParameters: left: Vector2, right: Vector2
Geometry.cross
export function cross(Vector3 left, Vector3 right)->AreaVector3Parameters: left: Vector3, right: Vector3
Geometry.direction
export function direction(Vector3 value, m tolerance)->Direction3Parameters: value: Vector3, tolerance: m
Geometry.Direction3
export record Direction3(public double x, public double y, public double z)Parameters: x: double, y: double, z: double
Geometry.directionDot
export function directionDot(Direction3 left, Direction3 right)->doubleParameters: left: Direction3, right: Direction3
Geometry.distance
export function distance(Point2 left, Point2 right)->mParameters: left: Point2, right: Point2
Geometry.distance
export function distance(Point3 left, Point3 right)->mParameters: left: Point3, right: Point3
Geometry.dot
export function dot(Vector2 left, Vector2 right)->squareMetreParameters: left: Vector2, right: Vector2
Geometry.dot
export function dot(Vector3 left, Vector3 right)->squareMetreParameters: left: Vector3, right: Vector3
Geometry.flatten2
export function flatten2(Point2[] points)->double[]Parameters: points: Point2[]
Geometry.flatten3
export function flatten3(Point3[] points)->double[]Parameters: points: Point3[]
Geometry.identityTransform2
export function identityTransform2()->Transform2Geometry.identityTransform3
export function identityTransform3()->Transform3Geometry.intersects
export function intersects(Bounds2 left, Bounds2 right)->boolParameters: left: Bounds2, right: Bounds2
Geometry.length3
export function length3(Polyline3 line)->mParameters: line: Polyline3
Geometry.magnitude
export function magnitude(Vector2 value)->mParameters: value: Vector2
Geometry.magnitude
export function magnitude(Vector3 value)->mParameters: value: Vector3
Geometry.orientation
export function orientation(Point2 a, Point2 b, Point2 c, squareMetre tolerance)->intParameters: a: Point2, b: Point2, c: Point2, tolerance: squareMetre
Geometry.perimeter
export function perimeter(Polygon2 polygon)->mParameters: polygon: Polygon2
Geometry.plane3
export function plane3(Point3 point, Vector3 normal, m tolerance)->Plane3Parameters: point: Point3, normal: Vector3, tolerance: m
Geometry.Plane3
export record Plane3(public Point3 point, public Direction3 normal)Parameters: point: Point3, normal: Direction3
Geometry.point2
export function point2(m x, m y)->Point2Parameters: x: m, y: m
Geometry.Point2
export record Point2(public m x, public m y)Parameters: x: m, y: m
Geometry.point3
export function point3(m x, m y, m z)->Point3Parameters: x: m, y: m, z: m
Geometry.Point3
export record Point3(public m x, public m y, public m z)Parameters: x: m, y: m, z: m
Geometry.pointInPolygon
export function pointInPolygon(Polygon2 polygon, Point2 point, m tolerance)->boolParameters: polygon: Polygon2, point: Point2, tolerance: m
Geometry.points2
export function points2(double[] values)->Point2[]Parameters: values: double[]
Geometry.points3
export function points3(double[] values)->Point3[]Parameters: values: double[]
Geometry.polygon
export function polygon(Point2[] vertices, string region, squareMetre tolerance)->Polygon2Parameters: vertices: Point2[], region: string, tolerance: squareMetre
Geometry.Polygon2
export record Polygon2(public Point2[] vertices, public string region)Parameters: vertices: Point2[], region: string
Geometry.polyline3
export function polyline3(Point3[] vertices, string boundary)->Polyline3Parameters: vertices: Point3[], boundary: string
Geometry.Polyline3
export record Polyline3(public Point3[] vertices, public string boundary)Parameters: vertices: Point3[], boundary: string
Geometry.robustInCircle
export function robustInCircle(Point2 a, Point2 b, Point2 c, Point2 d)->RobustPredicateParameters: a: Point2, b: Point2, c: Point2, d: Point2
Geometry.robustInSphere
export function robustInSphere(Point3 a, Point3 b, Point3 c, Point3 d, Point3 e)->RobustPredicateParameters: a: Point3, b: Point3, c: Point3, d: Point3, e: Point3
Geometry.robustOrientation3D
export function robustOrientation3D(Point3 a, Point3 b, Point3 c, Point3 d)->RobustPredicateParameters: a: Point3, b: Point3, c: Point3, d: Point3
Geometry.RobustPredicate
export record RobustPredicate(public int sign, public double determinant, public double errorBound, public bool adaptiveRefinementUsed)Parameters: sign: int, determinant: double, errorBound: double, adaptiveRefinementUsed: bool
Geometry.rotation2
export function rotation2(double cosine, double sine)->Transform2Parameters: cosine: double, sine: double
Geometry.scale
export function scale(Vector2 value, double factor)->Vector2Parameters: value: Vector2, factor: double
Geometry.scale
export function scale(Vector3 value, double factor)->Vector3Parameters: value: Vector3, factor: double
Geometry.segment2
export function segment2(Point2 start, Point2 end)->Segment2Parameters: start: Point2, end: Point2
Geometry.Segment2
export record Segment2(public Point2 start, public Point2 end)Parameters: start: Point2, end: Point2
Geometry.segmentsIntersect
export function segmentsIntersect(Segment2 left, Segment2 right, m tolerance)->boolParameters: left: Segment2, right: Segment2, tolerance: m
Geometry.signedArea
export function signedArea(Polygon2 polygon)->squareMetreParameters: polygon: Polygon2
Geometry.signedDistance
export function signedDistance(Plane3 plane, Point3 point)->mParameters: plane: Plane3, point: Point3
Geometry.sphere3
export function sphere3(Point3 center, m radius, string region)->Sphere3Parameters: center: Point3, radius: m, region: string
Geometry.Sphere3
export record Sphere3(public Point3 center, public m radius, public string region)Parameters: center: Point3, radius: m, region: string
Geometry.Transform2
export record Transform2(public double m00, public double m01, public double m10, public double m11, public m tx, public m ty)Parameters: m00: double, m01: double, m10: double, m11: double, tx: m, ty: m
Geometry.Transform3
export record Transform3(public double m00, public double m01, public double m02, public double m10, public double m11, public double m12, public double m20, public double m21, public double m22, public m tx, public m ty, public m tz)Parameters: m00: double, m01: double, m02: double, m10: double, m11: double, m12: double, m20: double, m21: double, m22: double, tx: m, ty: m, tz: m
Geometry.translate
export function translate(Point2 point, Vector2 offset)->Point2Parameters: point: Point2, offset: Vector2
Geometry.translate
export function translate(Point3 point, Vector3 offset)->Point3Parameters: point: Point3, offset: Vector3
Geometry.translation2
export function translation2(m x, m y)->Transform2Parameters: x: m, y: m
Geometry.translation3
export function translation3(m x, m y, m z)->Transform3Parameters: x: m, y: m, z: m
Geometry.triangleArea
export function triangleArea(TriangleSurface3 triangle)->squareMetreParameters: triangle: TriangleSurface3
Geometry.triangleSurface3
export function triangleSurface3(Point3 first, Point3 second, Point3 third, string boundary, squareMetre tolerance)->TriangleSurface3Parameters: first: Point3, second: Point3, third: Point3, boundary: string, tolerance: squareMetre
export record TriangleSurface3(public Point3 first, public Point3 second, public Point3 third, public string boundary)Parameters: first: Point3, second: Point3, third: Point3, boundary: string
Geometry.union
export function union(Bounds2 left, Bounds2 right)->Bounds2Parameters: left: Bounds2, right: Bounds2
Geometry.validateClosedSolid
export function validateClosedSolid(TriangleSurface3[] faces, m tolerance)->ClosedSolidValidationParameters: faces: TriangleSurface3[], tolerance: m
Geometry.vector2
export function vector2(Point2 from, Point2 to)->Vector2Parameters: from: Point2, to: Point2
Geometry.Vector2
export record Vector2(public m x, public m y)Parameters: x: m, y: m
Geometry.vector3
export function vector3(Point3 from, Point3 to)->Vector3Parameters: from: Point3, to: Point3
Geometry.vector3
export function vector3(m x, m y, m z)->Vector3Parameters: x: m, y: m, z: m
Geometry.Vector3
export record Vector3(public m x, public m y, public m z)Parameters: x: m, y: m, z: m
Geometry.volume
export function volume(BoxDomain3 box)->cubicMetreParameters: box: BoxDomain3
Geometry.volumeInCubicMetres
export function volumeInCubicMetres(cubicMetre value)->doubleParameters: value: cubicMetre
Documentation version
Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.