cgma
HiddenEntitySet.hpp
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines