UNPKG

@polygonjs/polygonjs

Version:

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

96 lines (95 loc) 4.37 kB
import { Color } from 'three'; import type { OpenCascadeInstance, TopoDS_Shape, TopoDS_Vertex, TopoDS_Edge, TopoDS_Wire, TopoDS_Face, TopoDS_Shell, TopoDS_Solid, TopoDS_CompSolid, TopoDS_Compound, Geom2d_Curve, Geom_Curve, BRepMesh_IncrementalMesh, gp_Pln, gp_Pnt2d, gp_Pnt, gp_Quaternion, gp_Vec2d, gp_Vec, Bnd_Box, gp_Trsf, gp_Ax1, gp_Ax2, gp_Dir, gp_XYZ, TopAbs_ShapeEnum, TopExp, TopTools_IndexedMapOfShape, TopLoc_Location, Message_ProgressRange, TopTools_ListOfShape, GProp_GProps } from './build/polygonjs-occt'; export type { OpenCascadeInstance, BRepMesh_IncrementalMesh, TopoDS_Shape, TopoDS_Vertex, TopoDS_Face, TopoDS_Shell, TopoDS_Solid, TopoDS_CompSolid, TopoDS_Compound, TopoDS_Edge, TopoDS_Wire, Geom2d_Curve, Geom_Curve, Bnd_Box, gp_Pln, gp_Pnt2d, gp_Pnt, gp_Quaternion, gp_Vec2d, gp_Vec, gp_Trsf, gp_Ax1, gp_Ax2, gp_Dir, gp_XYZ, TopAbs_ShapeEnum, TopExp, TopTools_IndexedMapOfShape, TopLoc_Location, Message_ProgressRange, TopTools_ListOfShape, GProp_GProps, }; export type CadGeometry = gp_Pnt2d | Geom2d_Curve | TopoDS_Vertex | TopoDS_Edge | TopoDS_Wire | TopoDS_Shape; export declare enum CadGeometryType { POINT_2D = "CADPoint2D", CURVE_2D = "CADCurve2D", VERTEX = "CADVertex", EDGE = "CADEdge", WIRE = "CADWire", FACE = "CADFace", SHELL = "CADShell", SOLID = "CADSolid", COMPSOLID = "CADCompsolid", COMPOUND = "CADCompound" } export declare const CAD_GEOMETRY_TYPES_SET: Set<CadGeometryType>; export type CadGeometryTypeShape = CadGeometryType.VERTEX | CadGeometryType.EDGE | CadGeometryType.WIRE | CadGeometryType.FACE | CadGeometryType.SHELL | CadGeometryType.SOLID | CadGeometryType.COMPSOLID | CadGeometryType.COMPOUND; export declare const CAD_GEOMETRY_TYPES_SHAPE: CadGeometryTypeShape[]; export declare const CAD_GEOMETRY_TYPES_SET_SHAPE: Set<CadGeometryType>; export type CadShape = TopoDS_Vertex | TopoDS_Edge | TopoDS_Wire | TopoDS_Face | TopoDS_Shell | TopoDS_Solid | TopoDS_CompSolid | TopoDS_Compound; export declare function cadGeometryTypeFromShape(oc: OpenCascadeInstance, shape: TopoDS_Shape): CadGeometryType | undefined; export declare function cadDowncast(oc: OpenCascadeInstance, shape: TopoDS_Shape): CadShape; export interface CadTypeMap { [CadGeometryType.POINT_2D]: gp_Pnt2d; [CadGeometryType.CURVE_2D]: Geom2d_Curve; [CadGeometryType.VERTEX]: TopoDS_Vertex; [CadGeometryType.EDGE]: TopoDS_Edge; [CadGeometryType.WIRE]: TopoDS_Wire; [CadGeometryType.FACE]: TopoDS_Face; [CadGeometryType.SHELL]: TopoDS_Shell; [CadGeometryType.SOLID]: TopoDS_Solid; [CadGeometryType.COMPSOLID]: TopoDS_CompSolid; [CadGeometryType.COMPOUND]: TopoDS_Compound; } export interface CachedCADTesselationParams { linearTolerance: number; angularTolerance: number; curveAbscissa: number; curveTolerance: number; } export interface CachedCADOBJTesselationParams { CADLinearTolerance: number; CADAngularTolerance: number; CADCurveAbscissa: number; CADCurveTolerance: number; } export interface CADTesselationParams extends CachedCADTesselationParams { wireframe: boolean; displayMeshes: boolean; displayEdges: boolean; meshesColor: Color; edgesColor: Color; } export interface CADOBJTesselationParams extends CachedCADOBJTesselationParams { CADWireframe: boolean; CADDisplayMeshes: boolean; CADDisplayEdges: boolean; CADMeshesColor: Color; CADEdgesColor: Color; } export interface FaceData { positions: number[]; normals: number[]; indices: number[]; } export interface EdgeData { positions: number[]; } export interface CadObjectData { type: CadGeometryType; } export interface CadNumberHandle { current: number; } export declare const _createCadNumberHandle: () => CadNumberHandle; export interface CadVector3Handle { x: CadNumberHandle; y: CadNumberHandle; z: CadNumberHandle; } export declare const _createCadVector3Handle: () => CadVector3Handle; export interface CadBox3Handle { min: CadVector3Handle; max: CadVector3Handle; } export declare const _createCadBox3Handle: () => CadBox3Handle; interface Deletable { delete: () => void; } export type GCRegisterFunction = <D extends Deletable>(deletable: D) => D; type GCCallback<T> = (r: GCRegisterFunction) => T; export declare class CadGC { static withGC<T>(callback: GCCallback<T>): T; }