polygonjs-engine
Version:
node-based webgl 3D engine https://polygonjs.com
55 lines (54 loc) • 2.43 kB
TypeScript
import { NumericAttribValue, PolyDictionary } from '../../types/GlobalTypes';
import { Vector3 } from 'three/src/math/Vector3';
import { BufferGeometry } from 'three/src/core/BufferGeometry';
import { Box3 } from 'three/src/math/Box3';
import { CorePoint } from './Point';
import { CoreFace } from './Face';
import { ObjectType, AttribType, AttribSize } from './Constant';
import { CoreAttributeData } from './AttributeData';
export declare class CoreGeometry {
private _geometry;
_bounding_box: Box3 | undefined;
private _points;
constructor(_geometry: BufferGeometry);
geometry(): BufferGeometry;
uuid(): string;
boundingBox(): Box3 | undefined;
private _create_bounding_box;
markAsInstance(): void;
static markedAsInstance(geometry: BufferGeometry): boolean;
markedAsInstance(): boolean;
positionAttribName(): string;
computeVertexNormals(): void;
userDataAttribs(): any;
indexedAttributeNames(): string[];
userDataAttrib(name: string): any;
isAttribIndexed(name: string): boolean;
hasAttrib(name: string): boolean;
attribType(name: string): AttribType;
attribNames(): string[];
attribSizes(): PolyDictionary<AttribSize>;
attribSize(name: string): number;
setIndexedAttributeValues(name: string, values: string[]): void;
setIndexedAttribute(name: string, values: string[], indices: number[]): void;
addNumericAttrib(name: string, size?: number, default_value?: NumericAttribValue): void;
initPositionAttribute(points_count: number, default_value?: Vector3): BufferGeometry;
addAttribute(name: string, attrib_data: CoreAttributeData): void;
renameAttrib(old_name: string, new_name: string): BufferGeometry;
deleteAttribute(name: string): BufferGeometry;
clone(): BufferGeometry;
static clone(src_geometry: BufferGeometry): BufferGeometry;
pointsCount(): number;
static pointsCount(geometry: BufferGeometry): number;
points(): CorePoint[];
resetPoints(): void;
pointsFromGeometry(): CorePoint[];
private static _mesh_builder;
private static _points_builder;
private static _lines_segment_builder;
static geometryFromPoints(points: CorePoint[], object_type: ObjectType): BufferGeometry | null;
static merge_geometries(geometries: BufferGeometry[]): BufferGeometry | undefined;
segments(): number[][];
faces(): CoreFace[];
facesFromGeometry(): CoreFace[];
}