Module geometry

Procs

proc buildBoxPlanes(extents: Vector3): Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc buildCylinderPlanes(radius: float64; height: float64; sides: int64;
                        axis: int64 = 2'i64): Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc buildCapsulePlanes(radius: float64; height: float64; sides: int64; lats: int64;
                       axis: int64 = 2'i64): Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc segmentIntersectsCircle(segmentFrom: Vector2; segmentTo: Vector2;
                            circlePosition: Vector2; circleRadius: float64): float64 {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc segmentIntersectsSegment2d(fromA: Vector2; toA: Vector2; fromB: Vector2;
                               toB: Vector2): Variant {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc lineIntersectsLine2d(fromA: Vector2; dirA: Vector2; fromB: Vector2; dirB: Vector2): Variant {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc getClosestPointsBetweenSegments2d(p1: Vector2; q1: Vector2; p2: Vector2;
                                      q2: Vector2): PoolVector2Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc getClosestPointsBetweenSegments(p1: Vector3; p2: Vector3; q1: Vector3; q2: Vector3): PoolVector3Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc getClosestPointToSegment2d(point: Vector2; s1: Vector2; s2: Vector2): Vector2 {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc getClosestPointToSegment(point: Vector3; s1: Vector3; s2: Vector3): Vector3 {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc getClosestPointToSegmentUncapped2d(point: Vector2; s1: Vector2; s2: Vector2): Vector2 {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc getClosestPointToSegmentUncapped(point: Vector3; s1: Vector3; s2: Vector3): Vector3 {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc getUv84NormalBit(normal: Vector3): int64 {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc rayIntersectsTriangle(fromm: Vector3; dir: Vector3; a: Vector3; b: Vector3;
                          c: Vector3): Variant {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc segmentIntersectsTriangle(fromm: Vector3; to: Vector3; a: Vector3; b: Vector3;
                              c: Vector3): Variant {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc segmentIntersectsSphere(fromm: Vector3; to: Vector3; spherePosition: Vector3;
                            sphereRadius: float64): PoolVector3Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc segmentIntersectsCylinder(fromm: Vector3; to: Vector3; height: float64;
                              radius: float64): PoolVector3Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc segmentIntersectsConvex(fromm: Vector3; to: Vector3; planes: Array): PoolVector3Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc pointIsInsideTriangle(point: Vector2; a: Vector2; b: Vector2; c: Vector2): bool {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc triangulatePolygon(polygon: PoolVector2Array): PoolIntArray {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc convexHull2d(points: PoolVector2Array): PoolVector2Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc clipPolygon(points: PoolVector3Array; plane: Plane): PoolVector3Array {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}
proc makeAtlas(sizes: PoolVector2Array): Dictionary {.
gcsafe, locks: 0, raises: [Exception], tags: [RootEffect]
.}