cgma
|
00001 //------------------------------------------------------------------------- 00002 // Filename : HiddenEntitySet.hpp 00003 // 00004 // Purpose : A class to hold a list of hidden entites and act as 00005 // their owner. 00006 // 00007 // Special Notes : 00008 // 00009 // Creator : Jason Kraftcheck 00010 // 00011 // Creation Date : 01/14/02 00012 //------------------------------------------------------------------------- 00013 00014 #ifndef HIDDEN_ENTITY_SET 00015 #define HIDDEN_ENTITY_SET 00016 00017 #include "TBOwner.hpp" 00018 #include <vector> 00019 00020 class BodySM; 00021 class Lump; 00022 class Surface; 00023 class Curve; 00024 class TBPoint; 00025 00026 class HiddenEntitySet : public TBOwner 00027 { 00028 00029 public: 00030 00031 HiddenEntitySet( TBOwner* owner ) : myOwner(owner) {} 00032 00033 virtual ~HiddenEntitySet(); 00034 00035 CubitStatus hide( TopologyBridge* bridge ); 00036 CubitStatus restore( TopologyBridge* bridge ); 00037 00038 void hidden_surfaces( DLIList<Surface*>& ); 00039 void hidden_coedges(DLIList<CoEdgeSM*>& ); 00040 void hidden_curves( DLIList<Curve*>& ); 00041 void hidden_points( DLIList<TBPoint*>& ); 00042 00043 CubitStatus remove_bridge( TopologyBridge* bridge ); 00044 CubitStatus swap_bridge( TopologyBridge* old_tb, 00045 TopologyBridge* new_tb, 00046 bool reversed ); 00047 void notify_reversed( TopologyBridge* ); 00048 00049 CubitStatus merge( HiddenEntitySet* other ); 00050 00051 TBOwner* owner() const 00052 { return myOwner; } 00053 00054 void print_debug_info( const char* prefix ) const; 00055 00056 bool is_empty() const 00057 { return hiddenList.empty(); } 00058 00059 private: 00060 00061 TBOwner* myOwner; 00062 std::vector<TopologyBridge*> hiddenList; 00063 }; 00064 00065 #endif