Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Filename : HiddenEntitySet.hpp
3 : : //
4 : : // Purpose : A class to hold a list of hidden entites and act as
5 : : // their owner.
6 : : //
7 : : // Special Notes :
8 : : //
9 : : // Creator : Jason Kraftcheck
10 : : //
11 : : // Creation Date : 01/14/02
12 : : //-------------------------------------------------------------------------
13 : :
14 : : #ifndef HIDDEN_ENTITY_SET
15 : : #define HIDDEN_ENTITY_SET
16 : :
17 : : #include "TBOwner.hpp"
18 : : #include <vector>
19 : :
20 : : class BodySM;
21 : : class Lump;
22 : : class Surface;
23 : : class Curve;
24 : : class TBPoint;
25 : :
26 : : class HiddenEntitySet : public TBOwner
27 : : {
28 : :
29 : : public:
30 : :
31 [ # # ]: 0 : HiddenEntitySet( TBOwner* owner ) : myOwner(owner) {}
32 : :
33 : : virtual ~HiddenEntitySet();
34 : :
35 : : CubitStatus hide( TopologyBridge* bridge );
36 : : CubitStatus restore( TopologyBridge* bridge );
37 : :
38 : : void hidden_surfaces( DLIList<Surface*>& );
39 : : void hidden_coedges(DLIList<CoEdgeSM*>& );
40 : : void hidden_curves( DLIList<Curve*>& );
41 : : void hidden_points( DLIList<TBPoint*>& );
42 : :
43 : : CubitStatus remove_bridge( TopologyBridge* bridge );
44 : : CubitStatus swap_bridge( TopologyBridge* old_tb,
45 : : TopologyBridge* new_tb,
46 : : bool reversed );
47 : : void notify_reversed( TopologyBridge* );
48 : :
49 : : CubitStatus merge( HiddenEntitySet* other );
50 : :
51 : 0 : TBOwner* owner() const
52 : 0 : { return myOwner; }
53 : :
54 : : void print_debug_info( const char* prefix ) const;
55 : :
56 : 0 : bool is_empty() const
57 : 0 : { return hiddenList.empty(); }
58 : :
59 : : private:
60 : :
61 : : TBOwner* myOwner;
62 : : std::vector<TopologyBridge*> hiddenList;
63 : : };
64 : :
65 : : #endif
|