cgma
|
00001 //------------------------------------------------------------------------- 00002 // Filename : LocalToleranceTool.hpp 00003 // 00004 // Purpose : Determines smart local tolerances at ref entities 00005 // 00006 // Creator : William Roshan Quadros 00007 // 00008 // Creation Date : 11/16/2010 00009 // 00010 // Owner : 00011 //------------------------------------------------------------------------- 00012 00013 #ifndef LOCAL_TOLERANCE_TOOL_HPP 00014 #define LOCAL_TOLERANCE_TOOL_HPP 00015 00016 #include "CubitDefines.h" 00017 #include "CGMGeomConfigure.h" 00018 #include "DLIList.hpp" 00019 class BodySM; 00020 00021 class CUBIT_GEOM_EXPORT LocalToleranceTool 00022 { 00023 private: 00024 //Static pointer to the unique instance of this class. 00025 static LocalToleranceTool* instance_; 00026 00027 // Smartly set local toleraceces on all the ref entities recursively 00028 bool calculate_local_tolerances_automatically( DLIList<BodySM*> body_sm_list ); 00029 00030 00031 public: 00032 LocalToleranceTool(); 00033 ~LocalToleranceTool(); 00034 00035 // Return LocalToleranceTool* - Pointer to the singleton LocalToleranceTool object 00036 static LocalToleranceTool* instance( void ); 00037 static void delete_instance(); 00038 00039 // Main interface for calculating local tolerances 00040 bool calculate_local_tolerances( DLIList<BodySM*> body_sm_list ); 00041 00042 // Debugging function to print local tolerances at all ref_entities of the input bodies 00043 bool print_local_tolerances( DLIList<BodySM*> body_sm_list ); 00044 00045 }; 00046 00047 #endif 00048