editor › Globals › GeometricPrimitive
Class: GeometricPrimitive
Hierarchy
- GeometricPrimitive
Index
Constructors
Properties
- points
- scaleDimensions
- surfaces
- boxPoints
- boxSurfaces
- equilateralTrianglePrismBasePlate
- octahedronPoints
- octahedronSurfaces
- prismUnitHeight
- pyramidPoints
- pyramidSurfaces
- rectangularTrianglePrismBasePlate
- slantedCornerPoint
- slantedCornerSurfaces
- tetrahedronPoints
- tetrahedronSurfaces
Methods
- getPoints
- getSurfaces
- setScaleDimensions
- _fromPrismBasePlate
- _getMesh
- _getWithScaleDimensions
- box
- boxMesh
- equilateralTrianglePrism
- equilateralTrianglePrismMesh
- octahedron
- octahedronMesh
- prismFromBasePoints
- pyramid
- pyramidMesh
- rightTrianglePrism
- rightTrianglePrismMesh
- slantedCorner
- slantedCornerMesh
- tetrahedron
- tetrahedronMesh
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‹›