UNPKG

@polygonjs/polygonjs

Version:

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

30 lines (29 loc) 2.22 kB
import { BufferGeometry, Object3D, Vector3, BufferAttribute } from 'three'; import { CoreObjectType, ObjectContent } from '../../ObjectContent'; import { CoreVertex } from '../../entities/vertex/CoreVertex'; import { VertexAttributesDict, UserDataWithVertexAttributes } from '../../entities/vertex/Common'; import { BaseVertexAttribute } from '../../entities/vertex/VertexAttribute'; import { NumericAttribValue } from '../../../../types/GlobalTypes'; import { CoreEntityWithObject } from '../../CoreEntity'; export interface BufferGeometryWithVertexAttributes extends BufferGeometry { userData: UserDataWithVertexAttributes; } export declare class ThreejsVertex extends CoreVertex<CoreObjectType.THREEJS> { protected _geometry?: BufferGeometry; constructor(object: Object3D, index: number); setIndex(index: number, object?: Object3D): this; private _updateGeometry; geometry(): BufferGeometry<import("three").NormalBufferAttributes> | undefined; static addAttribute(object: Object3D, attribName: string, attribute: BaseVertexAttribute): void; static addNumericAttribute(object: Object3D, attribName: string, size?: number, defaultValue?: NumericAttribValue): void; static attributes<T extends CoreObjectType>(object: ObjectContent<T>): VertexAttributesDict | undefined; static indexAttribute<T extends CoreObjectType>(object: ObjectContent<T>): BufferAttribute | undefined | null; static setIndexAttribute<T extends CoreObjectType>(object: ObjectContent<T>, index: BufferAttribute | number[]): BufferAttribute | undefined; static entitiesCount<T extends CoreObjectType>(object: ObjectContent<T>): number; position(target: Vector3): Vector3; normal(target: Vector3): Vector3; static relatedPrimitiveIds<T extends CoreObjectType>(object: ObjectContent<T>, pointIndex: number, target: number[]): void; static relatedPointIds<T extends CoreObjectType>(object: ObjectContent<T>, pointIndex: number, target: number[]): void; static relatedPointClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>; static relatedPrimitiveClass<T extends CoreObjectType>(object: ObjectContent<T>): typeof CoreEntityWithObject<T>; }