예제 #1
0
   DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
                                                 Ng_Mesh * mesh,
                                                 Ng_Meshing_Parameters * mp)
   {
      OCCGeometry * occgeom = (OCCGeometry*)geom;
      Mesh * me = (Mesh*)mesh;

      mparam.uselocalh = mp->uselocalh;

      mparam.maxh = mp->maxh;
      mparam.minh = mp->minh;

      mparam.segmentsperedge = mp->elementsperedge;
      mparam.curvaturesafety = mp->elementspercurve;

      mparam.grading = mp->grading;
      mparam.meshsizefilename = mp->meshsize_filename;
      
      occparam.resthcloseedgeenable = mp->closeedgeenable;
      occparam.resthcloseedgefac = mp->closeedgefact;

      delete me;
      me = new Mesh;

      OCCSetLocalMeshSize(*occgeom, *me);

      return(NG_OK);
   }
예제 #2
0
파일: nglib.cpp 프로젝트: 11235813/netgen
   // Locally limit the size of the mesh to be generated at various points 
   // based on the topology of the geometry
   DLL_HEADER Ng_Result Ng_OCC_SetLocalMeshSize (Ng_OCC_Geometry * geom,
                                                 Ng_Mesh * mesh,
                                                 Ng_Meshing_Parameters * mp)
   {
      OCCGeometry * occgeom = (OCCGeometry*)geom;
      Mesh * me = (Mesh*)mesh;

      me->geomtype = Mesh::GEOM_OCC;

      mp->Transfer_Parameters();
      
      occparam.resthcloseedgeenable = mp->closeedgeenable;
      occparam.resthcloseedgefac = mp->closeedgefact;

      // Delete the mesh structures in order to start with a clean 
      // slate
      me->DeleteMesh();

      OCCSetLocalMeshSize(*occgeom, *me);

      return(NG_OK);
   }