manifold-3d
    Preparing search index...

    Class ManifoldPrimitive

    Hierarchy

    • ExtensionProperty<IManifoldPrimitive>
      • ManifoldPrimitive
    Index

    Properties

    "[$attributes]": GraphNodeAttributesInternal<this, Attributes>

    Attributes (literal values and GraphNode references) associated with this instance. For each GraphNode reference, the attributes stores a GraphEdge. List and Map references are stored as arrays and dictionaries of edges.

    "[$immutableKeys]": Set<string>

    Attributes included with getDefaultAttributes are considered immutable, and cannot be modifed by .setRef(), .copy(), or other GraphNode methods. Both the edges and the properties will be disposed with the parent GraphNode.

    Currently, only single-edge references (getRef/setRef) are supported as immutables.

    extensionName: "EXT_mesh_manifold"
    parentTypes: [MESH]

    List of supported Property types.

    propertyType: "ManifoldPrimitive"

    Property type.

    EXTENSION_NAME: string = NAME

    Methods

    • Parameters

      • type: string
      • listener: EventListener<GraphNodeEvent>

      Returns this

    • Makes a copy of this property, with the same resources (by reference) as the original.

      Returns this

    • Copies all data from another property to this one. Child properties are copied by reference, unless a 'resolve' function is given to override that.

      Parameters

      • other: this

        Property to copy references from.

      • Optionalresolve: PropertyResolver<Property<IProperty>>

        Function to resolve each Property being transferred. Default is identity.

      Returns this

    • Removes all inbound references to this object. At the end of the process the object is considered 'detached': it may hold references to child resources, but nothing holds references to it. A detached object may be re-attached.

      Returns this

    • Dispatches an event on the GraphNode, and on the associated Graph. Event types on the graph are prefixed, "node:[type]".

      Parameters

      • event: BaseEvent

      Returns this

    • Removes both inbound references to and outbound references from this object. At the end of the process the object holds no references, and nothing holds references to it. A disposed object is not reusable.

      Returns void

    • Returns true if two properties are deeply equivalent, recursively comparing the attributes of the properties. Optionally, a 'skip' set may be included, specifying attributes whose values should not be considered in the comparison.

      Example: Two Primitive Primitives are equivalent if they have accessors and materials with equivalent content — but not necessarily the same specific accessors and materials.

      Parameters

      • other: this
      • Optionalskip: Set<string>

      Returns boolean

    • Returns default attributes for the property. Empty lists and maps should be initialized to empty arrays and objects. Always invoke super.getDefaults() and extend the result.

      Returns Nullable<IManifoldPrimitive> & {
          manifoldPrimitive: null;
          mergeIndices: null;
          mergeValues: null;
      }

    • Returns a reference to the Extras object, containing application-specific data for this Property. Extras should be an Object, not a primitive value, for best portability.

      Returns Record<string, unknown>

    • Returns null | GraphNode<object> & Accessor

    • Returns null | GraphNode<object> & Accessor

    • Returns the name of this property. While names are not required to be unique, this is encouraged, and non-unique names will be overwritten in some tools. For custom data about a property, prefer to use Extras.

      Returns string

    • Returns Uint32Array<ArrayBufferLike> | number[]

    • Returns true if the node has been permanently removed from the graph.

      Returns boolean

    • Internal

      Returns true if two nodes are on the same Graph.

      Parameters

      • other: GraphNode

      Returns boolean

    • Returns a list of all properties that hold a reference to this property. For example, a material may hold references to various textures, but a texture does not hold references to the materials that use it.

      It is often necessary to filter the results for a particular type: some resources, like Accessors, may be referenced by different types of properties. Most properties include the Root as a parent, which is usually not of interest.

      Usage:

      const materials = texture
      .listParents()
      .filter((p) => p instanceof Material)

      Returns Property<IProperty>[]

    • Parameters

      • type: string
      • listener: EventListener<GraphNodeEvent>

      Returns this

    • Updates the Extras object, containing application-specific data for this Property. Extras should be an Object, not a primitive value, for best portability.

      Parameters

      • extras: Record<string, unknown>

      Returns this

    • Sets the name of this property. While names are not required to be unique, this is encouraged, and non-unique names will be overwritten in some tools. For custom data about a property, prefer to use Extras.

      Parameters

      • name: string

      Returns this