import { Bound3DObject } from "./bound_3D_object.js"; import { CurveObject } from "./curve_object.js"; import { GeometryCollection } from "./geometry_collection.js"; import { GeometryObject } from "./geometry_object.js"; import { MaterialObject } from "./material_object.js"; import { ParamsGetLoop } from "./parameters/params_get_loop.js"; import { StdVector } from "./std_vector.js"; import { ParamsAddFaceToGeometry } from "./parameters/params_add_face_to_geometry.js"; import { ParamsAddFaceToGeometrySimple } from "./parameters/params_add_face_to_geometry_simple.js"; import { ParamsCartesianTransformationOperator3D } from "./parameters/params_cartesian_transform_operator_3D.js"; import { ProfileObject } from "./profile_object.js"; import { ParamsTransformProfile } from "./parameters/params_transform_profile.js"; import { ParamsGetPolyCurve } from "./parameters/params_get_poly_curve.js"; import { ParamsPolygonalFaceSet } from "./parameters/params_polygonal_face_set.js"; import { ParamsGetTriangulatedFaceSetGeometry } from "./parameters/params_get_triangulated_face_set_geometry.js"; import { ParamsGetCShapeCurve } from "./parameters/params_get_c_shape_curve.js"; import { ParamsGetIShapeCurve } from "./parameters/params_get_i_shape_curve.js"; import { ParamsGetLShapeCurve } from "./parameters/params_get_l_shape_curve.js"; import { ParamsGetTShapeCurve } from "./parameters/params_get_t_shape_curve.js"; import { ParamsGetUShapeCurve } from "./parameters/params_get_u_shape_curve.js"; import { ParamsGetZShapeCurve } from "./parameters/params_get_z_shape_curve.js"; import { ParamsGetIfcCircle } from "./parameters/params_get_ifc_circle.js"; import { ParamsGetIfcLine } from "./parameters/params_get_ifc_line.js"; import { ParamsGetBSplineCurve } from "./parameters/params_get_bspline_curve.js"; import { ParamsGetIfcIndexedPolyCurve, ParamsGetIfcIndexedPolyCurve3D } from "./parameters/params_get_ifc_indexed_poly_curve.js"; import { ParamsGetCircleCurve } from "./parameters/params_get_circle_curve.js"; import { ParamsGetEllipseCurve } from "./parameters/params_get_ellipse_curve.js"; import { ParamsCreateNativeIfcProfile } from "./parameters/params_create_native_ifc_profile.js"; import { ParamsCreateBound3D } from "./parameters/params_create_bound_3D.js"; import { ParamsGetHalfspaceSolid } from "./parameters/params_get_half_space_solid.js"; import { ParamsGetRectangleProfileCurve } from "./parameters/params_get_rectangle_profile_curve.js"; import { ParamsGetPolygonalBoundedHalfspace } from "./parameters/params_get_polygonal_bounded_halfspace.js"; import { ParamsGetExtrudedAreaSolid } from "./parameters/params_get_extruded_area_solid.js"; import { ParamsGetRevolvedAreaSolid } from "./parameters/params_get_revolved_area_solid.js"; import { ParamsGetBooleanResult } from "./parameters/params_get_boolean_result.js"; import { ParamsRelVoidSubtract } from "./parameters/params_rel_void_subtract.js"; import { NativeTransform3x3, NativeTransform4x4 } from "./native_transform.js"; import { ResultsGltf } from "./results_gltf.js"; import { ParamsAxis1Placement3D } from "./parameters/params_axis_1_placement_3D.js"; import { ParamsGetAxis2Placement2D } from "./parameters/params_get_axis_2_placement_2D.js"; import { ParamsAxis2Placement3D } from "./parameters/params_axis_2_placement_3D.js"; import { ParamsLocalPlacement } from "./parameters/params_local_placement.js"; import { ParamsGetSweptDiskSolid } from "./parameters/params_get_swept_disk_solid.js"; import { ParseBuffer } from "./parse_buffer.js"; import { ParamsGetBlock } from "./parameters/params_get_block.js"; export declare let wasmType: string; declare let ConwayGeomWasm: any; /** * Sets a non default prefix for the wasm module. * * @param to The new prefix. */ export declare function setModulePrefix(to: string): void; export default ConwayGeomWasm; export type ConwayGeometryWasm = typeof ConwayGeomWasm; export type FileHandlerFunction = (path: string, prefix: string) => string; /** * Internal interface for wasm module, geometry processing * OBJ + GLTF + GLB (Draco) Conversions */ export declare class ConwayGeometry { wasmModule?: ConwayGeometryWasm; initialized: boolean; private parseBuffers_; /** * * @param wasmModule_ - Pass loaded wasm module to this function if it's already loaded */ constructor(wasmModule_?: ConwayGeometryWasm); /** * * @param initialSize number - initial size of the vector (optional) * @return {StdVector< GeometryObject >} - a native std::vector from the * wasm module */ nativeVectorGeometry(initialSize?: number): StdVector; /** * * @return {GeometryObject} - an empty native geometry object */ nativeGeometry(initialSize?: number): GeometryObject; /** * * * @return {ParseBuffer} - a parse buffer */ nativeParseBuffer(): ParseBuffer; /** * Get a slice of 32bit float elements from the wasm heap * * @param pointer The pointer (in bytes, 4 byte aligned) * @param size The number of elements (in floats) * @return {Float32Array} A view of the wasm heap representing the slice. */ floatHeapSlice(pointer: number, size: number): Float32Array; /** * Get a slice of 32bit unsigned int elements from the wasm heap * * @param pointer The pointer (in bytes, 4 byte aligned) * @param size The number of elements (in floats) * @return {Uint32Array} A view of the wasm heap representing the slice. */ uint32HeapSlice(pointer: number, size: number): Uint32Array; /** * * * @param buffer The parse buffer to free */ freeParseBuffer(buffer: ParseBuffer): void; /** * Allocate a native vector of vectors of doubles. * * @return {StdVector< GeometryObject >} - a native std::vector from the * wasm module */ nativeVectorVectorDouble(): StdVector>; /** * Allocate a native vector of doubles. * * @param initialSize number - initial size of the vector (optional) * @return {StdVector< GeometryObject >} - a native std::vector from the * wasm module */ nativeVectorDouble(initialSize?: number): StdVector; /** * Create a native geometry collection. * * @return {GeometryCollection} */ nativeGeometryCollection(): GeometryCollection; /** * * @return {StdVector< GeometryObject >} - a native std::vector from the * wasm module */ nativeVectorGeometryCollection(): StdVector; /** * * @param initialSize number - initial size of the vector (optional) * @return {StdVector< MaterialObject >} - a native std::vector from the * wasm module */ nativeVectorMaterial(initialSize?: number): StdVector; /** * Initialize the conway geometry wasm submodule. * * @param fileHandler - File handler function (optional), * used to load the wasm module in non-web environments * that need custom loading. * * @return {Promise} - initialization status */ initialize(fileHandler?: FileHandlerFunction): Promise; /** * * @param parameters ParamsGetLoop parsed from data model * @return {CurveObject} */ getLoop(parameters: ParamsGetLoop): CurveObject; /** * * @param parameters ParamsAddFaceToGeometry parsed from data model */ addFaceToGeometry(parameters: ParamsAddFaceToGeometry, geometry: GeometryObject): void; /** * * @param parameters ParamsAddFaceToGeometrySimple parsed from data model */ addFaceToGeometrySimple(parameters: ParamsAddFaceToGeometrySimple, geometry: GeometryObject): void; /** * * @param parameters - ParamsCartesianTransformationOperator3D parsed from data model * @return {GeometryObject} - Native geometry object */ getCartesianTransformationOperator3D(parameters: ParamsCartesianTransformationOperator3D): any; /** * * @param parameters - ParamsTransformProfile parsed from data model * @return {ProfileObject} - Native Profile object */ transformProfile(parameters: ParamsTransformProfile): ProfileObject; /** * * @param parameters - ParamsGetPolyCurve parsed from data model * @return {CurveObject} - Native Curve object */ getPolyCurve(parameters: ParamsGetPolyCurve): CurveObject; /** * * @param parameters - ParamsPolygonalFaceSet parsed from data model * @return {GeometryObject} - Native geometry object */ getPolygonalFaceSetGeometry(parameters: ParamsPolygonalFaceSet): GeometryObject; /** * * @param parameters ParamsGetPolygonalFaceSetGeometry parsed from data model * @return {GeometryObject} - Native Geometry Object */ getTriangulatedFaceSetGeometry(parameters: ParamsGetTriangulatedFaceSetGeometry): GeometryObject; /** * * @param parameters ParamsGetCShapeCurve parsed from data model * @return {CurveObject} */ getCShapeCurve(parameters: ParamsGetCShapeCurve): CurveObject; /** * * @param parameters ParamsGetIShapeCurve parsed from data model * @return {CurveObject} */ getIShapeCurve(parameters: ParamsGetIShapeCurve): CurveObject; /** * * @param parameters ParamsGetLShapeCurve parsed from data model * @return {CurveObject} */ getLShapeCurve(parameters: ParamsGetLShapeCurve): CurveObject; /** * * @param parameters ParamsGetTShapeCurve parsed from data model * @return {CurveObject} */ getTShapeCurve(parameters: ParamsGetTShapeCurve): CurveObject; /** * * @param parameters ParamsGetUShapeCurve parsed from data model * @return {CurveObject} */ getUShapeCurve(parameters: ParamsGetUShapeCurve): CurveObject; /** * * @param parameters ParamsGetZShapeCurve parsed from data model * @return {CurveObject} */ getZShapeCurve(parameters: ParamsGetZShapeCurve): CurveObject; /** * * @param parameters * @return {CurveObject} - Native Curve Object */ getIfcCircle(parameters: ParamsGetIfcCircle): CurveObject; /** * * @param parameters * @return {CurveObject} - Native Curve Object */ getAP214Circle(parameters: ParamsGetIfcCircle): CurveObject; /** * * @param parameters * @return {CurveObject} - Native Curve Object */ getIfcLine(parameters: ParamsGetIfcLine): CurveObject; /** * Get a B-Spline Curve * * @param parameters * @return {CurveObject} - The native curve object. */ getBSplineCurve(parameters: ParamsGetBSplineCurve): CurveObject; /** * * @param parameters - ParamsGetIfcIndexedPolyCurve parsed from data model * @return {CurveObject} */ getIndexedPolyCurve(parameters: ParamsGetIfcIndexedPolyCurve): CurveObject; /** * * @param parameters - ParamsGetIfcIndexedPolyCurve parsed from data model * @return {CurveObject} */ getIndexedPolyCurve3D(parameters: ParamsGetIfcIndexedPolyCurve3D): CurveObject; /** * * @param parameters ParamsGetCircleCurve parsed from data model * @return {CurveObject} */ getCircleCurve(parameters: ParamsGetCircleCurve): CurveObject; /** * * @param parameters ParamsGetCirlceCurve parsed from data model * @return {CurveObject} */ getCircleHoleCurve(parameters: ParamsGetCircleCurve): CurveObject; /** * * @param parameters ParamsGetEllipseCurve parsed from data model * @return {CurveObject} */ getEllipseCurve(parameters: ParamsGetEllipseCurve): CurveObject; /** * * @param parameters ParamsCreateNativeIfcProfile parsed from data model * @return {ProfileObject} */ createNativeIfcProfile(parameters: ParamsCreateNativeIfcProfile): ProfileObject; /** * * @param parameters ParamsCreateBound3D parsed from data model * @return {Bound3DObject} */ createBound3D(parameters: ParamsCreateBound3D): Bound3DObject; /** * * @param parameters ParamsGetHalfspaceSolid parsed from data model * @return {GeometryObject} */ getHalfSpaceSolid(parameters: ParamsGetHalfspaceSolid): GeometryObject; /** * * @param parameters * @returns {GeometryObject} */ getSweptDiskSolid(parameters: ParamsGetSweptDiskSolid): GeometryObject; /** * * @param parameters ParamsGetRectangleProfileCurve parsed from data model * @return {CurveObject} */ getRectangleProfileCurve(parameters: ParamsGetRectangleProfileCurve): CurveObject; /** * * @param parameters ParamsGetRectangleProfileCurve parsed from data model * @return {CurveObject} */ getRectangleHollowProfileHole(parameters: ParamsGetRectangleProfileCurve): CurveObject; /** * * @param parameters * @return {GeometryObject} */ getPolygonalBoundedHalfspace(parameters: ParamsGetPolygonalBoundedHalfspace): GeometryObject; /** * * @param parameters ParamsGetExtrudedAreaSolid parsed from data model * @return {GeometryObject} */ getExtrudedAreaSolid(parameters: ParamsGetExtrudedAreaSolid): GeometryObject; /** * * @param parameters ParamsGetRevolvedAreaSolid parsed from data model * @return {GeometryObject} */ getRevolvedAreaSolid(parameters: ParamsGetRevolvedAreaSolid): GeometryObject; /** * * @param parameters ParamsGetBlock parsed from data model * @return {GeometryObject} - Native Geometry Object */ getBlock(parameters: ParamsGetBlock): GeometryObject; /** * * @param parameters * @return {GeometryObject} */ getBooleanResult(parameters: ParamsGetBooleanResult): GeometryObject; /** * * @param parameters * @return {GeometryObject} */ relVoidSubtract(parameters: ParamsRelVoidSubtract): GeometryObject; /** * Convert geometry to gltf. * * @param mat1 * @param mat2 * @return {any} matrix result of the multiplication */ multiplyNativeMatrices(mat1: NativeTransform4x4, mat2: NativeTransform4x4): NativeTransform4x4; /** * * @param geometry Vector of native geometry collection objects * @param materials Vector of native materials indexed by geometry * @param isGlb boolean if the output should be a single GLB file * @param outputDraco boolean should the output use Draco compression * @param fileUri string of base name for output files * @param geometryOffset The offset into the geometry vector to use to start * @return {ResultsGltf} boolean success + buffers + file uris */ toGltf(geometry: StdVector, materials: StdVector, isGlb: boolean, outputDraco: boolean, fileUri: string, geometryOffset?: number, geometryCount?: number): ResultsGltf; /** * * @param parameters - ParamsGetAxis2Placement2D structure * @return {any} - native Axis2Placement2D structure */ getAxis1Placement3D(parameters: ParamsAxis1Placement3D): NativeTransform4x4; /** * * @param parameters - ParamsGetAxis2Placement2D structure * @return {any} - native Axis2Placement2D structure */ getAxis2Placement2D(parameters: ParamsGetAxis2Placement2D): NativeTransform3x3; /** * * @param parameters - ParamsAxis2Placement3D structure * @return {any} - native Axis2Placement3D structure */ getAxis2Placement3D(parameters: ParamsAxis2Placement3D): NativeTransform4x4; /** * * @param parameters - ParamsLocalPlacement structure * @return {any} = native LocalPlacement structure */ getLocalPlacement(parameters: ParamsLocalPlacement): NativeTransform4x4; /** * * @return {any} identity matrix */ getIdentityTransform(): NativeTransform4x4; /** * * @param geometry - Native Geometry Object * @return {string} - containing OBJ file contents */ toObj(geometry: GeometryObject): string; /** * Frees the geometry processor */ destroy(): void; } //# sourceMappingURL=conway_geometry.d.ts.map