Skip to content

Class: Object3D

The base class of most objects provides a series of properties and methods for manipulating objects in three-dimensional space.

Hierarchy

Constructors

Properties

Accessors

Methods

Constructors

constructor

new Object3D(): Object3D

Instantiate a 3D object

Returns

Object3D

Overrides

Entity.constructor

Defined in

src/core/entities/Object3D.ts:24

Properties

name

name: string = ''

The name of the object. The default value is an empty string.

Inherited from

Entity.name

Defined in

src/core/entities/Entity.ts:24


transform

transform: Transform

The Transform attached to this object.

Inherited from

Entity.transform

Defined in

src/core/entities/Entity.ts:42


renderNode

renderNode: RenderNode

Renderer components

Inherited from

Entity.renderNode

Defined in

src/core/entities/Entity.ts:47


entityChildren

entityChildren: Entity[]

An array containing sub objects of an object

Inherited from

Entity.entityChildren

Defined in

src/core/entities/Entity.ts:52


components

components: Map<any, IComponent>

List of components attached to an object

Inherited from

Entity.components

Defined in

src/core/entities/Entity.ts:57


prefabRef

Optional prefabRef: string

Defined in

src/core/entities/Object3D.ts:19


serializeTag

Optional serializeTag: SerializeTag

Defined in

src/core/entities/Object3D.ts:20

Accessors

instanceID

get instanceID(): string

The unique identifier of the object.

Returns

string

Inherited from

Entity.instanceID

Defined in

src/core/entities/Entity.ts:32


numChildren

get numChildren(): number

Returns the number of child objects of an object

Returns

number

Inherited from

Entity.numChildren

Defined in

src/core/entities/Entity.ts:116


bound

get bound(): IBound

Returns

IBound

Inherited from

Entity.bound

Defined in

src/core/entities/Entity.ts:277

set bound(value): void

Parameters

NameType
valueIBound

Returns

void

Inherited from

Entity.bound

Defined in

src/core/entities/Entity.ts:282


isScene3D

get isScene3D(): boolean

Returns

boolean

Defined in

src/core/entities/Object3D.ts:30


localPosition

get localPosition(): Vector3

Get the position of an object relative to its parent

Returns

Vector3

Defined in

src/core/entities/Object3D.ts:272

set localPosition(value): void

Set the position of an object relative to its parent

Parameters

NameType
valueVector3

Returns

void

Defined in

src/core/entities/Object3D.ts:279


localRotation

get localRotation(): Vector3

Get the rotation attribute of an object relative to its parent

Returns

Vector3

Defined in

src/core/entities/Object3D.ts:286

set localRotation(value): void

Set the rotation attribute of an object relative to its parent

Parameters

NameType
valueVector3

Returns

void

Defined in

src/core/entities/Object3D.ts:293


localScale

get localScale(): Vector3

Get the scaling attribute of an object relative to its parent

Returns

Vector3

Defined in

src/core/entities/Object3D.ts:300

set localScale(value): void

Set the scaling attribute of an object relative to its parent

Parameters

NameType
valueVector3

Returns

void

Defined in

src/core/entities/Object3D.ts:307


localQuaternion

get localQuaternion(): Quaternion

Get the rotation attribute of an object relative to its parent, which is a quaternion

Returns

Quaternion

Defined in

src/core/entities/Object3D.ts:314

set localQuaternion(value): void

Set the rotation attribute of an object relative to its parent, which is a quaternion

Parameters

NameType
valueQuaternion

Returns

void

Defined in

src/core/entities/Object3D.ts:321


parent

get parent(): Transform

Transform component of object parent

Returns

Transform

Defined in

src/core/entities/Object3D.ts:336


parentObject

get parentObject(): Object3D

parent object3D

Returns

Object3D

Defined in

src/core/entities/Object3D.ts:344


x

get x(): number

Get the x coordinate relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:360

set x(value): void

Set the x coordinate relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:352


y

get y(): number

Get the y coordinate relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:375

set y(value): void

Set the y coordinate relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:367


z

get z(): number

Get the z coordinate relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:389

set z(value): void

Set the z coordinate relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:382


scaleX

get scaleX(): number

Get the x scale relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:404

set scaleX(value): void

Set the x scale relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:396


scaleY

get scaleY(): number

Get the y scale relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:420

set scaleY(value): void

Set the y scale relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:412


scaleZ

get scaleZ(): number

Get the z scale relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:436

set scaleZ(value): void

Set the z scale relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:428


rotationX

get rotationX(): number

Get the x rotation relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:452

set rotationX(value): void

Set the x rotation relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:444


rotationY

get rotationY(): number

Get the y rotation relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:468

set rotationY(value): void

Set the y rotation relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:460


rotationZ

get rotationZ(): number

Set the z rotation relative to the local coordinates of the parent container.

Returns

number

Defined in

src/core/entities/Object3D.ts:484

set rotationZ(value): void

Set the z rotation relative to the local coordinates of the parent container.

Parameters

NameType
valuenumber

Returns

void

Defined in

src/core/entities/Object3D.ts:476

Methods

getObjectByName

getObjectByName(name): Entity

Starting from the object itself, search for the object and its children, and return the first child object with a matching name. For most objects, the name is an empty string by default. You must manually set it to use this method.

Parameters

NameTypeDescription
namestringinput name

Returns

Entity

result Entity

Inherited from

Entity.getObjectByName

Defined in

src/core/entities/Entity.ts:81


addChild

addChild(child): Entity

Add an object as a child of this object. You can add any number of objects. Any current parent object on the object passed here will be deleted, as an object can only have at most one parent object.

Parameters

NameTypeDescription
childEntitytarget child entity

Returns

Entity

Inherited from

Entity.addChild

Defined in

src/core/entities/Entity.ts:127


removeChild

removeChild(child): void

Remove the child objects of the object. You can remove any number of objects.

Parameters

NameTypeDescription
childEntityRemoved objects

Returns

void

Inherited from

Entity.removeChild

Defined in

src/core/entities/Entity.ts:152


removeAllChild

removeAllChild(): void

Remove all children of the current object

Returns

void

Inherited from

Entity.removeAllChild

Defined in

src/core/entities/Entity.ts:168


removeSelf

removeSelf(): this

Remove the current node from the parent

Returns

this

this

Inherited from

Entity.removeSelf

Defined in

src/core/entities/Entity.ts:179


removeChildByIndex

removeChildByIndex(index): void

Search for child nodes of objects and remove child objects with matching indexes.

Parameters

NameTypeDescription
indexnumberassign index

Returns

void

Inherited from

Entity.removeChildByIndex

Defined in

src/core/entities/Entity.ts:189


hasChild

hasChild(child): boolean

Does the current object contain a certain object

Parameters

NameTypeDescription
childEntitycertain object

Returns

boolean

boolean

Inherited from

Entity.hasChild

Defined in

src/core/entities/Entity.ts:203


removeFromParent

removeFromParent(): this

Remove the current node from the parent

Returns

this

this

Inherited from

Entity.removeFromParent

Defined in

src/core/entities/Entity.ts:213


getChildByIndex

getChildByIndex(index): Entity

Search for object children and return the first child object with a matching index.

Parameters

NameTypeDescription
indexnumbermatching index

Returns

Entity

child entity

Inherited from

Entity.getChildByIndex

Defined in

src/core/entities/Entity.ts:227


getChildByName

getChildByName(name, loopChild?): any

Search for object children and return a child object with a matching name.

Parameters

NameTypeDefault valueDescription
namestringundefinedmatching name
loopChildbooleantrueWhether to traverse the children of the child object. The default value is true

Returns

any

result

Inherited from

Entity.getChildByName

Defined in

src/core/entities/Entity.ts:242


noticeComponents

noticeComponents(key, data): void

Parameters

NameType
keykeyof IComponent
dataany

Returns

void

Inherited from

Entity.noticeComponents

Defined in

src/core/entities/Entity.ts:328


forChild

forChild(call): void

Traverse all sub objects starting from the object itself. If there are still sub objects in the sub object, recursively traverse.

Parameters

NameType
callFunction

Returns

void

Defined in

src/core/entities/Object3D.ts:41


addComponent

addComponent<T>(c, param?): T

Create a new component and add it to the object, and return an instance of the component. If a component of this type already exists, it will not be added and will return null.

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>class of component
param?any-

Returns

T

result component

Defined in

src/core/entities/Object3D.ts:55


getOrAddComponent

getOrAddComponent<T>(c): T

Returns an instance of a component object of the specified type. If there are no components of that type, a new component is created and added to the object.

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>class of component

Returns

T

result component

Defined in

src/core/entities/Object3D.ts:76


removeComponent

removeComponent<T>(c): void

Remove components of the specified type

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>class of component

Returns

void

Defined in

src/core/entities/Object3D.ts:89


hasComponent

hasComponent<T>(c): boolean

Is there a component of the specified type

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>type of component

Returns

boolean

boolean

Defined in

src/core/entities/Object3D.ts:106


getComponent

getComponent<T>(c): T

Returns a component of the specified type.

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>class of component

Returns

T

result component

Defined in

src/core/entities/Object3D.ts:116


getComponentFromParent

getComponentFromParent<T>(c): T

Returns a component object of the specified type from the parent node. If there are no components of that type, calls the parent object lookup of the parent object

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>class of component

Returns

T

reulst component

Defined in

src/core/entities/Object3D.ts:128


getComponentsInChild

getComponentsInChild<T>(c): T[]

Returns an array of component objects of the specified type. If there are no components of that type, search in the list of self body class objects

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>class of component

Returns

T[]

result components

Defined in

src/core/entities/Object3D.ts:148


getComponents

getComponents<T>(c, outList?, includeInactive?): T[]

Returns all components of the specified type contained in the current object and its children. If there are children in the child object, recursively search.

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>class of component
outList?T[]result component list
includeInactive?booleanWhether to include invisible objects, default to false

Returns

T[]

Defined in

src/core/entities/Object3D.ts:171


getComponentsExt

getComponentsExt<T>(c, ret?, includeInactive?): T[]

Quickly obtain components and no longer access child nodes after obtaining them at a certain node

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDescription
cCtor<T>class of component
ret?T[]List of incoming T
includeInactive?booleanWhether to include invisible objects, default to false

Returns

T[]

{T}

Memberof

Object3D

Defined in

src/core/entities/Object3D.ts:196


getComponentsByProperty

getComponentsByProperty<T>(key, value, findedAndBreak?, ret?, includeInactive?): T[]

Type parameters

NameType
Textends IComponent

Parameters

NameTypeDefault value
keystringundefined
valueanyundefined
findedAndBreakbooleantrue
ret?T[]undefined
includeInactive?booleanundefined

Returns

T[]

Defined in

src/core/entities/Object3D.ts:211


clone

clone(): Object3D

clone a Object3D

Returns

Object3D

Defined in

src/core/entities/Object3D.ts:238


notifyChange

notifyChange(): void

Notify transformation attribute updates

Returns

void

Defined in

src/core/entities/Object3D.ts:328


traverse

traverse(callback): void

Recursive child nodes and execute specified function

Parameters

NameTypeDescription
callback(child: any) => voidspecified function

Returns

void

Defined in

src/core/entities/Object3D.ts:505


destroy

destroy(force?): void

Release self

Parameters

NameType
force?boolean

Returns

void

Overrides

Entity.destroy

Defined in

src/core/entities/Object3D.ts:520


dispatchEvent

dispatchEvent(event): void

Dispatch an event to all registered objects with a specific type of listener.

Parameters

NameType
eventCEvent

Returns

void

Inherited from

Entity.dispatchEvent

Defined in

src/event/CEventDispatcher.ts:24


addEventListener

addEventListener(type, callback, thisObject, param?, priority?): number

register an event listener to event distancher.

Parameters

NameTypeDefault valueDescription
typestring | numberundefined{string} event type.
callbackFunctionundefined{Function} The callback function that handles events. This function must accept an Event3D object as its unique parameter and cannot return any result. for example: function(evt:Event3D):void.
thisObjectanyundefined{any} Current registration object, it'll call callback function.
paramanynull{any} the data binded to registered event, the default value is null.
prioritynumber0{number} The priority of callback function execution, with a larger set value having priority to call

Returns

number

Returns register event id

Inherited from

Entity.addEventListener

Defined in

src/event/CEventDispatcher.ts:79


removeEventListener

removeEventListener(type, callback, thisObject): void

Remove Event Listening

Parameters

NameTypeDescription
typestring | number{string} event type
callbackFunction{Function} callback function of event register
thisObjectany{any} The current registered object.

Returns

void

Inherited from

Entity.removeEventListener

Defined in

src/event/CEventDispatcher.ts:113


removeEventListenerAt

removeEventListenerAt(id): boolean

Remove an event Listening with id

Parameters

NameType
idnumber

Returns

boolean

Inherited from

Entity.removeEventListenerAt

Defined in

src/event/CEventDispatcher.ts:133


removeAllEventListener

removeAllEventListener(eventType?): void

Specify a event type to remove all related event listeners eventType event type, set null to remove all event listeners

Parameters

NameTypeDefault value
eventTypestring | numbernull

Returns

void

Inherited from

Entity.removeAllEventListener

Defined in

src/event/CEventDispatcher.ts:153


containEventListener

containEventListener(type): boolean

whether the target presence of a listener with event type.

Parameters

NameTypeDescription
typestring{string} event type.

Returns

boolean

Returns a boolean.

Inherited from

Entity.containEventListener

Defined in

src/event/CEventDispatcher.ts:185


hasEventListener

hasEventListener(type, callback?, thisObject?): boolean

whether the target presence of a listener with event type. it associate more registration parameters.

Parameters

NameTypeDefault valueDescription
typestring | numberundefined{string} event name.
callbackFunctionnull{Function} callback function of event register.
thisObjectanynull{any} The registered object.

Returns

boolean

Returns a boolean.

Inherited from

Entity.hasEventListener

Defined in

src/event/CEventDispatcher.ts:198

Released under the MIT License