Class BasePrismoidPyramidMesh

A procedural mesh class that handles both prismoids and pyramids due to their similarily.

Hierarchy

Constructors

  • Create a new prismoid/pyramid hybrid. If the mesh is a prismoid, then an extrusion will be created.

    Parameters

    • engine: WonderlandEngine

      The Wonderland Engine instance to use this mesh for

    • polyline: vec2[]

      The cross-section of the prismoid.

    • bottomScale: number

      The scale of the bottom base. If 0, then an inverted pyramid will be created.

    • topScale: number

      The scale of the top base. If 0, then a pyramid will be created.

    • bottomOffset: vec3

      The offset of the bottom base.

    • topOffset: vec3

      The offset of the top base.

    • smoothNormalMaxAngle: null | number

      The maximum angle for automatic smoothing. if null, then no automatic smoothing will be done.

    • Optional hints: HintMap
    • baseMaterial: null | Material = null

      The WL.Material to use for the base triangles.

    • sideMaterial: null | Material = null

      The WL.Material to use fot the side triangles.

    Returns BasePrismoidPyramidMesh

Properties

autoDispose: boolean = false

If this flag is set, then dispose will be called after a CSG operation is done. It's recommended to call mark instead of setting this manually, since the method is chainable.

premadeMergeMap: null | MergeMap = null

A merge map that defines how to create a manifold from the submeshes.

submeshes: Submesh[] = []

The list of submeshes to assign to this group.

Accessors

  • get mergeMap(): MergeMap
  • Get the merge map of this MeshGroup. If the MeshGroup has no merge map yet, then a merge map will be automatically generated and cached. Note that this process can throw.

    Returns MergeMap

  • get submeshCount(): number
  • Get the number of submeshes inside this MeshGroup.

    Returns number

Methods

  • Destroy the Wonderland Engine meshes stored in this object. Note that if the submeshes are reused elsewhere, then this will destroy those too.

    Returns void

  • Encode into a format that is passable to the Manifold worker, along with a numeric mapping for materials.

    Parameters

    • materials: Material[]
    • transferables: Transferable[]

    Returns EncodedMeshGroup

  • Get the submeshes at a specific submesh index.

    Returns

    A pair containing a WL.Mesh instance and a WL.Material instance.

    Parameters

    • submeshIdx: number

      The index of the wanted submesh.

    Returns Submesh

  • Create a new MeshGroup from an EncodedMeshGroup.

    Parameters

    • engine: WonderlandEngine
    • encodedMeshGroup: EncodedMeshGroup
    • materials: Material[]

    Returns MeshGroup

  • Create a new MeshGroup from a WL.Mesh.

    WARNING: The submeshes array and the manifold mesh will have their ownership tranferred to this object. If you modify them later, they will be modified here as well, possibly corrupting the mesh. To avoid issues with this, do a deep clone of the inputs

    Parameters

    • mesh: Mesh

      A WL.Mesh instance.

    • material: null | Material = null

      A WL.Material instance. Null by default.

    Returns MeshGroup

Generated using TypeDoc