Skip to main content

Mesher

Mesher is a class that manages the creation and removal of THREE.Mesh objects from fragment data. It allows to efficiently retrieve and remove meshes for specific model items. 📘 API.

Extends

  • Component

Implements

  • Disposable_2

Properties

geometries

readonly geometries: ModelIdDataMap<object[]>

A map of model IDs to arrays of THREE.BufferGeometry objects. This is used to store and reuse the geometries generated by the mesher.

Methods

get()

get(modelIdMap, _config?): Promise<ModelIdDataMap<Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>[]>>

Retrieves meshes for specified model items, optionally applying a material and coordinate system transformation.

Parameters

ParameterTypeDescription
modelIdMapModelIdMapA map of model IDs to an array of local IDs, specifying which items to retrieve meshes for.
_config?objectOptional configuration object.
_config.applyTransformation?booleanWhether to bring the mesh to its original position or leave it at 0,0,0. Defaults to true.
_config.coordinate?booleanWhether to apply coordinate system transformation. Defaults to true.
_config.material?MaterialOptional material to apply to the meshes. If not provided, the default material is used.

Returns

Promise<ModelIdDataMap<Mesh<BufferGeometry<NormalBufferAttributes>, Material | Material[], Object3DEventMap>[]>>

A map of model IDs to a map of local IDs to an array of THREE.Mesh objects.


remove()

remove(modelIds): void

Removes the cached geometries by disposing the resources. This makes the meshes created by the component unusable as the geometry will no longer be present.

Parameters

ParameterTypeDescription
modelIdsstring[]An optional array of model IDs to remove. If not provided, all meshes will be removed.

Returns

void