Skip to content

editorGlobalsGeometricPrimitive

Class: GeometricPrimitive

Hierarchy

  • GeometricPrimitive

Index

Constructors

Properties

Methods

Constructors

constructor

+ new GeometricPrimitive(points: Vector3[], surfaces: number[][]): GeometricPrimitive

Defined in src/tools/utils/GeometricPrimitive.ts:254

Parameters:

Name Type
points Vector3[]
surfaces number[][]

Returns: GeometricPrimitive

Properties

Private points

points: Vector3[]

Defined in src/tools/utils/GeometricPrimitive.ts:252


Private scaleDimensions

scaleDimensions: Vector3‹› = new Vector3(1, 1, 1)

Defined in src/tools/utils/GeometricPrimitive.ts:254


Private surfaces

surfaces: number[][]

Defined in src/tools/utils/GeometricPrimitive.ts:253


Static Private boxPoints

boxPoints: Vector3‹›[] = [ new Vector3(-1, -1, -1), new Vector3(-1, 1, -1), new Vector3(1, 1, -1), new Vector3(1, -1, -1),

new Vector3(-1, -1, 1),
new Vector3(-1, 1, 1),
new Vector3(1, 1, 1),
new Vector3(1, -1, 1),

].map(point => point.multiplyScalar(1 / 2))

Defined in src/tools/utils/GeometricPrimitive.ts:9


Static Private boxSurfaces

boxSurfaces: number[][] = [ [0, 1, 2, 3], [4, 7, 6, 5], [0, 3, 7, 4], [1, 5, 6, 2], [0, 4, 5, 1], [2, 6, 7, 3], ]

Defined in src/tools/utils/GeometricPrimitive.ts:20


Static Private equilateralTrianglePrismBasePlate

equilateralTrianglePrismBasePlate: Vector3‹›[] = [ new Vector3(0, 0, 0), new Vector3(1 / 2, Math.sin((1 / 3) * Math.PI), 0), new Vector3(1, 0, 0), ]

Defined in src/tools/utils/GeometricPrimitive.ts:77


Static Private octahedronPoints

octahedronPoints: Vector3‹›[] = [ new Vector3(-1, 0, 1), new Vector3(1, 0, 1), new Vector3(0, -1, 1), new Vector3(0, 1, 1), new Vector3(0, 0, 0), new Vector3(0, 0, 2), ].map(point => point.multiplyScalar(1 / Math.sqrt(2)))

Defined in src/tools/utils/GeometricPrimitive.ts:42


Static Private octahedronSurfaces

octahedronSurfaces: number[][] = [ [4, 0, 3], [4, 1, 2], [4, 2, 0], [4, 3, 1], [5, 0, 2], [5, 1, 3], [5, 2, 1], [5, 3, 0], ]

Defined in src/tools/utils/GeometricPrimitive.ts:50


Static Private prismUnitHeight

prismUnitHeight: number = 1

Defined in src/tools/utils/GeometricPrimitive.ts:85


Static Private pyramidPoints

pyramidPoints: Vector3‹›[] = [ new Vector3(1, 1, 0), new Vector3(-1, 1, 0), new Vector3(-1, -1, 0), new Vector3(1, -1, 0), new Vector3(0, 0, Math.sqrt(2)), ].map(point => point.multiplyScalar(1 / 2))

Defined in src/tools/utils/GeometricPrimitive.ts:61


Static Private pyramidSurfaces

pyramidSurfaces: number[][] = [ [3, 2, 1, 0], [0, 1, 4], [1, 2, 4], [2, 3, 4], [3, 0, 4], ]

Defined in src/tools/utils/GeometricPrimitive.ts:68


Static Private rectangularTrianglePrismBasePlate

rectangularTrianglePrismBasePlate: Vector3‹›[] = [new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 0, 0)]

Defined in src/tools/utils/GeometricPrimitive.ts:84


Static Private slantedCornerPoint

slantedCornerPoint: Vector3‹›[] = [ new Vector3(0, 0, 0), new Vector3(0, 1, 0), new Vector3(1, 1, 0), new Vector3(1, 0, 0), new Vector3(0, 0, 1), ]

Defined in src/tools/utils/GeometricPrimitive.ts:87


Static Private slantedCornerSurfaces

slantedCornerSurfaces: number[][] = [ [0, 1, 2, 3], [0, 4, 1], [0, 3, 4], [2, 4, 3], [1, 4, 2], ]

Defined in src/tools/utils/GeometricPrimitive.ts:94


Static Private tetrahedronPoints

tetrahedronPoints: Vector3‹›[] = [ new Vector3(Math.sqrt(8 / 9), 0, 0), new Vector3(-Math.sqrt(2 / 9), Math.sqrt(2 / 3), 0), new Vector3(-Math.sqrt(2 / 9), -Math.sqrt(2 / 3), 0), new Vector3(0, 0, 4 / 3), ].map(point => point.multiplyScalar(1 / Math.sqrt(8 / 3)))

Defined in src/tools/utils/GeometricPrimitive.ts:29


Static Private tetrahedronSurfaces

tetrahedronSurfaces: number[][] = [ [0, 2, 1], [0, 1, 3], [2, 0, 3], [1, 2, 3], ]

Defined in src/tools/utils/GeometricPrimitive.ts:35

Methods

getPoints

getPoints(): Vector3‹›[]

Defined in src/tools/utils/GeometricPrimitive.ts:270

Returns: Vector3‹›[]


getSurfaces

getSurfaces(): Vector3‹›[][]

Defined in src/tools/utils/GeometricPrimitive.ts:265

Returns: Vector3‹›[][]


setScaleDimensions

setScaleDimensions(dimensions: Vector3): void

Defined in src/tools/utils/GeometricPrimitive.ts:261

Parameters:

Name Type
dimensions Vector3

Returns: void


Static Private _fromPrismBasePlate

_fromPrismBasePlate(basePoints: Vector3[], height: number): GeometricPrimitive‹›

Defined in src/tools/utils/GeometricPrimitive.ts:212

Parameters:

Name Type
basePoints Vector3[]
height number

Returns: GeometricPrimitive‹›


Static Private _getMesh

_getMesh(primitive: GeometricPrimitive, implementationClass: any, mustBeManifold: boolean): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:244

Parameters:

Name Type Default
primitive GeometricPrimitive -
implementationClass any -
mustBeManifold boolean true

Returns: Mesh‹›


Static Private _getWithScaleDimensions

_getWithScaleDimensions(primitive: GeometricPrimitive, dimensions?: Vector3): GeometricPrimitive

Defined in src/tools/utils/GeometricPrimitive.ts:237

Parameters:

Name Type
primitive GeometricPrimitive
dimensions? Vector3

Returns: GeometricPrimitive


Static box

box(parts: boolean[]): GeometricPrimitive‹›

Defined in src/tools/utils/GeometricPrimitive.ts:107

Parameters:

Name Type Default Description
parts boolean[] [true, true, true, true, true, true] - which sides of the box to create: bottom (defines assembly coord system), top, sides -x +x -y +y

Returns: GeometricPrimitive‹›


Static boxMesh

boxMesh(implementationClass: any, scaleDimensions?: Vector3, parts: boolean[]): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:113

Parameters:

Name Type Default
implementationClass any -
scaleDimensions? Vector3 -
parts boolean[] [true, true, true, true, true, true]

Returns: Mesh‹›


Static equilateralTrianglePrism

equilateralTrianglePrism(): GeometricPrimitive‹›

Defined in src/tools/utils/GeometricPrimitive.ts:174

Returns: GeometricPrimitive‹›


Static equilateralTrianglePrismMesh

equilateralTrianglePrismMesh(implementationClass: any, scaleDimensions?: Vector3): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:181

Parameters:

Name Type
implementationClass any
scaleDimensions? Vector3

Returns: Mesh‹›


Static octahedron

octahedron(): GeometricPrimitive‹›

Defined in src/tools/utils/GeometricPrimitive.ts:135

Returns: GeometricPrimitive‹›


Static octahedronMesh

octahedronMesh(implementationClass: any, scaleDimensions?: Vector3): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:142

Parameters:

Name Type
implementationClass any
scaleDimensions? Vector3

Returns: Mesh‹›


Static prismFromBasePoints

prismFromBasePoints(basePoints: Vector3[], height: number, ImplementationClass: any): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:202

Parameters:

Name Type
basePoints Vector3[]
height number
ImplementationClass any

Returns: Mesh‹›


Static pyramid

pyramid(): GeometricPrimitive‹›

Defined in src/tools/utils/GeometricPrimitive.ts:149

Returns: GeometricPrimitive‹›


Static pyramidMesh

pyramidMesh(implementationClass: any, scaleDimensions?: Vector3): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:153

Parameters:

Name Type
implementationClass any
scaleDimensions? Vector3

Returns: Mesh‹›


Static rightTrianglePrism

rightTrianglePrism(): GeometricPrimitive‹›

Defined in src/tools/utils/GeometricPrimitive.ts:160

Returns: GeometricPrimitive‹›


Static rightTrianglePrismMesh

rightTrianglePrismMesh(implementationClass: any, scaleDimensions?: Vector3): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:167

Parameters:

Name Type
implementationClass any
scaleDimensions? Vector3

Returns: Mesh‹›


Static slantedCorner

slantedCorner(): GeometricPrimitive‹›

Defined in src/tools/utils/GeometricPrimitive.ts:188

Returns: GeometricPrimitive‹›


Static slantedCornerMesh

slantedCornerMesh(implementationClass: any, scaleDimensions?: Vector3): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:195

Parameters:

Name Type
implementationClass any
scaleDimensions? Vector3

Returns: Mesh‹›


Static tetrahedron

tetrahedron(): GeometricPrimitive‹›

Defined in src/tools/utils/GeometricPrimitive.ts:121

Returns: GeometricPrimitive‹›


Static tetrahedronMesh

tetrahedronMesh(implementationClass: any, scaleDimensions?: Vector3): Mesh‹›

Defined in src/tools/utils/GeometricPrimitive.ts:128

Parameters:

Name Type
implementationClass any
scaleDimensions? Vector3

Returns: Mesh‹›