Class: Object3D
The base class of most objects provides a series of properties and methods for manipulating objects in three-dimensional space.
Hierarchy
↳
Object3D
↳↳
Scene3D
Constructors
Properties
Accessors
- instanceID
- numChildren
- bound
- isScene3D
- localPosition
- localRotation
- localScale
- localQuaternion
- parent
- parentObject
- x
- y
- z
- scaleX
- scaleY
- scaleZ
- rotationX
- rotationY
- rotationZ
Methods
- getObjectByName
- addChild
- removeChild
- removeAllChild
- removeSelf
- removeChildByIndex
- hasChild
- removeFromParent
- getChildByIndex
- getChildByName
- noticeComponents
- forChild
- addComponent
- getOrAddComponent
- removeComponent
- hasComponent
- getComponent
- getComponentFromParent
- getComponentsInChild
- getComponents
- getComponentsExt
- getComponentsByProperty
- clone
- notifyChange
- traverse
- destroy
- dispatchEvent
- addEventListener
- removeEventListener
- removeEventListenerAt
- removeAllEventListener
- containEventListener
- hasEventListener
Constructors
constructor
• new Object3D(): Object3D
Instantiate a 3D object
Returns
Overrides
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
Defined in
src/core/entities/Entity.ts:24
transform
• transform: Transform
The Transform attached to this object.
Inherited from
Defined in
src/core/entities/Entity.ts:42
renderNode
• renderNode: RenderNode
Renderer components
Inherited from
Defined in
src/core/entities/Entity.ts:47
entityChildren
• entityChildren: Entity
[]
An array containing sub objects of an object
Inherited from
Defined in
src/core/entities/Entity.ts:52
components
• components: Map
<any
, IComponent
>
List of components attached to an object
Inherited from
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
Name | Type |
---|---|
value | IBound |
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
Defined in
src/core/entities/Object3D.ts:272
• set
localPosition(value
): void
Set the position of an object relative to its parent
Parameters
Name | Type |
---|---|
value | Vector3 |
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
Defined in
src/core/entities/Object3D.ts:286
• set
localRotation(value
): void
Set the rotation attribute of an object relative to its parent
Parameters
Name | Type |
---|---|
value | Vector3 |
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
Defined in
src/core/entities/Object3D.ts:300
• set
localScale(value
): void
Set the scaling attribute of an object relative to its parent
Parameters
Name | Type |
---|---|
value | Vector3 |
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
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
Name | Type |
---|---|
value | Quaternion |
Returns
void
Defined in
src/core/entities/Object3D.ts:321
parent
• get
parent(): Transform
Transform component of object parent
Returns
Defined in
src/core/entities/Object3D.ts:336
parentObject
• get
parentObject(): Object3D
parent object3D
Returns
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
Name | Type |
---|---|
value | number |
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
Name | Type |
---|---|
value | number |
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
Name | Type |
---|---|
value | number |
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
Name | Type |
---|---|
value | number |
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
Name | Type |
---|---|
value | number |
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
Name | Type |
---|---|
value | number |
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
Name | Type |
---|---|
value | number |
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
Name | Type |
---|---|
value | number |
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
Name | Type |
---|---|
value | number |
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
Name | Type | Description |
---|---|---|
name | string | input name |
Returns
result Entity
Inherited from
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
Name | Type | Description |
---|---|---|
child | Entity | target child entity |
Returns
Inherited from
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
Name | Type | Description |
---|---|---|
child | Entity | Removed objects |
Returns
void
Inherited from
Defined in
src/core/entities/Entity.ts:152
removeAllChild
▸ removeAllChild(): void
Remove all children of the current object
Returns
void
Inherited from
Defined in
src/core/entities/Entity.ts:168
removeSelf
▸ removeSelf(): this
Remove the current node from the parent
Returns
this
this
Inherited from
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
Name | Type | Description |
---|---|---|
index | number | assign index |
Returns
void
Inherited from
Defined in
src/core/entities/Entity.ts:189
hasChild
▸ hasChild(child
): boolean
Does the current object contain a certain object
Parameters
Name | Type | Description |
---|---|---|
child | Entity | certain object |
Returns
boolean
boolean
Inherited from
Defined in
src/core/entities/Entity.ts:203
removeFromParent
▸ removeFromParent(): this
Remove the current node from the parent
Returns
this
this
Inherited from
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
Name | Type | Description |
---|---|---|
index | number | matching index |
Returns
child entity
Inherited from
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
Name | Type | Default value | Description |
---|---|---|---|
name | string | undefined | matching name |
loopChild | boolean | true | Whether to traverse the children of the child object. The default value is true |
Returns
any
result
Inherited from
Defined in
src/core/entities/Entity.ts:242
noticeComponents
▸ noticeComponents(key
, data
): void
Parameters
Name | Type |
---|---|
key | keyof IComponent |
data | any |
Returns
void
Inherited from
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
Name | Type |
---|---|
call | Function |
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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <T > | class of component |
outList? | T [] | result component list |
includeInactive? | boolean | Whether 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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Description |
---|---|---|
c | Ctor <T > | class of component |
ret? | T [] | List of incoming T |
includeInactive? | boolean | Whether 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
Name | Type |
---|---|
T | extends IComponent |
Parameters
Name | Type | Default value |
---|---|---|
key | string | undefined |
value | any | undefined |
findedAndBreak | boolean | true |
ret? | T [] | undefined |
includeInactive? | boolean | undefined |
Returns
T
[]
Defined in
src/core/entities/Object3D.ts:211
clone
▸ clone(): Object3D
clone a Object3D
Returns
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
Name | Type | Description |
---|---|---|
callback | (child : any ) => void | specified function |
Returns
void
Defined in
src/core/entities/Object3D.ts:505
destroy
▸ destroy(force?
): void
Release self
Parameters
Name | Type |
---|---|
force? | boolean |
Returns
void
Overrides
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
Name | Type |
---|---|
event | CEvent |
Returns
void
Inherited from
Defined in
src/event/CEventDispatcher.ts:24
addEventListener
▸ addEventListener(type
, callback
, thisObject
, param?
, priority?
): number
register an event listener to event distancher.
Parameters
Name | Type | Default value | Description |
---|---|---|---|
type | string | number | undefined | {string} event type. |
callback | Function | undefined | {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. |
thisObject | any | undefined | {any} Current registration object, it'll call callback function. |
param | any | null | {any} the data binded to registered event, the default value is null. |
priority | number | 0 | {number} The priority of callback function execution, with a larger set value having priority to call |
Returns
number
Returns register event id
Inherited from
Defined in
src/event/CEventDispatcher.ts:79
removeEventListener
▸ removeEventListener(type
, callback
, thisObject
): void
Remove Event Listening
Parameters
Name | Type | Description |
---|---|---|
type | string | number | {string} event type |
callback | Function | {Function} callback function of event register |
thisObject | any | {any} The current registered object. |
Returns
void
Inherited from
Defined in
src/event/CEventDispatcher.ts:113
removeEventListenerAt
▸ removeEventListenerAt(id
): boolean
Remove an event Listening with id
Parameters
Name | Type |
---|---|
id | number |
Returns
boolean
Inherited from
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
Name | Type | Default value |
---|---|---|
eventType | string | number | null |
Returns
void
Inherited from
Defined in
src/event/CEventDispatcher.ts:153
containEventListener
▸ containEventListener(type
): boolean
whether the target presence of a listener with event type.
Parameters
Name | Type | Description |
---|---|---|
type | string | {string} event type. |
Returns
boolean
Returns a boolean.
Inherited from
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
Name | Type | Default value | Description |
---|---|---|---|
type | string | number | undefined | {string} event name. |
callback | Function | null | {Function} callback function of event register. |
thisObject | any | null | {any} The registered object. |
Returns
boolean
Returns a boolean.