Root property of a glTF asset.

Any properties to be exported with a particular asset must be referenced (directly or indirectly) by the root. Metadata about the asset's license, generator, and glTF specification version are stored in the asset, accessible with .getAsset().

Properties are added to the root with factory methods on its Document, and removed by calling Property.dispose() on the resource. Any properties that have been created but not disposed will be included when calling the various root.list*() methods.

A document's root cannot be removed, and no other root may be created. Unlike other Property types, the .dispose(), .detach() methods have no useful function on a Root property.

Usage:

const root = document.getRoot();
const scene = document.createScene('myScene');
const node = document.createNode('myNode');
scene.addChild(node);

console.log(root.listScenes()); // → [scene x 1]

Reference: glTF → Concepts

Hierarchy

Properties

propertyType: ROOT = ...

Property type.

Methods

  • copy(other: Root, resolve?: <T>(t: T) => T): Root
  • dispose(): void
  • 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.

  • getDefaultScene(): Scene
  • getExtras(): Record<string, unknown>
  • 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.

  • getName(): string
  • 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.

  • isDisposed(): boolean
  • listAccessors(): Accessor[]
  • listAnimations(): Animation[]
  • listBuffers(): Buffer[]
  • listCameras(): Camera[]
  • listExtensionsRequired(): Extension[]
  • listExtensionsUsed(): Extension[]
  • listMaterials(): Material[]
  • listMeshes(): Mesh[]
  • listNodes(): Node[]
  • listParents(): Property[]
  • 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)
    
  • listScenes(): Scene[]
  • listSkins(): Skin[]
  • listTextures(): Texture[]
  • setExtras(extras: Record<string, unknown>): Root
  • setName(name: string): Root
  • 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.

Function symbol, f(📦) → 📦, where the argument and output are a box labeled 'glTF'.

Made by Don McCurdy TypeDoc documentation Copyright 2021 under MIT license