Interface IHasDataEntity

EntityBase.

interface IHasDataEntity {
    _app?: App;
    _bloomRef: Ref<boolean>;
    _boxHelperObject: BoxHelper;
    _boxHelperRef: Ref<boolean>;
    _childrens: Entity[];
    _destroyed: boolean;
    _isDisposed?: boolean;
    _matrixRef: Matrix4;
    _matrixWorldRef: Matrix4;
    _node: Object3D<Object3DEventMap>;
    _outlineRef: Ref<boolean>;
    _ownerScene?: Scene;
    _pointerEventsRef: Ref<boolean>;
    _positionRef: Vector3;
    _quaternionRef: Quaternion;
    _rayIntersectRecursive?: boolean;
    _rayQueryType?: RayQueryType;
    _rotationRef: Euler;
    _scaleRef: Vector3;
    _sceneData?: Record<string, any>;
    _selectedRef: Ref<boolean>;
    _visualRef: Ref<boolean>;
    data: ShallowReactive<{
        [key: string]: any;
    }>;
    entityType: string;
    extData: {
        [key: string]: any;
    };
    instanceId: number;
    isEntity: boolean;
    moduleManager: ModuleManager;
    onSetApp: Signal;
    options: EntityOptions;
    rayIntersectObject?: Object3D<Object3DEventMap>;
    signal: {
        onAdd: Signal;
        onBeforeAdd: Signal;
        onBeforeRemove: Signal;
        onKeyDown: Signal;
        onKeyUp: Signal;
        onMouseClick: Signal;
        onMouseDblClick: Signal;
        onMouseDown: Signal;
        onMouseEnter: Signal;
        onMouseLeave: Signal;
        onMouseMove: Signal;
        onMouseOut: Signal;
        onMouseOver: Signal;
        onMouseUp: Signal;
        onMouseWheel: Signal;
        onPointerDown: Signal;
        onPointerMove: Signal;
        onPointerUp: Signal;
        onRayIntersect: Signal;
        onRemove: Signal;
    };
    uuid: string;
    app: App;
    bloom: boolean;
    get bloomRef(): Ref<boolean>;
    boxHelper: boolean | BoxHelperOptions;
    get boxHelperRef(): Ref<boolean>;
    castShadow: boolean;
    childrens: Entity[];
    get destroyed(): boolean;
    frustumCulled: boolean;
    get isDisposed(): boolean;
    get matrix(): Matrix4;
    get matrixWorld(): Matrix4;
    get modules(): EntityModuleBase[];
    node: Object3D<Object3DEventMap>;
    outline: boolean;
    get outlineRef(): Ref<boolean>;
    parent: Entity;
    pointerEvents: boolean;
    get pointerEventsRef(): Ref<boolean>;
    get position(): Vector3;
    get quaternion(): Quaternion;
    rayIntersectRecursive: boolean;
    rayQueryType: RayQueryType;
    receiveShadow: boolean;
    get rotation(): Euler;
    get scale(): Vector3;
    selected: boolean;
    get selectedRef(): Ref<boolean>;
    get uiConfig(): UiObjectConfig<any, string, any>;
    visible: boolean;
    get visibleRef(): Ref<boolean>;
    add<T, U>(type, params?): T;
    addAction(func, id?): (() => void);
    addChildEntity(ent): void;
    addDispose(cb): void;
    addEdges(option?, isHideMesh?): void;
    addModule<T, U>(type, params?): T;
    addObjects(objs): void;
    addTo(target?, app?): IHasDataEntity;
    applyMixinsTo(toClassInst, methodNames?, addMethods?, filterName?): void;
    callModules(methodName, ...args): void;
    clearEdges(): void;
    clearHighlight(): void;
    destroy(): void;
    dispatch(event, ...data): boolean;
    effectScope(fn): void;
    eventNames(): string[];
    getBoundingBox(inLocalSpace?, mapModeSceneSpace?): Box3;
    getData(): any;
    getEntitiesByModule(module): Entity[];
    getEntitiesByName(name): Entity[];
    getEntitiesByProperty(name, value): Entity[];
    getEntityById(id): Entity;
    getEntityByName(name): Entity;
    getEntityByProperty(name, value): Entity;
    getEntityByUuid(uuid): Entity;
    getLeafEntities(): Entity[];
    getMeshEntities(): MeshEntity[];
    getMeshEntityById(id): MeshEntity;
    getMeshEntityByName(name): MeshEntity;
    getMeshEntityByProperty(name, value): MeshEntity;
    getMeshEntityByUuid(uuid): MeshEntity;
    getModule<T, U>(type): T;
    getObjectById(id): Object3D<Object3DEventMap>;
    getObjectByName(name): Object3D<Object3DEventMap>;
    getObjectByProperty(name, value): Object3D<Object3DEventMap>;
    getObjectByUuid(uuid): Object3D<Object3DEventMap>;
    getObjectPropertyValueCount(name): Map<any, number>;
    getObjectsByName(name): Object3D<Object3DEventMap>[];
    getObjectsByProperty(name, value): Object3D<Object3DEventMap>[];
    getPointerEventsEntities(leafEventNode?): Entity[];
    hasEvent(event): boolean;
    isFireEventsByIntersect(closestObject, newClosestObject): boolean;
    isHighlight(): boolean;
    isLikeMeshEntity(): boolean;
    listenerCount(event): number;
    off(event, fn?): EventDispatcher;
    on(event, fn): EventDispatcher;
    onEntityAwake(callback): void;
    once(event, fn): EventDispatcher;
    remove(): void;
    removeAction(id): void;
    removeAllEventListeners(event?): void;
    removeAllModules(): void;
    removeChildEntity(ent): void;
    removeDispose(cb): void;
    removeModule<T, U>(type): void;
    removeObjects(objs): void;
    replaceMaterial(material): void;
    resetMaterial(): void;
    setData(data): void;
    setHighlight(color?, opacity?): void;
    setOpacity(opacity, isAccOpacity?): void;
    setupUiConfig(): any;
    toJSON(): any;
    traverse(callback, filter?): void;
    traverseVisible(callback, filter?): void;
    tween(id?): Tween<Entity>;
}

Hierarchy (view full)

Properties

Accessors

Methods

Properties

_app?: App
_bloomRef: Ref<boolean>

是否辉光

_boxHelperObject: BoxHelper
_boxHelperRef: Ref<boolean>

是否显示包围盒

_childrens: Entity[] = []
_destroyed: boolean = false
_isDisposed?: boolean

是否已销毁

_matrixRef: Matrix4

本地矩阵响应式对象

_matrixWorldRef: Matrix4

世界矩阵响应式对象

_node: Object3D<Object3DEventMap>
_outlineRef: Ref<boolean>

是否描边效果

_ownerScene?: Scene
_pointerEventsRef: Ref<boolean>
_positionRef: Vector3

位置响应式对象

_quaternionRef: Quaternion

四元数响应式对象

_rayIntersectRecursive?: boolean

拾取时是否遍历子对象 默认为true

_rayQueryType?: RayQueryType

射线查询类型 默认为1

_rotationRef: Euler

旋转响应式对象

_scaleRef: Vector3

缩放响应式对象

_sceneData?: Record<string, any> = {}
_selectedRef: Ref<boolean>

是否选中

_visualRef: Ref<boolean>

可视响应式对象

data: ShallowReactive<{
    [key: string]: any;
}> = ...

Type declaration

  • [key: string]: any
entityType: string = "Entity"

实体类型

extData: {
    [key: string]: any;
} = {}

Type declaration

  • [key: string]: any
instanceId: number = ++AppObject._instanceIdCounter
isEntity: boolean = true
moduleManager: ModuleManager = ...
onSetApp: Signal = ...
options: EntityOptions
rayIntersectObject?: Object3D<Object3DEventMap>

拾取时实体对象,默认为entity.node

signal: {
    onAdd: Signal;
    onBeforeAdd: Signal;
    onBeforeRemove: Signal;
    onKeyDown: Signal;
    onKeyUp: Signal;
    onMouseClick: Signal;
    onMouseDblClick: Signal;
    onMouseDown: Signal;
    onMouseEnter: Signal;
    onMouseLeave: Signal;
    onMouseMove: Signal;
    onMouseOut: Signal;
    onMouseOver: Signal;
    onMouseUp: Signal;
    onMouseWheel: Signal;
    onPointerDown: Signal;
    onPointerMove: Signal;
    onPointerUp: Signal;
    onRayIntersect: Signal;
    onRemove: Signal;
} = ...

Type declaration

uuid: string = ...

Accessors

  • get app(): App
  • Returns App

  • set app(value): void
  • Parameters

    Returns void

  • get bloom(): boolean
  • Returns boolean

  • set bloom(val): void
  • Parameters

    • val: boolean

    Returns void

  • get bloomRef(): Ref<boolean>
  • Returns Ref<boolean>

  • get boxHelperRef(): Ref<boolean>
  • Returns Ref<boolean>

  • get castShadow(): boolean
  • Returns boolean

  • set castShadow(val): void
  • Parameters

    • val: boolean

    Returns void

  • get childrens(): Entity[]
  • Returns Entity[]

  • set childrens(child): void
  • Parameters

    Returns void

  • get destroyed(): boolean
  • Whether it has been destroyed.

    Returns boolean

  • get frustumCulled(): boolean
  • Returns boolean

  • set frustumCulled(val): void
  • Parameters

    • val: boolean

    Returns void

  • get isDisposed(): boolean
  • Returns boolean

  • get matrix(): Matrix4
  • Returns Matrix4

  • get matrixWorld(): Matrix4
  • Returns Matrix4

  • get node(): Object3D<Object3DEventMap>
  • Returns Object3D<Object3DEventMap>

  • set node(obj): void
  • Parameters

    • obj: Object3D<Object3DEventMap>

    Returns void

  • get outline(): boolean
  • Returns boolean

  • set outline(val): void
  • Parameters

    • val: boolean

    Returns void

  • get outlineRef(): Ref<boolean>
  • Returns Ref<boolean>

  • get parent(): Entity
  • Returns Entity

  • set parent(val): void
  • Parameters

    Returns void

  • get pointerEvents(): boolean
  • Returns boolean

  • set pointerEvents(b): void
  • Parameters

    • b: boolean

    Returns void

  • get pointerEventsRef(): Ref<boolean>
  • Returns Ref<boolean>

  • get position(): Vector3
  • Returns Vector3

  • get quaternion(): Quaternion
  • Returns Quaternion

  • get rayIntersectRecursive(): boolean
  • Returns boolean

  • set rayIntersectRecursive(b): void
  • Parameters

    • b: boolean

    Returns void

  • get rayQueryType(): RayQueryType
  • Returns RayQueryType

  • set rayQueryType(b): void
  • Parameters

    Returns void

  • get receiveShadow(): boolean
  • Returns boolean

  • set receiveShadow(val): void
  • Parameters

    • val: boolean

    Returns void

  • get rotation(): Euler
  • Returns Euler

  • get scale(): Vector3
  • Returns Vector3

  • get selected(): boolean
  • Returns boolean

  • set selected(val): void
  • Parameters

    • val: boolean

    Returns void

  • get selectedRef(): Ref<boolean>
  • Returns Ref<boolean>

  • get visible(): boolean
  • Returns boolean

  • set visible(val): void
  • Parameters

    • val: boolean

    Returns void

  • get visibleRef(): Ref<boolean>
  • Returns Ref<boolean>

Methods

  • 增加模块,如果模块已存在,则返回之前的模型,等同于this.addModule(xxx)

    Type Parameters

    Parameters

    • type: (new (entity?, obj?) => T)
        • new (entity?, obj?): T
        • Parameters

          • Optional entity: any
          • Optional obj: U

          Returns T

    • Optional params: U

    Returns T

  • 增加一个自定义动作脚本

    Parameters

    • func: ((context) => void | BehaviorStatus)

      脚本函数

        • (context): void | BehaviorStatus
        • Parameters

          • context: {
                elapsed: number;
                entity: Entity;
                timeDelta: number;
                [key: string]: any;
            }
            • [key: string]: any
            • elapsed: number
            • entity: Entity
            • timeDelta: number

          Returns void | BehaviorStatus

    • Optional id: string

      脚本id

    Returns (() => void)

      • (): void
      • Returns void

  • Parameters

    • cb: Function

    Returns void

  • 增加模型边框线

    Parameters

    • Optional option: LineBasicMaterialParameters
    • Optional isHideMesh: boolean

      是否隐藏mesh本身(默认false)

    Returns void

  • 增加模块,如果模块已存在,则返回之前的模型,等同于this.add(xxx)

    Type Parameters

    Parameters

    • type: (new (entity?, obj?) => T)

      模块类

        • new (entity?, obj?): T
        • Parameters

          • Optional entity: any
          • Optional obj: U

          Returns T

    • Optional params: U

      参数

    Returns T

  • Parameters

    • objs: Object3D<Object3DEventMap> | Object3D<Object3DEventMap>[]

    Returns void

  • Parameters

    • toClassInst: any
    • Optional methodNames: string[]
    • Optional addMethods: string[]
    • Optional filterName: string[]

    Returns void

  • 调用模块中的函数

    Parameters

    • methodName: string
    • Rest ...args: any

    Returns void

  • 移除模型边框线

    Returns void

  • Destroy self.

    Returns void

  • 触发指定事件名称.

    Parameters

    • event: string

      Event name

    • Rest ...data: any

      Data

    Returns boolean

    • Whether the dispatching is successful
  • Parameters

    • fn: (() => any)
        • (): any
        • Returns any

    Returns void

  • 返回注册的所有事件名.

    Returns string[]

    所有事件名

  • 获取物体的外包盒

    Parameters

    • Optional inLocalSpace: boolean

      局部空间

    • Optional mapModeSceneSpace: boolean

      地图模式下返回场景空间坐标

    Returns Box3

  • Returns any

  • 获取模块

    Type Parameters

    Parameters

    • type: (new (entity?, obj?) => T)

      模型类型

        • new (entity?, obj?): T
        • Parameters

          • Optional entity: any
          • Optional obj: U

          Returns T

    Returns T

  • Parameters

    • id: string

    Returns Object3D<Object3DEventMap>

  • Parameters

    • name: string

    Returns Object3D<Object3DEventMap>

  • Parameters

    • name: string
    • value: string

    Returns Object3D<Object3DEventMap>

  • Parameters

    • uuid: string

    Returns Object3D<Object3DEventMap>

  • Parameters

    • name: string

    Returns Object3D<Object3DEventMap>[]

  • Parameters

    • name: string
    • value: string

    Returns Object3D<Object3DEventMap>[]

  • 确定是否存在事件侦听

    Parameters

    • event: string

      事件名

    Returns boolean

    返回是否存在相应的事件

  • 根据同一个实体上的两个射线的交点信息,来决定是否是不同的事件。默认false不再触发

    Parameters

    Returns boolean

  • 判断实体是否是mesh实体或包含mesh实体模块

    Returns boolean

  • 返回具有指定事件名称的侦听总数.

    Parameters

    • event: string

      Event name

    Returns number

    The count of listeners

  • 移除监听.

    Parameters

    • event: string

      Event name

    • Optional fn: Function

      Function, If is undefined, delete all corresponding event listeners.

    Returns EventDispatcher

  • Parameters

    • callback: ((app) => void)
        • (app): void
        • Parameters

          Returns void

    Returns void

  • 移除一个自定义动作脚本

    Parameters

    • id: string

      脚本id

    Returns void

  • 通过事件名移除所有监听.

    Parameters

    • Optional event: string

      Event name, delete all events if not passed

    Returns void

  • 移除模块

    Type Parameters

    Parameters

    • type: (new (entity?, obj?) => T)

      模型类型

        • new (entity?, obj?): T
        • Parameters

          • Optional entity: any
          • Optional obj: U

          Returns T

    Returns void

  • Parameters

    • objs: Object3D<Object3DEventMap> | Object3D<Object3DEventMap>[]

    Returns void

  • 替换材质

    Parameters

    • material: Material | Material[]

    Returns void

  • Parameters

    • data: any

    Returns void

  • 设置高亮

    Parameters

    • Optional color: ColorRepresentation
    • Optional opacity: number

    Returns void

  • 设置透明度

    Parameters

    • opacity: number

      透明度0(完全透明)-1(不透明)

    • Optional isAccOpacity: boolean

      是否累加透明度(ture和之前透明度相乘,false直接设置透明度)

    Returns void

  • Parameters

    • callback: ((ent) => any)
        • (ent): any
        • Parameters

          Returns any

    • Optional filter: ((ent) => boolean)
        • (ent): boolean
        • Parameters

          Returns boolean

    Returns void

  • Parameters

    • callback: ((ent) => any)
        • (ent): any
        • Parameters

          Returns any

    • Optional filter: ((ent) => boolean)
        • (ent): boolean
        • Parameters

          Returns boolean

    Returns void