mirror of
https://github.com/NGSolve/netgen.git
synced 2024-12-26 13:50:33 +05:00
51 lines
2.0 KiB
C
51 lines
2.0 KiB
C
|
#ifndef NGLIB_OCC_HPP_INCLUDED
|
||
|
#define NGLIB_OCC_HPP_INCLUDED
|
||
|
|
||
|
/// Data type for NETGEN OpenCascade geometry
|
||
|
typedef void * Ng_OCC_Geometry;
|
||
|
typedef void * Ng_OCC_TopTools_IndexedMapOfShape;
|
||
|
|
||
|
// **********************************************************
|
||
|
// ** OpenCascade Geometry / Meshing Utilities **
|
||
|
// **********************************************************
|
||
|
|
||
|
// Create new OCC Geometry Object
|
||
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_NewGeometry ();
|
||
|
|
||
|
// Delete an OCC Geometry Object
|
||
|
NGLIB_API Ng_Result Ng_OCC_DeleteGeometry (Ng_OCC_Geometry * geom);
|
||
|
|
||
|
// Loads geometry from STEP file
|
||
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_STEP (const char * filename);
|
||
|
|
||
|
// Loads geometry from IGES file
|
||
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_IGES (const char * filename);
|
||
|
|
||
|
// Loads geometry from BREP file
|
||
|
NGLIB_API Ng_OCC_Geometry * Ng_OCC_Load_BREP (const char * filename);
|
||
|
|
||
|
// Set the local mesh size based on geometry / topology
|
||
|
NGLIB_API Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
|
||
|
Ng_Mesh * mesh,
|
||
|
Ng_Meshing_Parameters * mp);
|
||
|
|
||
|
// Mesh the edges and add Face descriptors to prepare for surface meshing
|
||
|
NGLIB_API Ng_Result Ng_OCC_GenerateEdgeMesh (Ng_OCC_Geometry * geom,
|
||
|
Ng_Mesh * mesh,
|
||
|
Ng_Meshing_Parameters * mp);
|
||
|
|
||
|
// Mesh the surfaces of an OCC geometry
|
||
|
NGLIB_API Ng_Result Ng_OCC_GenerateSurfaceMesh (Ng_OCC_Geometry * geom,
|
||
|
Ng_Mesh * mesh,
|
||
|
Ng_Meshing_Parameters * mp);
|
||
|
|
||
|
// Get the face map of an already loaded OCC geometry
|
||
|
NGLIB_API Ng_Result Ng_OCC_GetFMap(Ng_OCC_Geometry * geom,
|
||
|
Ng_OCC_TopTools_IndexedMapOfShape * FMap);
|
||
|
|
||
|
NGLIB_API void Ng_OCC_Uniform_Refinement (Ng_OCC_Geometry * geom,
|
||
|
Ng_Mesh * mesh);
|
||
|
NGLIB_API void Ng_OCC_Generate_SecondOrder (Ng_OCC_Geometry * geom,
|
||
|
Ng_Mesh * mesh);
|
||
|
#endif // NGLIB_OCC_HPP_INCLUDED
|