@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
34 lines (33 loc) • 2.63 kB
TypeScript
import { Vector3, BufferAttribute } from 'three';
import { ObjectGeometryMap, CoreObjectType, ObjectContent } from '../../ObjectContent';
import { CorePoint } from '../../entities/point/CorePoint';
import { PointAttributesDict } from '../../entities/point/Common';
import { QuadObject } from './QuadObject';
import { NumericAttribValue } from '../../../../types/GlobalTypes';
import { QuadGeometry } from './QuadGeometry';
import { TraversedRelatedEntityData } from '../../entities/utils/TraversedRelatedEntities';
import { CoreEntityWithObject } from '../../CoreEntity';
export declare class QuadPoint extends CorePoint<CoreObjectType.QUAD> {
protected _geometry?: ObjectGeometryMap[CoreObjectType.QUAD];
protected _object: QuadObject;
constructor(object: QuadObject, index: number);
object(): QuadObject;
setIndex(index: number, object?: QuadObject): this;
private _updateGeometry;
geometry(): QuadGeometry | undefined;
static addAttribute<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string, attribute: BufferAttribute): void;
static addNumericAttribute<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string, size?: number, defaultValue?: NumericAttribValue): void;
static attributes<T extends CoreObjectType>(object: ObjectContent<T>): PointAttributesDict | undefined;
static entitiesCount<T extends CoreObjectType>(object: ObjectContent<T>): number;
static position<T extends CoreObjectType>(quadObject: ObjectContent<T> | undefined, pointIndex: number, target: Vector3): Vector3;
position(target: Vector3): Vector3;
static normal<T extends CoreObjectType>(quadObject: ObjectContent<T> | undefined, pointIndex: number, target: Vector3): Vector3;
normal(target: Vector3): Vector3;
static computeNormals<T extends CoreObjectType>(object: ObjectContent<T>): void;
static markAttribAsNeedsUpdate<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string): void;
static userDataAttribs<T extends CoreObjectType>(object: ObjectContent<T>): {};
static setIndexedAttribute<T extends CoreObjectType>(object: ObjectContent<T>, attribName: string, values: string[], indices: number[]): void;
static attribValueIndex<T extends CoreObjectType>(object: ObjectContent<T>, index: number, attribName: string): number;
static relatedVertexIds<T extends CoreObjectType>(object: ObjectContent<T>, pointIndex: number, target: number[], traversedRelatedEntityData?: TraversedRelatedEntityData): void;
static relatedVertexClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>;
}