Options
All
  • Public
  • Public/Protected
  • All
Menu

A BABYLON.TransformNode which attaches content to a known point (landmark) on a face as it moves around in the camera view. Landmarks will remain accurate, even as the user's expression changes.

see

https://docs.zap.works/universal-ar/web-libraries/babylonjs/face-tracking/

Hierarchy

  • TransformNode
    • FaceAnchorTransformNode

Index

Constructors

Properties

Accessors

Methods

Constructors

constructor

  • Constructs a new FaceLandmarkGroup.

    Parameters

    • name: string

      The name of the transform node.

    • _camera: Camera
    • faceTracker: FaceTracker

      The face tracker which will be used.

    • landmark: FaceLandmarkName

      The landmark to which the group will be anchored.

    • scene: Scene

      A babylonjs scene.

    Returns FaceAnchorTransformNode

Properties

animations

animations: Animation[]

Gets a list of Animations associated with the node

currentAnchor

currentAnchor: undefined | FaceAnchor

Readonly faceTracker

faceTracker: FaceTracker

id

id: string

Gets or sets the id of the node

ignoreNonUniformScaling

ignoreNonUniformScaling: boolean

Gets or sets a boolean indicating that non uniform scaling (when at least one component is different from others) should be ignored. By default the system will update normals to compensate

inspectableCustomProperties

inspectableCustomProperties: IInspectable[]

List of inspectable custom properties (used by the Inspector)

see

https://doc.babylonjs.com/how_to/debug_layer#extensibility

landmark

landmark: FaceLandmark

metadata

metadata: any

Gets or sets an object used to store user defined information for the node

name

name: string

Gets or sets the name of the node

onAfterWorldMatrixUpdateObservable

onAfterWorldMatrixUpdateObservable: Observable<TransformNode>

An event triggered after the world matrix is updated

onDisposeObservable

onDisposeObservable: Observable<Node>

An event triggered when the mesh is disposed

onReady

onReady: Nullable<(node: Node) => void>

Callback raised when the node is ready to be used

reIntegrateRotationIntoRotationQuaternion

reIntegrateRotationIntoRotationQuaternion: boolean

Gets or sets a boolean indicating that even if rotationQuaternion is defined, you can keep updating rotation property and Babylon.js will just mix both

reservedDataStore

reservedDataStore: any

For internal use only. Please do not use.

scalingDeterminant

scalingDeterminant: number

Multiplication factor on scale x/y/z when computing the world matrix. Eg. for a 1x1x1 cube setting this to 2 will make it a 2x2x2 cube

state

state: string

Gets or sets a string used to store user defined state for the node

uniqueId

uniqueId: number

Gets or sets the unique id of the node

Static BILLBOARDMODE_ALL

BILLBOARDMODE_ALL: number

Object will rotate to face the camera

Static BILLBOARDMODE_NONE

BILLBOARDMODE_NONE: number

Object will not rotate to face the camera

Static BILLBOARDMODE_USE_POSITION

BILLBOARDMODE_USE_POSITION: number

Object will rotate to face the camera's position instead of orientation

Static BILLBOARDMODE_X

BILLBOARDMODE_X: number

Object will rotate to face the camera but only on the x axis

Static BILLBOARDMODE_Y

BILLBOARDMODE_Y: number

Object will rotate to face the camera but only on the y axis

Static BILLBOARDMODE_Z

BILLBOARDMODE_Z: number

Object will rotate to face the camera but only on the z axis

Accessors

absolutePosition

  • get absolutePosition(): Vector3
  • Returns the current mesh absolute position. Returns a Vector3.

    Returns Vector3

absoluteRotationQuaternion

  • get absoluteRotationQuaternion(): Quaternion
  • Returns the current mesh absolute rotation. Returns a Quaternion.

    Returns Quaternion

absoluteScaling

  • get absoluteScaling(): Vector3
  • Returns the current mesh absolute scaling. Returns a Vector3.

    Returns Vector3

animationPropertiesOverride

  • get animationPropertiesOverride(): Nullable<AnimationPropertiesOverride>
  • set animationPropertiesOverride(value: Nullable<AnimationPropertiesOverride>): void
  • Gets or sets the animation properties override

    Returns Nullable<AnimationPropertiesOverride>

  • Gets or sets the animation properties override

    Parameters

    • value: Nullable<AnimationPropertiesOverride>

    Returns void

behaviors

  • get behaviors(): Behavior<Node>[]

billboardMode

  • get billboardMode(): number
  • set billboardMode(value: number): void
  • Gets or sets the billboard mode. Default is 0.

    Value Type Description
    0 BILLBOARDMODE_NONE
    1 BILLBOARDMODE_X
    2 BILLBOARDMODE_Y
    4 BILLBOARDMODE_Z
    7 BILLBOARDMODE_ALL

    Returns number

  • Gets or sets the billboard mode. Default is 0.

    Value Type Description
    0 BILLBOARDMODE_NONE
    1 BILLBOARDMODE_X
    2 BILLBOARDMODE_Y
    4 BILLBOARDMODE_Z
    7 BILLBOARDMODE_ALL

    Parameters

    • value: number

    Returns void

doNotSerialize

  • get doNotSerialize(): boolean
  • set doNotSerialize(value: boolean): void
  • Gets or sets a boolean used to define if the node must be serialized

    Returns boolean

  • Gets or sets a boolean used to define if the node must be serialized

    Parameters

    • value: boolean

    Returns void

forward

  • get forward(): Vector3
  • The forward direction of that transform in world space.

    Returns Vector3

infiniteDistance

  • get infiniteDistance(): boolean
  • set infiniteDistance(value: boolean): void
  • Gets or sets the distance of the object to max, often used by skybox

    Returns boolean

  • Gets or sets the distance of the object to max, often used by skybox

    Parameters

    • value: boolean

    Returns void

isWorldMatrixFrozen

  • get isWorldMatrixFrozen(): boolean
  • True if the World matrix has been frozen.

    Returns boolean

nonUniformScaling

  • get nonUniformScaling(): boolean
  • True if the scaling property of this object is non uniform eg. (1,2,1)

    Returns boolean

onDispose

  • set onDispose(callback: () => void): void
  • Sets a callback that will be raised when the node will be disposed

    Parameters

    • callback: () => void
        • (): void
        • Returns void

    Returns void

parent

  • get parent(): Nullable<Node>
  • set parent(parent: Nullable<Node>): void
  • Gets or sets the parent of the node (without keeping the current position in the scene)

    Returns Nullable<Node>

  • Gets or sets the parent of the node (without keeping the current position in the scene)

    see

    https://doc.babylonjs.com/how_to/parenting

    Parameters

    • parent: Nullable<Node>

    Returns void

position

  • get position(): Vector3
  • set position(newPosition: Vector3): void
  • Gets or set the node position (default is (0.0, 0.0, 0.0))

    Returns Vector3

  • Gets or set the node position (default is (0.0, 0.0, 0.0))

    Parameters

    • newPosition: Vector3

    Returns void

preserveParentRotationForBillboard

  • get preserveParentRotationForBillboard(): boolean
  • set preserveParentRotationForBillboard(value: boolean): void
  • Gets or sets a boolean indicating that parent rotation should be preserved when using billboards. This could be useful for glTF objects where parent rotation helps converting from right handed to left handed

    Returns boolean

  • Gets or sets a boolean indicating that parent rotation should be preserved when using billboards. This could be useful for glTF objects where parent rotation helps converting from right handed to left handed

    Parameters

    • value: boolean

    Returns void

right

  • get right(): Vector3
  • The right direction of that transform in world space.

    Returns Vector3

rotation

  • get rotation(): Vector3
  • set rotation(newRotation: Vector3): void
  • Gets or sets the rotation property : a Vector3 defining the rotation value in radians around each local axis X, Y, Z (default is (0.0, 0.0, 0.0)). If rotation quaternion is set, this Vector3 will be ignored and copy from the quaternion

    Returns Vector3

  • Gets or sets the rotation property : a Vector3 defining the rotation value in radians around each local axis X, Y, Z (default is (0.0, 0.0, 0.0)). If rotation quaternion is set, this Vector3 will be ignored and copy from the quaternion

    Parameters

    • newRotation: Vector3

    Returns void

rotationQuaternion

  • get rotationQuaternion(): Nullable<Quaternion>
  • set rotationQuaternion(quaternion: Nullable<Quaternion>): void
  • Gets or sets the rotation Quaternion property : this a Quaternion object defining the node rotation by using a unit quaternion (undefined by default, but can be null). If set, only the rotationQuaternion is then used to compute the node rotation (ie. node.rotation will be ignored)

    Returns Nullable<Quaternion>

  • Gets or sets the rotation Quaternion property : this a Quaternion object defining the node rotation by using a unit quaternion (undefined by default, but can be null). If set, only the rotationQuaternion is then used to compute the node rotation (ie. node.rotation will be ignored)

    Parameters

    • quaternion: Nullable<Quaternion>

    Returns void

scaling

  • get scaling(): Vector3
  • set scaling(newScaling: Vector3): void
  • Gets or sets the scaling property : a Vector3 defining the node scaling along each local axis X, Y, Z (default is (0.0, 0.0, 0.0)).

    Returns Vector3

  • Gets or sets the scaling property : a Vector3 defining the node scaling along each local axis X, Y, Z (default is (0.0, 0.0, 0.0)).

    Parameters

    • newScaling: Vector3

    Returns void

up

  • get up(): Vector3
  • The up direction of that transform in world space.

    Returns Vector3

worldMatrixFromCache

  • get worldMatrixFromCache(): Matrix
  • Returns directly the latest state of the mesh World matrix. A Matrix is returned.

    Returns Matrix

Methods

addBehavior

  • addBehavior(behavior: Behavior<Node>, attachImmediately?: boolean): Node
  • Attach a behavior to the node

    see

    https://doc.babylonjs.com/features/behaviour

    Parameters

    • behavior: Behavior<Node>

      defines the behavior to attach

    • Optional attachImmediately: boolean

      defines that the behavior must be attached even if the scene is still loading

    Returns Node

    the current Node

addRotation

  • addRotation(x: number, y: number, z: number): TransformNode
  • Adds a rotation step to the mesh current rotation. x, y, z are Euler angles expressed in radians. This methods updates the current mesh rotation, either mesh.rotation, either mesh.rotationQuaternion if it's set. This means this rotation is made in the mesh local space only. It's useful to set a custom rotation order different from the BJS standard one YXZ. Example : this rotates the mesh first around its local X axis, then around its local Z axis, finally around its local Y axis.

    mesh.addRotation(x1, 0, 0).addRotation(0, 0, z2).addRotation(0, 0, y3);
    

    Note that addRotation() accumulates the passed rotation values to the current ones and computes the .rotation or .rotationQuaternion updated values. Under the hood, only quaternions are used. So it's a little faster is you use .rotationQuaternion because it doesn't need to translate them back to Euler angles.

    Parameters

    • x: number

      Rotation to add

    • y: number

      Rotation to add

    • z: number

      Rotation to add

    Returns TransformNode

    the TransformNode.

attachToBone

  • attachToBone(bone: Bone, affectedTransformNode: TransformNode): TransformNode
  • Attach the current TransformNode to another TransformNode associated with a bone

    Parameters

    • bone: Bone

      Bone affecting the TransformNode

    • affectedTransformNode: TransformNode

      TransformNode associated with the bone

    Returns TransformNode

    this object

beginAnimation

  • beginAnimation(name: string, loop?: boolean, speedRatio?: number, onAnimationEnd?: () => void): Nullable<Animatable>
  • Will start the animation sequence

    Parameters

    • name: string

      defines the range frames for animation sequence

    • Optional loop: boolean

      defines if the animation should loop (false by default)

    • Optional speedRatio: number

      defines the speed factor in which to run the animation (1 by default)

    • Optional onAnimationEnd: () => void

      defines a function to be executed when the animation ended (undefined by default)

        • (): void
        • Returns void

    Returns Nullable<Animatable>

    the object created for this animation. If range does not exist, it will return null

clone

  • clone(name: string, newParent: Nullable<Node>, doNotCloneChildren?: boolean): Nullable<TransformNode>
  • Clone the current transform node

    Parameters

    • name: string

      Name of the new clone

    • newParent: Nullable<Node>

      New parent for the clone

    • Optional doNotCloneChildren: boolean

      Do not clone children hierarchy

    Returns Nullable<TransformNode>

    the new transform node

computeWorldMatrix

  • computeWorldMatrix(force?: boolean): Matrix
  • Computes the world matrix of the node

    Parameters

    • Optional force: boolean

      defines if the cache version should be invalidated forcing the world matrix to be created from scratch

    Returns Matrix

    the world matrix

createAnimationRange

  • createAnimationRange(name: string, from: number, to: number): void
  • Creates an animation range for this node

    Parameters

    • name: string

      defines the name of the range

    • from: number

      defines the starting key

    • to: number

      defines the end key

    Returns void

deleteAnimationRange

  • deleteAnimationRange(name: string, deleteFrames?: boolean): void
  • Delete a specific animation range

    Parameters

    • name: string

      defines the name of the range to delete

    • Optional deleteFrames: boolean

      defines if animation frames from the range must be deleted as well

    Returns void

detachFromBone

  • detachFromBone(): TransformNode
  • Detach the transform node if its associated with a bone

    Returns TransformNode

    this object

dispose

  • dispose(): void

freezeWorldMatrix

  • freezeWorldMatrix(newWorldMatrix?: Nullable<Matrix>): TransformNode
  • Prevents the World matrix to be computed any longer

    Parameters

    • Optional newWorldMatrix: Nullable<Matrix>

      defines an optional matrix to use as world matrix

    Returns TransformNode

    the TransformNode.

getAbsolutePivotPoint

  • getAbsolutePivotPoint(): Vector3
  • Returns a new Vector3 set with the mesh pivot point World coordinates.

    Returns Vector3

    a new Vector3 set with the mesh pivot point World coordinates.

getAbsolutePivotPointToRef

  • getAbsolutePivotPointToRef(result: Vector3): TransformNode
  • Sets the Vector3 "result" coordinates with the mesh pivot point World coordinates.

    Parameters

    • result: Vector3

      vector3 to store the result

    Returns TransformNode

    this TransformNode.

getAbsolutePosition

  • getAbsolutePosition(): Vector3
  • Retuns the mesh absolute position in the World.

    Returns Vector3

    a Vector3.

getAnimationByName

  • getAnimationByName(name: string): Nullable<Animation>
  • Get an animation by name

    Parameters

    • name: string

      defines the name of the animation to look for

    Returns Nullable<Animation>

    null if not found else the requested animation

getAnimationRange

  • getAnimationRange(name: string): Nullable<AnimationRange>
  • Get an animation range by name

    Parameters

    • name: string

      defines the name of the animation range to look for

    Returns Nullable<AnimationRange>

    null if not found else the requested animation range

getAnimationRanges

  • getAnimationRanges(): Nullable<AnimationRange>[]
  • Gets the list of all animation ranges defined on this node

    Returns Nullable<AnimationRange>[]

    an array

getBehaviorByName

  • getBehaviorByName(name: string): Nullable<Behavior<Node>>
  • Gets an attached behavior by name

    see

    https://doc.babylonjs.com/features/behaviour

    Parameters

    • name: string

      defines the name of the behavior to look for

    Returns Nullable<Behavior<Node>>

    null if behavior was not found else the requested behavior

getChildMeshes

  • getChildMeshes(directDescendantsOnly?: boolean, predicate?: (node: Node) => boolean): AbstractMesh[]
  • Get all child-meshes of this node

    Parameters

    • Optional directDescendantsOnly: boolean

      defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered (Default: false)

    • Optional predicate: (node: Node) => boolean

      defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored

        • (node: Node): boolean
        • Parameters

          • node: Node

          Returns boolean

    Returns AbstractMesh[]

    an array of AbstractMesh

getChildTransformNodes

  • getChildTransformNodes(directDescendantsOnly?: boolean, predicate?: (node: Node) => boolean): TransformNode[]
  • Get all child-transformNodes of this node

    Parameters

    • Optional directDescendantsOnly: boolean

      defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered

    • Optional predicate: (node: Node) => boolean

      defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored

        • (node: Node): boolean
        • Parameters

          • node: Node

          Returns boolean

    Returns TransformNode[]

    an array of TransformNode

getChildren

  • getChildren(predicate?: (node: Node) => boolean, directDescendantsOnly?: boolean): Node[]
  • Get all direct children of this node

    Parameters

    • Optional predicate: (node: Node) => boolean

      defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored

        • (node: Node): boolean
        • Parameters

          • node: Node

          Returns boolean

    • Optional directDescendantsOnly: boolean

      defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered (Default: true)

    Returns Node[]

    an array of Node

getClassName

  • getClassName(): string
  • Gets a string identifying the name of the class

    Returns string

    "TransformNode" string

getDescendants

  • getDescendants(directDescendantsOnly?: boolean, predicate?: (node: Node) => boolean): Node[]
  • Will return all nodes that have this node as ascendant

    Parameters

    • Optional directDescendantsOnly: boolean

      defines if true only direct descendants of 'this' will be considered, if false direct and also indirect (children of children, an so on in a recursive manner) descendants of 'this' will be considered

    • Optional predicate: (node: Node) => boolean

      defines an optional predicate that will be called on every evaluated child, the predicate must return true for a given child to be part of the result, otherwise it will be ignored

        • (node: Node): boolean
        • Parameters

          • node: Node

          Returns boolean

    Returns Node[]

    all children nodes of all types

getDirection

  • getDirection(localAxis: Vector3): Vector3
  • Returns a new Vector3 that is the localAxis, expressed in the mesh local space, rotated like the mesh. This Vector3 is expressed in the World space.

    Parameters

    • localAxis: Vector3

      axis to rotate

    Returns Vector3

    a new Vector3 that is the localAxis, expressed in the mesh local space, rotated like the mesh.

getDirectionToRef

  • getDirectionToRef(localAxis: Vector3, result: Vector3): TransformNode
  • Sets the Vector3 "result" as the rotated Vector3 "localAxis" in the same rotation than the mesh. localAxis is expressed in the mesh local space. result is computed in the Wordl space from the mesh World matrix.

    Parameters

    • localAxis: Vector3

      axis to rotate

    • result: Vector3

      the resulting transformnode

    Returns TransformNode

    this TransformNode.

getDistanceToCamera

  • getDistanceToCamera(camera?: Nullable<Camera>): number
  • Returns the distance from the mesh to the active camera

    Parameters

    • Optional camera: Nullable<Camera>

      defines the camera to use

    Returns number

    the distance

getEngine

  • getEngine(): Engine
  • Gets the engine of the node

    Returns Engine

    a Engine

getHierarchyBoundingVectors

  • getHierarchyBoundingVectors(includeDescendants?: boolean, predicate?: Nullable<(abstractMesh: AbstractMesh) => boolean>): { max: Vector3; min: Vector3 }
  • Return the minimum and maximum world vectors of the entire hierarchy under current node

    Parameters

    • Optional includeDescendants: boolean

      Include bounding info from descendants as well (true by default)

    • Optional predicate: Nullable<(abstractMesh: AbstractMesh) => boolean>

      defines a callback function that can be customize to filter what meshes should be included in the list used to compute the bounding vectors

    Returns { max: Vector3; min: Vector3 }

    the new bounding vectors

    • max: Vector3
    • min: Vector3

getPivotMatrix

  • getPivotMatrix(): Matrix
  • Returns the mesh pivot matrix. Default : Identity.

    Returns Matrix

    the matrix

getPivotPoint

  • getPivotPoint(): Vector3
  • Returns a new Vector3 set with the mesh pivot point coordinates in the local space.

    Returns Vector3

    the pivot point

getPivotPointToRef

  • getPivotPointToRef(result: Vector3): TransformNode
  • Sets the passed Vector3 "result" with the coordinates of the mesh pivot point in the local space.

    Parameters

    • result: Vector3

      the vector3 to store the result

    Returns TransformNode

    this TransformNode.

getPoseMatrix

  • getPoseMatrix(): Matrix
  • Returns the mesh Pose matrix.

    Returns Matrix

    the pose matrix

getPositionExpressedInLocalSpace

  • getPositionExpressedInLocalSpace(): Vector3
  • Returns the mesh position in the local space from the current World matrix values.

    Returns Vector3

    a new Vector3.

getPositionInCameraSpace

  • getPositionInCameraSpace(camera?: Nullable<Camera>): Vector3
  • Gets the position of the current mesh in camera space

    Parameters

    • Optional camera: Nullable<Camera>

      defines the camera to use

    Returns Vector3

    a position

getScene

  • getScene(): Scene
  • Gets the scene of the node

    Returns Scene

    a scene

getWorldMatrix

  • getWorldMatrix(): Matrix
  • Returns the latest update of the World matrix

    Returns Matrix

    a Matrix

instantiateHierarchy

  • instantiateHierarchy(newParent?: Nullable<TransformNode>, options?: { doNotInstantiate: boolean }, onNewNodeCreated?: (source: TransformNode, clone: TransformNode) => void): Nullable<TransformNode>
  • Instantiate (when possible) or clone that node with its hierarchy

    Parameters

    • Optional newParent: Nullable<TransformNode>

      defines the new parent to use for the instance (or clone)

    • Optional options: { doNotInstantiate: boolean }

      defines options to configure how copy is done

      • doNotInstantiate: boolean
    • Optional onNewNodeCreated: (source: TransformNode, clone: TransformNode) => void

      defines an option callback to call when a clone or an instance is created

        • (source: TransformNode, clone: TransformNode): void
        • Parameters

          • source: TransformNode
          • clone: TransformNode

          Returns void

    Returns Nullable<TransformNode>

    an instance (or a clone) of the current node with its hiearchy

isDescendantOf

  • isDescendantOf(ancestor: Node): boolean
  • Is this node a descendant of the given node? The function will iterate up the hierarchy until the ancestor was found or no more parents defined

    Parameters

    • ancestor: Node

      defines the parent node to inspect

    Returns boolean

    a boolean indicating if this node is a descendant of the given node

isDisposed

  • isDisposed(): boolean
  • Gets a boolean indicating if the node has been disposed

    Returns boolean

    true if the node was disposed

isEnabled

  • isEnabled(checkAncestors?: boolean): boolean
  • Is this node enabled? If the node has a parent, all ancestors will be checked and false will be returned if any are false (not enabled), otherwise will return true

    Parameters

    • Optional checkAncestors: boolean

      indicates if this method should check the ancestors. The default is to check the ancestors. If set to false, the method will return the value of this node without checking ancestors

    Returns boolean

    whether this node (and its parent) is enabled

isReady

  • isReady(completeCheck?: boolean): boolean
  • Is this node ready to be used/rendered

    Parameters

    • Optional completeCheck: boolean

      defines if a complete check (including materials and lights) has to be done (false by default)

    Returns boolean

    true if the node is ready

locallyTranslate

  • locallyTranslate(vector3: Vector3): TransformNode
  • Translates the mesh along the passed Vector3 in its local space.

    Parameters

    • vector3: Vector3

      the distance to translate in localspace

    Returns TransformNode

    the TransformNode.

lookAt

  • lookAt(targetPoint: Vector3, yawCor?: number, pitchCor?: number, rollCor?: number, space?: Space): TransformNode
  • Orients a mesh towards a target point. Mesh must be drawn facing user.

    Parameters

    • targetPoint: Vector3

      the position (must be in same space as current mesh) to look at

    • Optional yawCor: number

      optional yaw (y-axis) correction in radians

    • Optional pitchCor: number

      optional pitch (x-axis) correction in radians

    • Optional rollCor: number

      optional roll (z-axis) correction in radians

    • Optional space: Space

      the choosen space of the target

    Returns TransformNode

    the TransformNode.

markAsDirty

  • markAsDirty(property: string): TransformNode
  • Flag the transform node as dirty (Forcing it to update everything)

    Parameters

    • property: string

      if set to "rotation" the objects rotationQuaternion will be set to null

    Returns TransformNode

    this transform node

normalizeToUnitCube

  • normalizeToUnitCube(includeDescendants?: boolean, ignoreRotation?: boolean, predicate?: Nullable<(node: AbstractMesh) => boolean>): TransformNode
  • Uniformly scales the mesh to fit inside of a unit cube (1 X 1 X 1 units)

    Parameters

    • Optional includeDescendants: boolean

      Use the hierarchy's bounding box instead of the mesh's bounding box. Default is false

    • Optional ignoreRotation: boolean

      ignore rotation when computing the scale (ie. object will be axis aligned). Default is false

    • Optional predicate: Nullable<(node: AbstractMesh) => boolean>

      predicate that is passed in to getHierarchyBoundingVectors when selecting which object should be included when scaling

    Returns TransformNode

    the current mesh

registerAfterWorldMatrixUpdate

  • registerAfterWorldMatrixUpdate(func: (mesh: TransformNode) => void): TransformNode
  • If you'd like to be called back after the mesh position, rotation or scaling has been updated.

    Parameters

    • func: (mesh: TransformNode) => void

      callback function to add

        • (mesh: TransformNode): void
        • Parameters

          • mesh: TransformNode

          Returns void

    Returns TransformNode

    the TransformNode.

removeBehavior

  • removeBehavior(behavior: Behavior<Node>): Node
  • Remove an attached behavior

    see

    https://doc.babylonjs.com/features/behaviour

    Parameters

    • behavior: Behavior<Node>

      defines the behavior to attach

    Returns Node

    the current Node

resetLocalMatrix

  • resetLocalMatrix(independentOfChildren?: boolean): void
  • Resets this nodeTransform's local matrix to Matrix.Identity().

    Parameters

    • Optional independentOfChildren: boolean

      indicates if all child nodeTransform's world-space transform should be preserved.

    Returns void

rotate

  • rotate(axis: Vector3, amount: number, space?: Space): TransformNode
  • Rotates the mesh around the axis vector for the passed angle (amount) expressed in radians, in the given space. space (default LOCAL) can be either Space.LOCAL, either Space.WORLD. Note that the property rotationQuaternion is then automatically updated and the property rotation is set to (0,0,0) and no longer used. The passed axis is also normalized.

    Parameters

    • axis: Vector3

      the axis to rotate around

    • amount: number

      the amount to rotate in radians

    • Optional space: Space

      Space to rotate in (Default: local)

    Returns TransformNode

    the TransformNode.

rotateAround

  • rotateAround(point: Vector3, axis: Vector3, amount: number): TransformNode
  • Rotates the mesh around the axis vector for the passed angle (amount) expressed in radians, in world space. Note that the property rotationQuaternion is then automatically updated and the property rotation is set to (0,0,0) and no longer used. The passed axis is also normalized. . Method is based on http://www.euclideanspace.com/maths/geometry/affine/aroundPoint/index.htm

    Parameters

    • point: Vector3

      the point to rotate around

    • axis: Vector3

      the axis to rotate around

    • amount: number

      the amount to rotate in radians

    Returns TransformNode

    the TransformNode

serialize

  • serialize(currentSerializationObject?: any): any
  • Serializes the objects information.

    Parameters

    • Optional currentSerializationObject: any

      defines the object to serialize in

    Returns any

    the serialized object

serializeAnimationRanges

  • serializeAnimationRanges(): any
  • Serialize animation ranges into a JSON compatible object

    Returns any

    serialization object

setAbsolutePosition

  • setAbsolutePosition(absolutePosition: Vector3): TransformNode
  • Sets the mesh absolute position in the World from a Vector3 or an Array(3).

    Parameters

    • absolutePosition: Vector3

      the absolute position to set

    Returns TransformNode

    the TransformNode.

setDirection

  • setDirection(localAxis: Vector3, yawCor?: number, pitchCor?: number, rollCor?: number): TransformNode
  • Sets this transform node rotation to the given local axis.

    Parameters

    • localAxis: Vector3

      the axis in local space

    • Optional yawCor: number

      optional yaw (y-axis) correction in radians

    • Optional pitchCor: number

      optional pitch (x-axis) correction in radians

    • Optional rollCor: number

      optional roll (z-axis) correction in radians

    Returns TransformNode

    this TransformNode

setEnabled

  • setEnabled(value: boolean): void
  • Set the enabled state of this node

    Parameters

    • value: boolean

      defines the new enabled state

    Returns void

setParent

  • setParent(node: Nullable<Node>): TransformNode
  • Defines the passed node as the parent of the current node. The node will remain exactly where it is and its position / rotation will be updated accordingly

    see

    https://doc.babylonjs.com/how_to/parenting

    Parameters

    • node: Nullable<Node>

      the node ot set as the parent

    Returns TransformNode

    this TransformNode.

setPivotMatrix

  • setPivotMatrix(matrix: DeepImmutableObject<Matrix>, postMultiplyPivotMatrix?: boolean): TransformNode
  • Sets a new pivot matrix to the current node

    Parameters

    • matrix: DeepImmutableObject<Matrix>

      defines the new pivot matrix to use

    • Optional postMultiplyPivotMatrix: boolean

      defines if the pivot matrix must be cancelled in the world matrix. When this parameter is set to true (default), the inverse of the pivot matrix is also applied at the end to cancel the transformation effect

    Returns TransformNode

    the current TransformNode

setPivotPoint

  • setPivotPoint(point: Vector3, space?: Space): TransformNode
  • Sets a new pivot point to the current node

    Parameters

    • point: Vector3

      defines the new pivot point to use

    • Optional space: Space

      defines if the point is in world or local space (local by default)

    Returns TransformNode

    the current TransformNode

setPositionWithLocalVector

  • setPositionWithLocalVector(vector3: Vector3): TransformNode
  • Sets the mesh position in its local space.

    Parameters

    • vector3: Vector3

      the position to set in localspace

    Returns TransformNode

    the TransformNode.

setPreTransformMatrix

  • setPreTransformMatrix(matrix: Matrix): TransformNode
  • Sets a new matrix to apply before all other transformation

    Parameters

    • matrix: Matrix

      defines the transform matrix

    Returns TransformNode

    the current TransformNode

translate

  • translate(axis: Vector3, distance: number, space?: Space): TransformNode
  • Translates the mesh along the axis vector for the passed distance in the given space. space (default LOCAL) can be either Space.LOCAL, either Space.WORLD.

    Parameters

    • axis: Vector3

      the axis to translate in

    • distance: number

      the distance to translate

    • Optional space: Space

      Space to rotate in (Default: local)

    Returns TransformNode

    the TransformNode.

unfreezeWorldMatrix

  • Allows back the World matrix computation.

    Returns FaceAnchorTransformNode

    the TransformNode.

unregisterAfterWorldMatrixUpdate

  • unregisterAfterWorldMatrixUpdate(func: (mesh: TransformNode) => void): TransformNode
  • Removes a registered callback function.

    Parameters

    • func: (mesh: TransformNode) => void

      callback function to remove

        • (mesh: TransformNode): void
        • Parameters

          • mesh: TransformNode

          Returns void

    Returns TransformNode

    the TransformNode.

updatePoseMatrix

  • updatePoseMatrix(matrix: Matrix): TransformNode
  • Copies the parameter passed Matrix into the mesh Pose matrix.

    Parameters

    • matrix: Matrix

      the matrix to copy the pose from

    Returns TransformNode

    this TransformNode.

Static AddNodeConstructor

  • AddNodeConstructor(type: string, constructorFunc: NodeConstructor): void
  • Add a new node constructor

    Parameters

    • type: string

      defines the type name of the node to construct

    • constructorFunc: NodeConstructor

      defines the constructor function

    Returns void

Static Construct

  • Construct(type: string, name: string, scene: Scene, options?: any): Nullable<() => Node>
  • Returns a node constructor based on type name

    Parameters

    • type: string

      defines the type name

    • name: string

      defines the new node name

    • scene: Scene

      defines the hosting scene

    • Optional options: any

      defines optional options to transmit to constructors

    Returns Nullable<() => Node>

    the new constructor or null

Static Parse

  • Parse(parsedTransformNode: any, scene: Scene, rootUrl: string): TransformNode
  • Returns a new TransformNode object parsed from the source provided.

    Parameters

    • parsedTransformNode: any

      is the source.

    • scene: Scene

      the scne the object belongs to

    • rootUrl: string

      is a string, it's the root URL to prefix the delayLoadingFile property with

    Returns TransformNode

    a new TransformNode object parsed from the source provided.

Static ParseAnimationRanges

  • ParseAnimationRanges(node: Node, parsedNode: any, scene: Scene): void
  • Parse animation range data from a serialization object and store them into a given node

    Parameters

    • node: Node

      defines where to store the animation ranges

    • parsedNode: any

      defines the serialization object to read data from

    • scene: Scene

      defines the hosting scene

    Returns void

Legend

  • Constructor
  • Property
  • Method

Generated using TypeDoc