Options
All
  • Public
  • Public/Protected
  • All
Menu

Class GLTFParser

Hierarchy

  • GLTFParser

Index

Constructors

constructor

  • new GLTFParser(json: any, options: any): GLTFParser
  • Parameters

    • json: any
    • options: any

    Returns GLTFParser

Properties

associations

associations: any

cache

cache: any

cameraCache

cameraCache: any

extensions

extensions: any

fileLoader

fileLoader: any

json

json: any

lightCache

lightCache: any

loadScene

loadScene: any = (((): any => {// scene node hierachy builderfunction buildNodeHierachy(nodeId: any, parentObject: any, json: any, parser: any): any {const { THREE } = Externals.getInstance();const nodeDef = json.nodes[nodeId];return parser.getDependency('node', nodeId).then((node: any) => {if (nodeDef.skin === undefined) return node;// build skeleton here as welllet skinEntry: any;return parser.getDependency('skin', nodeDef.skin).then((skin: any) => {skinEntry = skin;const pendingJoints = [];for (let i = 0, il = skinEntry.joints.length; i < il; i++) {pendingJoints.push(parser.getDependency('node', skinEntry.joints[i]));}return Promise.all(pendingJoints);}).then((jointNodes: any) => {node.traverse((mesh: any) => {if (!mesh.isMesh) return;const bones = [];const boneInverses = [];for (let j = 0, jl = jointNodes.length; j < jl; j++) {const jointNode = jointNodes[j];if (jointNode) {bones.push(jointNode);const mat = new THREE.Matrix4();if (skinEntry.inverseBindMatrices !== undefined) {mat.fromArray(skinEntry.inverseBindMatrices.array, j * 16);}boneInverses.push(mat);} else {console.warn('THREE.GLTFLoader: Joint "%s" could not be found.', skinEntry.joints[j]);}}mesh.bind(new THREE.Skeleton(bones, boneInverses), mesh.matrixWorld);});return node;});}).then((node: any) => {// build node hierachyparentObject.add(node);const pending = [];if (nodeDef.children) {const children = nodeDef.children;for (let i = 0, il = children.length; i < il; i++) {const child = children[i];pending.push(buildNodeHierachy(child, node, json, parser));}}return Promise.all(pending);});}const that = this;return function loadScene(sceneIndex: any): any {const json = that.json;const extensions = that.extensions;const sceneDef = that.json.scenes[sceneIndex];const parser = that;const { THREE } = Externals.getInstance();// Loader returns Group, not Scene.// See: https://github.com/mrdoob/three.js/issues/18342#issuecomment-578981172const scene = new THREE.Group();if (sceneDef.name) scene.name = parser.createUniqueName(sceneDef.name);assignExtrasToUserData(scene, sceneDef);if (sceneDef.extensions) addUnknownExtensionsToUserData(extensions, scene, sceneDef);const nodeIds = sceneDef.nodes || [];const pending = [];for (let i = 0, il = nodeIds.length; i < il; i++) {pending.push(buildNodeHierachy(nodeIds[i], scene, json, parser));}return Promise.all(pending).then(() => scene);};})())

meshCache

meshCache: any

nodeNamesUsed

nodeNamesUsed: any

options

options: any

plugins

plugins: any

primitiveCache

primitiveCache: any

textureLoader

textureLoader: any

Methods

_addNodeRef

  • _addNodeRef(cache: any, index: any): any
  • Parameters

    • cache: any
    • index: any

    Returns any

_getNodeRef

  • _getNodeRef(cache: any, index: any, object: any): any
  • Parameters

    • cache: any
    • index: any
    • object: any

    Returns any

_invokeAll

  • _invokeAll(func: any): any
  • Parameters

    • func: any

    Returns any

_invokeOne

  • _invokeOne(func: any): any
  • Parameters

    • func: any

    Returns any

_markDefs

  • _markDefs(): any
  • Returns any

assignFinalMaterial

  • assignFinalMaterial(mesh: any): any
  • Parameters

    • mesh: any

    Returns any

assignTexture

  • assignTexture(materialParams: any, mapName: any, mapDef: any): any
  • Parameters

    • materialParams: any
    • mapName: any
    • mapDef: any

    Returns any

createUniqueName

  • createUniqueName(originalName: any): any
  • Parameters

    • originalName: any

    Returns any

getDependencies

  • getDependencies(type: any): any
  • Parameters

    • type: any

    Returns any

getDependency

  • getDependency(type: any, index: any): any
  • Parameters

    • type: any
    • index: any

    Returns any

getMaterialType

  • getMaterialType(): any
  • Returns any

loadAccessor

  • loadAccessor(accessorIndex: any): any
  • Parameters

    • accessorIndex: any

    Returns any

loadAnimation

  • loadAnimation(animationIndex: any): any
  • Parameters

    • animationIndex: any

    Returns any

loadBuffer

  • loadBuffer(bufferIndex: any): any
  • Parameters

    • bufferIndex: any

    Returns any

loadBufferView

  • loadBufferView(bufferViewIndex: any): any
  • Parameters

    • bufferViewIndex: any

    Returns any

loadCamera

  • loadCamera(cameraIndex: any): any
  • Parameters

    • cameraIndex: any

    Returns any

loadGeometries

  • loadGeometries(primitives: any): any
  • Parameters

    • primitives: any

    Returns any

loadMaterial

  • loadMaterial(materialIndex: any): any
  • Parameters

    • materialIndex: any

    Returns any

loadMesh

  • loadMesh(meshIndex: any): any
  • Parameters

    • meshIndex: any

    Returns any

loadNode

  • loadNode(nodeIndex: any): any
  • Parameters

    • nodeIndex: any

    Returns any

loadSkin

  • loadSkin(skinIndex: any): any
  • Parameters

    • skinIndex: any

    Returns any

loadTexture

  • loadTexture(textureIndex: any): any
  • Parameters

    • textureIndex: any

    Returns any

loadTextureImage

  • loadTextureImage(textureIndex: any, source: any, loader: any): any
  • Parameters

    • textureIndex: any
    • source: any
    • loader: any

    Returns any

parse

  • parse(onLoad: any, onError: any): any
  • Parameters

    • onLoad: any
    • onError: any

    Returns any

setExtensions

  • setExtensions(extensions: any): any
  • Parameters

    • extensions: any

    Returns any

setPlugins

  • setPlugins(plugins: any): any
  • Parameters

    • plugins: any

    Returns any