Branch data Line data Source code
1 : : //- Class: TDCAGE
2 : : //- Descpription: Stores data used in the CAGenesisEntity attribute
3 : : //- Owner: Tim Tautges
4 : : //- Checked by:
5 : : //- Version:
6 : :
7 : : #ifndef TDCAGE_HPP
8 : : #define TDCAGE_HPP
9 : :
10 : : #include "ToolData.hpp"
11 : : #include "MemoryManager.hpp"
12 : : #include "DLIList.hpp"
13 : : #include "CGMGeomConfigure.h"
14 : :
15 : : class RefGroup;
16 : : class RefEntity;
17 : :
18 : : class CUBIT_GEOM_EXPORT TDCAGE : public ToolData
19 : : {
20 : : private:
21 : :
22 : : static MemoryManager memoryManager;
23 : : //- memory management object
24 : :
25 : : int uniqueId;
26 : :
27 : : DLIList<RefGroup *> groupList;
28 : : //- keeps group pointers for group/sequence # pairs
29 : :
30 : : DLIList<int> sequenceList;
31 : : //- keeps sequence #'s for group/sequence # pairs
32 : :
33 : : public:
34 : :
35 : : TDCAGE(int unique_id);
36 : :
37 : : ~TDCAGE();
38 : :
39 : : static int is_cage(const ToolData* td);
40 : :
41 : 22 : int unique_id() {return uniqueId;}
42 : : void unique_id(int id) {uniqueId = id;}
43 : : //- get/set unique id
44 : :
45 : 132 : SetDynamicMemoryAllocation(memoryManager)
46 : : //- class specific new and delete operators
47 : :
48 : : static void set_memory_allocation_increment( int increment = 0 )
49 : : {memoryManager.set_memory_allocation_increment(increment);}
50 : : //- set block memory size increment
51 : :
52 : : static void destroy_memory()
53 : : {memoryManager.destroy_memory();}
54 : : //- destroy all memory allocated to this object
55 : :
56 : : static int group_sequence_number(RefGroup *group, const RefEntity *entity);
57 : : //- return the sequence number of the given entity in the given group
58 : :
59 : : int td_sequence_number(const RefGroup *group);
60 : : //- given a group, return the sequence number paired with that group
61 : :
62 : : void insert_group(RefGroup *group, const int seq_num);
63 : : //- add the group/sequence number pair to the lists
64 : :
65 : : static void insert_entity(RefEntity *entity, const int seq_num,
66 : : RefGroup *into_group);
67 : : //- insert the entity into the group following the sequence number
68 : : //- given
69 : :
70 : : void initialize_group_sequence_list(RefEntity *entity);
71 : : //- get the groups owning entity and build the sequence lists
72 : : };
73 : :
74 [ + - ][ + - ]: 88 : inline TDCAGE::TDCAGE(int unique_id) : ToolData()
75 : : {
76 : 44 : uniqueId = unique_id;
77 : 44 : }
78 : :
79 [ + - ][ + - ]: 66 : inline TDCAGE::~TDCAGE()
80 : : {
81 : : //- empty
82 [ - + ]: 44 : }
83 : :
84 : 11 : inline void TDCAGE::insert_group(RefGroup *group, const int seq_num)
85 : : {
86 : 11 : groupList.append(group);
87 : 11 : sequenceList.append(seq_num);
88 : 11 : }
89 : :
90 : : #endif // TD_CAGE_HPP
91 : :
|