Esempio n. 1
0
int NGInterface::generateSurfaceMeshSTL(void)
{
    int retval = STLSurfaceMeshing(*(STLGeometry*)geometry, *mesh);

    if (retval == MESHING3_OK)
    {
        (*mycout) << "Success !!!!" << endl;
        ((STLGeometry*)geometry)->surfacemeshed = 1;
        ((STLGeometry*)geometry)->surfaceoptimized = 0;
        ((STLGeometry*)geometry)->volumemeshed = 0;
    }
    else if (retval == MESHING3_OUTERSTEPSEXCEEDED)
    {
        (*mycout) << "ERROR: Give up because of too many trials. Meshing aborted!" << endl;
    }
    else if (retval == MESHING3_TERMINATE)
    {
        (*mycout) << "Meshing Stopped!" << endl;
    }
    else
    {
        (*mycout) << "ERROR: Surface meshing not successful. Meshing aborted!" << endl;
    }
    STLSurfaceOptimization (*(STLGeometry*)geometry, *mesh, mparam);
    return 1;
}
Esempio n. 2
0
   // generates mesh, empty mesh be already created.
   DLL_HEADER Ng_Result Ng_STL_GenerateSurfaceMesh (Ng_STL_Geometry * geom,
                                                    Ng_Mesh* mesh,
                                                    Ng_Meshing_Parameters * mp)
   {
      STLGeometry* stlgeometry = (STLGeometry*)geom;
      Mesh* me = (Mesh*)mesh;

      // Philippose - 27/07/2009
      // Do not locally re-define "mparam" here... "mparam" is a global 
      // object
      //MeshingParameters mparam;

      mparam.maxh = mp->maxh;
      mparam.meshsizefilename = mp->meshsize_filename;

      /*
      me -> SetGlobalH (mparam.maxh);
      me -> SetLocalH (stlgeometry->GetBoundingBox().PMin() - Vec3d(10, 10, 10),
      stlgeometry->GetBoundingBox().PMax() + Vec3d(10, 10, 10),
      0.3);
      */
      /*
      STLMeshing (*stlgeometry, *me);

      stlgeometry->edgesfound = 1;
      stlgeometry->surfacemeshed = 0;
      stlgeometry->surfaceoptimized = 0;
      stlgeometry->volumemeshed = 0;
      */  
      int retval = STLSurfaceMeshing (*stlgeometry, *me);
      if (retval == MESHING3_OK)
      {
         (*mycout) << "Success !!!!" << endl;
         stlgeometry->surfacemeshed = 1;
         stlgeometry->surfaceoptimized = 0;
         stlgeometry->volumemeshed = 0;
      } 
      else if (retval == MESHING3_OUTERSTEPSEXCEEDED)
      {
         (*mycout) << "ERROR: Give up because of too many trials. Meshing aborted!" << endl;
      }
      else if (retval == MESHING3_TERMINATE)
      {
         (*mycout) << "Meshing Stopped!" << endl;
      }
      else
      {
         (*mycout) << "ERROR: Surface meshing not successful. Meshing aborted!" << endl;
      }


      STLSurfaceOptimization (*stlgeometry, *me, mparam);

      return NG_OK;
   }