cgma
CollapseCurveTool.hpp
Go to the documentation of this file.
00001 //---------------------------------------------------------------------------
00002 //- Filename:       CollapseCurveTool
00003 //- Purpose:  To collapse small curves for preparing for mesh
00004 //-
00005 //- Creator:       Brett Clark
00006 //- Creation date: 01/10/2006
00007 //---------------------------------------------------------------------------- 
00008 
00009 #ifndef COLLAPSECURVETOOL_HPP
00010 #define COLLAPSECURVETOOL_HPP
00011 
00012 class RefEdge;
00013 class RefVertex;
00014 template<class X> class DLIList;
00015    
00016 class CollapseCurveTool
00017 {
00018   public:
00019     static CollapseCurveTool *instance();
00020     static void delete_instance()
00021     {
00022       if(instance_)
00023         delete instance_;
00024       instance_ = NULL;
00025     };
00026 
00027     CubitStatus collapse_curve(DLIList <RefEdge*> ref_edge_list, 
00028                 DLIList<RefVertex*> ref_vertex_list,
00029                 int ignore_surfaces,
00030                 double *small_curve_size = NULL); 
00031 
00032     CubitStatus collapse_curve_only_virtual(DLIList <RefEdge*> ref_edge_list, 
00033                                         DLIList<RefVertex*> ref_vertex_list,
00034                                         int ignore_surfaces,
00035                                         double *small_curve_size = NULL);
00036   private:
00037     CollapseCurveTool();
00038     // Constructor
00039                                                                                 
00040     ~CollapseCurveTool();
00041     // Destructor
00042                                                                                 
00043     static CollapseCurveTool *instance_;
00044     // the static instance pointer
00045 
00046     CubitStatus position_from_length(RefEdge *edge,
00047                                      RefVertex *root_vertex,
00048                                      double  arc_length,
00049                                      CubitVector& v_new);
00050 
00051 
00052 };
00053 
00054 #endif
00055 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines