Skip to content

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

↳ SvgSurfaceDescriptor

Implements

Index

Constructors

Properties

Methods

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

Inherited from Mesh.destroy

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

Inherited from Mesh.getCache

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

Inherited from Mesh.getCache

Defined in src/model/data/Concepts/Mesh/Mesh.ts:387

Parameters:

Name Type
type SURFACE_POINTS

Returns: SurfacePointsCache

▸ getCache(type: SURFACE_PLANE): SurfacePlaneCache

Inherited from Mesh.getCache

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[]

Inherited from Mesh.getEdges

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

Inherited from Mesh.getParent

Defined in src/model/data/Concepts/Mesh/Mesh.ts:163

Returns: ITransformable


getPoints

▸ getPoints(): MeshPoint[]

Inherited from Mesh.getPoints

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

Inherited from Mesh.hasEdge

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›

Overrides Mesh.modify

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