@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
44 lines (43 loc) • 4.17 kB
TypeScript
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;
}