editor › Globals › SingleSurfaceDescriptor
Class: SingleSurfaceDescriptor
The SingleSurfaceDescriptor represents a Mesh that only contains one Surface. It can be used as a normal Mesh, but guarantees to only contain one surface, which makes many operations easier to perform. It is used for external attachment of plates to create geometry that is not two-manifold.
Hierarchy
↳ SingleSurfaceDescriptor
Implements
Index
Constructors
Properties
Methods
- _getAnnotations
- _getImplementation
- addAnnotation
- canBeModifiedSynchronously
- cleanupInvalidAnnotations
- destroy
- getAnalyzer
- getAnnotationsFor
- getAssembly
- getCache
- getChangeEventEmitter
- getDimensionConception
- getEdges
- getElementsThisDependsOn
- getGlobalTransforms
- getIsTwoManifold
- getIsValid
- getNumberOfNotDisabledSurfaces
- getParent
- getPoints
- getSurface
- getSurfaces
- getTransforms
- getTransformsChangeEventEmitter
- getTransformsDefiner
- hasEdge
- hasSurface
- isSurfaceDisabled
- mapLocalDirectionToWorld
- mapLocalPositionToWorld
- mapLocalRotationToWorld
- mapWorldDirectionToLocal
- mapWorldPositionToLocal
- mapWorldRotationToLocal
- modify
- modifySync
- removeAnnotation
- setAssembly
- setDimensionConception
- setImplementation
- setTransformsDefiner
Constructors
constructor
+ new SingleSurfaceDescriptor(referenceTransforms?: IReadOnlyTransforms): SingleSurfaceDescriptor
Inherited from Mesh.constructor
Defined in src/model/data/Concepts/Mesh/Mesh.ts:81
Parameters:
| Name | Type |
|---|---|
referenceTransforms? |
IReadOnlyTransforms |
Returns: SingleSurfaceDescriptor
Properties
Protected implementation
• implementation: IMeshImplementation
Inherited from Mesh.implementation
Defined in src/model/data/Concepts/Mesh/Mesh.ts:60
Methods
_getAnnotations
▸ _getAnnotations(reason: string): Set‹MeshAnnotation‹››
Inherited from Mesh._getAnnotations
Defined in src/model/data/Concepts/Mesh/Mesh.ts:536
WARNING: This method is for serialization only. Do not use this to modify the Mesh.
Parameters:
| Name | Type |
|---|---|
reason |
string |
Returns: Set‹MeshAnnotation‹››
_getImplementation
▸ _getImplementation(): IMeshImplementation
Inherited from Mesh._getImplementation
Defined in src/model/data/Concepts/Mesh/Mesh.ts:529
WARNING: This method is for serialization only. Do not use this to modify the Mesh.
Returns: IMeshImplementation
addAnnotation
▸ addAnnotation(meshAnnotation: MeshAnnotation): void
Inherited from Mesh.addAnnotation
Defined in src/model/data/Concepts/Mesh/Mesh.ts:182
Adds an annotation to the mesh.
Parameters:
| Name | Type | Description |
|---|---|---|
meshAnnotation |
MeshAnnotation | - |
Returns: void
canBeModifiedSynchronously
▸ canBeModifiedSynchronously(): boolean
Inherited from Mesh.canBeModifiedSynchronously
Defined in src/model/data/Concepts/Mesh/Mesh.ts:335
Returns: boolean
cleanupInvalidAnnotations
▸ cleanupInvalidAnnotations(): void
Inherited from Mesh.cleanupInvalidAnnotations
Defined in src/model/data/Concepts/Mesh/Mesh.ts:200
Removes all annotations that have an invalid anchor and thus do not point to anything useful anymore
Returns: void
destroy
▸ destroy(): void
Implementation of IPositionableElement
Defined in src/model/data/Concepts/Mesh/Mesh.ts:250
Returns: void
getAnalyzer
▸ getAnalyzer(type: VOLUME_ANALYZER): MeshVolumeAnalyzer
Inherited from Mesh.getAnalyzer
Defined in src/model/data/Concepts/Mesh/Mesh.ts:422
Get an analyzer of the given type. This analyzer will remain valid until the next MeshChangeEvent.
Parameters:
| Name | Type | Description |
|---|---|---|
type |
VOLUME_ANALYZER | - |
Returns: MeshVolumeAnalyzer
▸ getAnalyzer(type: SURFACE_ANALYZER): MeshSurfaceAnalyzer
Inherited from Mesh.getAnalyzer
Defined in src/model/data/Concepts/Mesh/Mesh.ts:423
Parameters:
| Name | Type |
|---|---|
type |
SURFACE_ANALYZER |
Returns: MeshSurfaceAnalyzer
▸ getAnalyzer(type: POINTS_ANALYZER): MeshPointsAnalyzer
Inherited from Mesh.getAnalyzer
Defined in src/model/data/Concepts/Mesh/Mesh.ts:424
Parameters:
| Name | Type |
|---|---|
type |
POINTS_ANALYZER |
Returns: MeshPointsAnalyzer
▸ getAnalyzer(type: EDGE_ANALYZER): MeshEdgeAnalyzer
Inherited from Mesh.getAnalyzer
Defined in src/model/data/Concepts/Mesh/Mesh.ts:425
Parameters:
| Name | Type |
|---|---|
type |
EDGE_ANALYZER |
Returns: MeshEdgeAnalyzer
getAnnotationsFor
▸ getAnnotationsFor(target: MeshElement): MeshAnnotation[]
Inherited from Mesh.getAnnotationsFor
Defined in src/model/data/Concepts/Mesh/Mesh.ts:187
Parameters:
| Name | Type |
|---|---|
target |
MeshElement |
Returns: MeshAnnotation[]
getAssembly
▸ getAssembly(): Assembly
Implementation of IPositionableElement
Inherited from Mesh.getAssembly
Defined in src/model/data/Concepts/Mesh/Mesh.ts:139
Returns: Assembly
getCache
▸ getCache(type: SURFACE_NORMALS): SurfaceNormalCache
Defined in src/model/data/Concepts/Mesh/Mesh.ts:386
Get a cache of the given type. This cache will remain valid until the next MeshChangeEvent.
Parameters:
| Name | Type | Description |
|---|---|---|
type |
SURFACE_NORMALS | - |
Returns: SurfaceNormalCache
▸ getCache(type: SURFACE_POINTS): SurfacePointsCache
Defined in src/model/data/Concepts/Mesh/Mesh.ts:387
Parameters:
| Name | Type |
|---|---|
type |
SURFACE_POINTS |
Returns: SurfacePointsCache
▸ getCache(type: SURFACE_PLANE): SurfacePlaneCache
Defined in src/model/data/Concepts/Mesh/Mesh.ts:388
Parameters:
| Name | Type |
|---|---|
type |
SURFACE_PLANE |
Returns: SurfacePlaneCache
getChangeEventEmitter
▸ getChangeEventEmitter(): IPublicEventEmitterInterface‹MeshChangeEvent‹››
Implementation of IPositionableElement
Inherited from Mesh.getChangeEventEmitter
Defined in src/model/data/Concepts/Mesh/Mesh.ts:147
Returns: IPublicEventEmitterInterface‹MeshChangeEvent‹››
getDimensionConception
▸ getDimensionConception(): DimensionConception
Inherited from Mesh.getDimensionConception
Defined in src/model/data/Concepts/Mesh/Mesh.ts:170
Returns: DimensionConception
getEdges
▸ getEdges(): MeshHalfEdge[]
Defined in src/model/data/Concepts/Mesh/Mesh.ts:123
Returns: MeshHalfEdge[]
getElementsThisDependsOn
▸ getElementsThisDependsOn(): IModelElement[]
Implementation of IPositionableElement
Inherited from Mesh.getElementsThisDependsOn
Defined in src/model/data/Concepts/Mesh/Mesh.ts:369
Returns: IModelElement[]
getGlobalTransforms
▸ getGlobalTransforms(): Transforms
Inherited from Mesh.getGlobalTransforms
Defined in src/model/data/Concepts/Mesh/Mesh.ts:159
Returns: Transforms
getIsTwoManifold
▸ getIsTwoManifold(): boolean
Inherited from Mesh.getIsTwoManifold
Defined in src/model/data/Concepts/Mesh/Mesh.ts:119
Returns: boolean
getIsValid
▸ getIsValid(): boolean
Implementation of IPositionableElement
Inherited from Mesh.getIsValid
Defined in src/model/data/Concepts/Mesh/Mesh.ts:241
Returns: boolean
getNumberOfNotDisabledSurfaces
▸ getNumberOfNotDisabledSurfaces(): number
Inherited from Mesh.getNumberOfNotDisabledSurfaces
Defined in src/model/data/Concepts/Mesh/Mesh.ts:215
Returns: number
getParent
▸ getParent(): ITransformable
Implementation of IPositionableElement
Defined in src/model/data/Concepts/Mesh/Mesh.ts:163
Returns: ITransformable
getPoints
▸ getPoints(): MeshPoint[]
Defined in src/model/data/Concepts/Mesh/Mesh.ts:131
Returns: MeshPoint[]
getSurface
▸ getSurface(): MeshSurface
Defined in src/model/data/Concepts/SingleSurfaceDescriptor.ts:42
Returns: MeshSurface
the single surface of this mesh
getSurfaces
▸ getSurfaces(): readonly MeshSurface[]
Inherited from Mesh.getSurfaces
Defined in src/model/data/Concepts/Mesh/Mesh.ts:111
Returns: readonly MeshSurface[]
the surfaces that define this mesh. Note that the transforms defined by the transforms-defining anchor are NOT applied (== surfaces are in "local coordinates"), this is the responsibility of whoever uses theses surfaces.
getTransforms
▸ getTransforms(): IReadOnlyTransforms | null
Implementation of IPositionableElement
Inherited from Mesh.getTransforms
Defined in src/model/data/Concepts/Mesh/Mesh.ts:155
Returns: IReadOnlyTransforms | null
getTransformsChangeEventEmitter
▸ getTransformsChangeEventEmitter(): IPublicEventEmitterInterface‹ITransformsChangeEvent›
Implementation of IPositionableElement
Inherited from Mesh.getTransformsChangeEventEmitter
Defined in src/model/data/Concepts/Mesh/Mesh.ts:378
Returns: IPublicEventEmitterInterface‹ITransformsChangeEvent›
getTransformsDefiner
▸ getTransformsDefiner(): IPositioningAnchor | null
Implementation of IPositionableElement
Inherited from Mesh.getTransformsDefiner
Defined in src/model/data/Concepts/Mesh/Mesh.ts:151
Returns: IPositioningAnchor | null
hasEdge
▸ hasEdge(edge: MeshHalfEdge): boolean
Defined in src/model/data/Concepts/Mesh/Mesh.ts:135
Parameters:
| Name | Type |
|---|---|
edge |
MeshHalfEdge |
Returns: boolean
hasSurface
▸ hasSurface(surface: MeshSurface): boolean
Inherited from Mesh.hasSurface
Defined in src/model/data/Concepts/Mesh/Mesh.ts:115
Parameters:
| Name | Type |
|---|---|
surface |
MeshSurface |
Returns: boolean
isSurfaceDisabled
▸ isSurfaceDisabled(surface: MeshSurface): boolean
Inherited from Mesh.isSurfaceDisabled
Defined in src/model/data/Concepts/Mesh/Mesh.ts:225
Parameters:
| Name | Type |
|---|---|
surface |
MeshSurface |
Returns: boolean
mapLocalDirectionToWorld
▸ mapLocalDirectionToWorld(localDirection: ReadonlyVector3, target: Vector3): Vector3
Inherited from Mesh.mapLocalDirectionToWorld
Defined in src/model/data/Concepts/Mesh/Mesh.ts:475
Maps a Vector3 direction from the mesh-local coordinate system to the world coordinate system Pretends identity transform if there is no assembly
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
localDirection |
ReadonlyVector3 | - | - |
target |
Vector3 | new Vector3() | - |
Returns: Vector3
mapLocalPositionToWorld
▸ mapLocalPositionToWorld(localPosition: ReadonlyVector3, target: Vector3): Vector3
Inherited from Mesh.mapLocalPositionToWorld
Defined in src/model/data/Concepts/Mesh/Mesh.ts:464
Maps a Vector3 position from the mesh-local coordinate system to the world coordinate system Pretends identity transform if there is no assembly
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
localPosition |
ReadonlyVector3 | - | - |
target |
Vector3 | new Vector3() | - |
Returns: Vector3
mapLocalRotationToWorld
▸ mapLocalRotationToWorld(localRotation: ReadonlyQuaternion, target: Quaternion): Quaternion
Inherited from Mesh.mapLocalRotationToWorld
Defined in src/model/data/Concepts/Mesh/Mesh.ts:486
Maps a Quaternion rotation from the mesh-local coordinate system to the world coordinate system Pretends identity transform if there is no assembly
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
localRotation |
ReadonlyQuaternion | - | - |
target |
Quaternion | new Quaternion() | - |
Returns: Quaternion
mapWorldDirectionToLocal
▸ mapWorldDirectionToLocal(worldDirection: Vector3, target: Vector3): Vector3
Inherited from Mesh.mapWorldDirectionToLocal
Defined in src/model/data/Concepts/Mesh/Mesh.ts:509
Maps a Vector3 direction from the world coordinate system to the mesh-local coordinate system Pretends identity transform if there is no assembly
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
worldDirection |
Vector3 | - | - |
target |
Vector3 | new Vector3() | - |
Returns: Vector3
mapWorldPositionToLocal
▸ mapWorldPositionToLocal(worldPosition: Vector3, target: Vector3): Vector3
Inherited from Mesh.mapWorldPositionToLocal
Defined in src/model/data/Concepts/Mesh/Mesh.ts:498
Maps a Vector3 position from the world coordinate system to the mesh-local coordinate system Pretends identity transform if there is no assembly
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
worldPosition |
Vector3 | - | - |
target |
Vector3 | new Vector3() | - |
Returns: Vector3
mapWorldRotationToLocal
▸ mapWorldRotationToLocal(worldRotation: Quaternion, target: Quaternion): Quaternion
Inherited from Mesh.mapWorldRotationToLocal
Defined in src/model/data/Concepts/Mesh/Mesh.ts:520
Maps a Quaternion rotation from the world coordinate system to the mesh-local coordinate system Pretends identity transform if there is no assembly
Parameters:
| Name | Type | Default | Description |
|---|---|---|---|
worldRotation |
Quaternion | - | - |
target |
Quaternion | new Quaternion() | - |
Returns: Quaternion
modify
▸ modify(callback: function): Promise‹void›
Defined in src/model/data/Concepts/SingleSurfaceDescriptor.ts:18
Parameters:
▪ callback: function
▸ (mesh: Mesh, meshImplementation: IMeshImplementation): Promise‹IMeshOperationResult›
Parameters:
| Name | Type |
|---|---|
mesh |
Mesh |
meshImplementation |
IMeshImplementation |
Returns: Promise‹void›
modifySync
▸ modifySync(callback: function): void
Overrides Mesh.modifySync
Defined in src/model/data/Concepts/SingleSurfaceDescriptor.ts:31
Parameters:
▪ callback: function
▸ (mesh: Mesh, meshImplementation: IMeshImplementation): IMeshOperationResult
Parameters:
| Name | Type |
|---|---|
mesh |
Mesh |
meshImplementation |
IMeshImplementation |
Returns: void
removeAnnotation
▸ removeAnnotation(meshAnnotation: MeshAnnotation): void
Inherited from Mesh.removeAnnotation
Defined in src/model/data/Concepts/Mesh/Mesh.ts:233
Removes an annotation from the set of mesh annotations
Parameters:
| Name | Type | Description |
|---|---|---|
meshAnnotation |
MeshAnnotation | - |
Returns: void
setAssembly
▸ setAssembly(assembly: Assembly): void
Implementation of IPositionableElement
Inherited from Mesh.setAssembly
Defined in src/model/data/Concepts/Mesh/Mesh.ts:143
Parameters:
| Name | Type |
|---|---|
assembly |
Assembly |
Returns: void
setDimensionConception
▸ setDimensionConception(dimensionConception: DimensionConception): void
Inherited from Mesh.setDimensionConception
Defined in src/model/data/Concepts/Mesh/Mesh.ts:174
Parameters:
| Name | Type |
|---|---|
dimensionConception |
DimensionConception |
Returns: void
setImplementation
▸ setImplementation(implementation: IMeshImplementation): Mesh‹›
Overrides Mesh.setImplementation
Defined in src/model/data/Concepts/SingleSurfaceDescriptor.ts:13
Parameters:
| Name | Type |
|---|---|
implementation |
IMeshImplementation |
Returns: Mesh‹›
setTransformsDefiner
▸ setTransformsDefiner(transformsAnchor: IPositioningAnchor | null): this
Inherited from Mesh.setTransformsDefiner
Defined in src/model/data/Concepts/Mesh/Mesh.ts:259
Replaces the transformsDefiningAnchor. Emits a transformsChange event with the new anchor.
Parameters:
| Name | Type | Description |
|---|---|---|
transformsAnchor |
IPositioningAnchor | null | - |
Returns: this