I tried to call the GenerateMesh from nglib.cpp like this
Code:
DLL_HEADER Ng_Result Ng_GenerateMesh( Ng_OCC_Geometry * geom,
Ng_Mesh * mesh,
Ng_Meshing_Parameters* mp )
{
OCCGeometry * occgeom = (OCCGeometry*)geom;
std::shared_ptr< NetgenGeometry> netgenGeometry = shared_ptr<NetgenGeometry>( occgeom, &NOOP_Deleter );
shared_ptr<Mesh> netgenMesh( (Mesh*)mesh, &NOOP_Deleter );
netgenMesh->SetGeometry( netgenGeometry );
netgenMesh->geomtype = Mesh::GEOM_OCC;
mp->Transfer_Parameters();
mparam.perfstepsstart = MESHCONST_ANALYSE;
mparam.perfstepsend = MESHCONST_OPTSURFACE;
int res = netgenGeometry->GenerateMesh( netgenMesh, mparam );
if(res == 0 )
return( NG_OK );
}
But it crashes at OCCMeshSurface
Code:
Meshing2OCCSurfaces meshing(geom, TopoDS::Face(geom.fmap(k)), bb, projecttype, mparam);
the value of k is greater than number of faces in the geometry (
)
So it throws out of range error.
Thanks