@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
34 lines (33 loc) • 2.52 kB
TypeScript
import { Vector3 } from 'three';
import { CoreObjectType, ObjectBuilder, ObjectContent } from '../../ObjectContent';
import { QuadObject } from './QuadObject';
import { QuadGeometry } from './QuadGeometry';
import { CorePrimitive } from '../../entities/primitive/CorePrimitive';
import { PrimitiveAttributesDict, UserDataWithPrimitiveAttributes } from '../../entities/primitive/Common';
import { BasePrimitiveAttribute } from '../../entities/primitive/PrimitiveAttribute';
import { NumericAttribValue } from '../../../../types/GlobalTypes';
import { CoreEntityWithObject } from '../../CoreEntity';
export interface QuadGeometryWithPrimitiveAttributes extends QuadGeometry {
userData: UserDataWithPrimitiveAttributes;
}
export declare class QuadPrimitive extends CorePrimitive<CoreObjectType.QUAD> {
protected _geometry?: QuadGeometryWithPrimitiveAttributes;
constructor(object: QuadObject, index: number);
setIndex(index: number, object?: QuadObject): this;
private _updateGeometry;
geometry(): QuadGeometryWithPrimitiveAttributes | undefined;
static entitiesCount<T extends CoreObjectType>(object: ObjectContent<T>): number;
builder<T extends CoreObjectType>(): ObjectBuilder<T>;
static addAttribute<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string, attribute: BasePrimitiveAttribute): void;
static addNumericAttribute<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string, size?: number, defaultValue?: NumericAttribValue): void;
static attributesFromGeometry(geometry: QuadGeometry): PrimitiveAttributesDict | undefined;
static attributes<T extends CoreObjectType>(object: ObjectContent<T>): PrimitiveAttributesDict | undefined;
static position<T extends CoreObjectType>(quadObject: ObjectContent<T> | undefined, primitiveIndex: number, target: Vector3): Vector3;
static normal<T extends CoreObjectType>(quadObject: ObjectContent<T> | undefined, primitiveIndex: number, target: Vector3): Vector3;
position(target: Vector3): Vector3;
normal(target: Vector3): Vector3;
static relatedVertexIds(object: ObjectContent<CoreObjectType>, primitiveIndex: number, target: number[]): void;
static relatedVertexClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>;
static relatedObjectClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>;
static graph(object: ObjectContent<CoreObjectType>): import("./graph/QuadGraph").QuadGraph;
}