UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

44 lines (43 loc) 4.17 kB
import { AttribValue, NumericAttribValue } from '../../types/GlobalTypes'; import { Vector2, Vector3, Vector4 } from 'three'; import { CoreObjectType, ObjectBuilder, ObjectContent } from './ObjectContent'; import { AttribClass } from './Constant'; import type { CoreGroup } from './Group'; import { TraversedRelatedEntityData } from './entities/utils/TraversedRelatedEntities'; export declare abstract class CoreEntity { protected _index: number; constructor(content?: any, index?: number); index(): number; setIndex(index: number): this; abstract geometry(): any; abstract builder<T extends CoreObjectType>(): ObjectBuilder<T> | undefined; abstract setAttribValue(attribName: string, attribValue: NumericAttribValue | string): void; abstract attribValue(attribName: string, target?: Vector2 | Vector3 | Vector4): AttribValue | undefined; abstract stringAttribValue(attribName: string): string | null; abstract position(target: Vector3): Vector3; abstract relatedEntities(attribClass: AttribClass, coreGroup: CoreGroup, target: CoreEntity[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; } export declare abstract class CoreEntityWithObject<T extends CoreObjectType> extends CoreEntity { protected _object: ObjectContent<T>; constructor(object: ObjectContent<T>, index?: number); object(): ObjectContent<T>; static relatedPrimitiveIds<T extends CoreObjectType>(object: ObjectContent<T>, index: number, target: number[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; static relatedVertexIds<T extends CoreObjectType>(object: ObjectContent<T>, index: number, target: number[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; static relatedPointIds<T extends CoreObjectType>(object: ObjectContent<T>, index: number, target: number[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; relatedPrimitiveIds(target: number[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; relatedVertexIds(target: number[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; relatedPointIds(target: number[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; static relatedPointClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>; static relatedVertexClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>; static relatedPrimitiveClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>; static relatedObjectClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>; static relatedEntityClass<T extends CoreObjectType>(object: ObjectContent<T>, entityClass: AttribClass.POINT | AttribClass.VERTEX | AttribClass.PRIMITIVE | AttribClass.OBJECT): typeof CoreEntityWithObject<T>; static relatedPoints<T extends CoreObjectType>(object: ObjectContent<T>, entityIndex: number, target: CoreEntityWithObject<T>[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; static relatedVertices<T extends CoreObjectType>(object: ObjectContent<T>, entityIndex: number, target: CoreEntityWithObject<T>[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; static relatedPrimitives<T extends CoreObjectType>(object: ObjectContent<T>, entityIndex: number, target: CoreEntityWithObject<T>[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; static relatedObjects<T extends CoreObjectType>(object: ObjectContent<T>, entityIndex: number, target: CoreEntityWithObject<T>[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; relatedPoints(target: CoreEntityWithObject<T>[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; relatedVertices(target: CoreEntityWithObject<T>[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; relatedPrimitives(target: CoreEntityWithObject<T>[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; relatedObjects(target: CoreEntityWithObject<T>[], traversedRelatedEntityData?: TraversedRelatedEntityData): void; }