cgma
|
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