Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Filename : TBOwner.hpp
3 : : //
4 : : // Purpose : Interface for an object that owns a TopologyBridge
5 : : //
6 : : // Special Notes : Interface implemented by BridgeManager and virtual classes.
7 : : //
8 : : // Creator : Jason Kraftcheck
9 : : //
10 : : // Creation Date : 11/28/01
11 : : //-------------------------------------------------------------------------
12 : : #ifndef TB_OWNER_HPP
13 : : #define TB_OWNER_HPP
14 : :
15 : : #ifndef CUBITOBJECT_HPP
16 : : # include "CubitDefines.h"
17 : : #endif
18 : :
19 : : #include "TopologyBridge.hpp"
20 : :
21 : 295153 : class CUBIT_GEOM_EXPORT TBOwner
22 : : {
23 : :
24 : : public:
25 : :
26 : : virtual ~TBOwner();
27 : : virtual CubitStatus remove_bridge( TopologyBridge* bridge ) = 0;
28 : :
29 : 0 : virtual CubitStatus bridge_destroyed( TopologyBridge* bridge )
30 : 0 : { return remove_bridge( bridge ); }
31 : :
32 : : virtual CubitStatus swap_bridge( TopologyBridge* old_tb,
33 : : TopologyBridge* new_tb,
34 : : bool reversed ) = 0;
35 : :
36 : 0 : virtual CubitBoolean contains_bridge( TopologyBridge* bridge ) const
37 : 0 : { return (CubitBoolean)(bridge->owner() == this); }
38 : :
39 : : virtual void notify_reversed( TopologyBridge* ) = 0;
40 : :
41 : 0 : virtual void notify_joined( TopologyBridge* /* dead_bridge */,
42 : 0 : TopologyBridge* /* combined_bridge */) {}
43 : :
44 : 0 : virtual void notify_split ( TopologyBridge* /* new_bridge */,
45 : 0 : TopologyBridge* /* split_from */) {}
46 : :
47 : 0 : virtual void notify_merged( TopologyBridge* dead_bridge ,
48 : : TopologyBridge* /* coincident_bridge*/)
49 : 0 : { remove_bridge( dead_bridge ); }
50 : :
51 : 0 : virtual void notify_copied( TopologyBridge* /* new_bridge */,
52 : 0 : TopologyBridge* /* split_from */) {}
53 : 0 : virtual void notify_topology_modified( TopologyBridge* ) {}
54 : :
55 : :
56 : : protected:
57 : : };
58 : :
59 : : #endif
60 : :
|