Skip to content

editorGlobalsMeshMerger

Class: MeshMerger

This class merges a hierarchy of Objects3D into a flat Object3D with only one mesh per material.

Hierarchy

  • MeshMerger

Index

Constructors

Properties

Methods

Constructors

constructor

+ new MeshMerger(nodeToMerge?: Object3D): MeshMerger

Defined in src/util/MeshMerger.ts:389

Parameters:

Name Type
nodeToMerge? Object3D

Returns: MeshMerger

Properties

Private Readonly mergedNode

mergedNode: Object3D

Defined in src/util/MeshMerger.ts:389


Private nodeToMerge

nodeToMerge: Object3D

Defined in src/util/MeshMerger.ts:388

Methods

getThreeNode

getThreeNode(): Object3D

Defined in src/util/MeshMerger.ts:405

Returns: Object3D


setNodeToMerge

setNodeToMerge(node: Object3D): void

Defined in src/util/MeshMerger.ts:401

Parameters:

Name Type
node Object3D

Returns: void


update

update(): void

Defined in src/util/MeshMerger.ts:409

Returns: void


Static Private _getAttributes

_getAttributes(meshes: SupportedObject3D[]): object

Defined in src/util/MeshMerger.ts:227

Parameters:

Name Type
meshes SupportedObject3D[]

Returns: object

  • attributes(): object

  • normal: boolean

  • plateUv: boolean

  • position: true

  • uv: boolean

  • uv2: boolean

  • index: boolean


Static Private _getMatrix

_getMatrix(base: SupportedObject3D, rootNode: Object3D): Matrix4

Defined in src/util/MeshMerger.ts:379

Returns the matrix of the base object in relation to the rootNode.

Parameters:

Name Type
base SupportedObject3D
rootNode Object3D

Returns: Matrix4


Static Private _getOriginalMeshByFaceIndex

_getOriginalMeshByFaceIndex(mesh: SupportedObject3D, faceIndex: any): SupportedObject3D | null

Defined in src/util/MeshMerger.ts:190

Parameters:

Name Type
mesh SupportedObject3D
faceIndex any

Returns: SupportedObject3D | null


Static Private _getOriginalParent

_getOriginalParent(mesh: SupportedObject3D): Object3D

Defined in src/util/MeshMerger.ts:211

Parameters:

Name Type
mesh SupportedObject3D

Returns: Object3D


Static Private _getPhysicalObjectFromObject3D

_getPhysicalObjectFromObject3D(object3D: Object3D): PhysicalObject | null

Defined in src/util/MeshMerger.ts:215

Parameters:

Name Type
object3D Object3D

Returns: PhysicalObject | null


Static Private _preallocateBufferAttributes

_preallocateBufferAttributes(meshes: SupportedObject3D[], attributes: ReturnType‹typeof _getAttributes›): object

Defined in src/util/MeshMerger.ts:321

Parameters:

Name Type
meshes SupportedObject3D[]
attributes ReturnType‹typeof _getAttributes›

Returns: object

  • index? : BufferAttribute

  • normal? : BufferAttribute

  • plateUv? : BufferAttribute

  • position: BufferAttribute

  • uv? : BufferAttribute

  • uv2? : BufferAttribute


Static Private _traverseAncestors

_traverseAncestors(base: SupportedObject3D, rootNode: Object3D, callback: function): void

Defined in src/util/MeshMerger.ts:178

Traverses the tree from the base node through all parents up to the root node. Calls the callback for each object. Callback is called for the base but not for the rootNode.

Parameters:

base: SupportedObject3D

rootNode: Object3D

callback: function

▸ (object3D: Object3D): void

Parameters:

Name Type
object3D Object3D

Returns: void


Static flatten

flatten(object: SupportedObject3D, rootNode: Object3D): Object3D

Defined in src/util/MeshMerger.ts:146

Clones the object, applies the matrix up to the rootNode and returns it.

Parameters:

Name Type Description
object SupportedObject3D -
rootNode Object3D -

Returns: Object3D


Static getPhysicalObjectByFaceIndex

getPhysicalObjectByFaceIndex(mesh: any, faceIndex: any): PhysicalObject

Defined in src/util/MeshMerger.ts:160

Parameters:

Name Type
mesh any
faceIndex any

Returns: PhysicalObject


Static isVisible

isVisible(object: Object3D): boolean

Defined in src/util/MeshMerger.ts:169

Parameters:

Name Type
object Object3D

Returns: boolean


Static merge

mergeT›(meshes: T[], Class: Constructor‹T›, material: any, rootNode: Object3D): T

Defined in src/util/MeshMerger.ts:21

Type parameters:

T: SupportedObject3D

Parameters:

Name Type
meshes T[]
Class Constructor‹T›
material any
rootNode Object3D

Returns: T


Static mergeGeometriesFromMeshes

mergeGeometriesFromMeshes(meshes: SupportedObject3D[], rootNode: Object3D): object

Defined in src/util/MeshMerger.ts:39

Parameters:

Name Type
meshes SupportedObject3D[]
rootNode Object3D

Returns: object