Branch data Line data Source code
1 : : //- Class: ChollaVolume
2 : : //- Owner: Steven J. Owen
3 : : //- Description: volume representation for the Cholla entities
4 : : //- Created: 8/30/2009
5 : : //- Checked By:
6 : : //- Version:
7 : :
8 : : #ifndef ChollaVolume_HPP
9 : : #define ChollaVolume_HPP
10 : :
11 : : #include "DLIList.hpp"
12 : : #include "ChollaEntity.hpp"
13 : :
14 : : class ChollaSurface;
15 : :
16 : : class ChollaVolume : public ChollaEntity
17 : : {
18 : : private:
19 : : int id;
20 : : int blockId;
21 : :
22 : : DLIList<ChollaSurface*> surfaceList;
23 : : void *myVolume;
24 : :
25 : : public:
26 : :
27 : : ChollaVolume(int block_id);
28 : : ~ChollaVolume();
29 : :
30 : : void assign_geometric_volume(void *vol)
31 : : {myVolume = vol;}
32 : : void* get_geometric_volume()
33 : : {return myVolume;}
34 : 0 : void get_surfaces( DLIList<ChollaSurface*> &cholla_surf_list )
35 : 0 : {cholla_surf_list = surfaceList; }
36 : 0 : void add_surface( ChollaSurface *cholla_surf_ptr )
37 : 0 : {surfaceList.append(cholla_surf_ptr);}
38 : : void add_surface_unique( ChollaSurface *cholla_surf_ptr )
39 : : {surfaceList.append_unique(cholla_surf_ptr);}
40 : 0 : void remove_surface( ChollaSurface *cholla_surf_ptr)
41 : 0 : {surfaceList.remove(cholla_surf_ptr);}
42 : : int get_block_id()
43 : : {return blockId;}
44 : : void set_block_id(int flag)
45 : : { blockId = flag; }
46 : :
47 : : int get_id() const {return id;}
48 : :
49 : : void debug_draw();
50 : : };
51 : :
52 : : template <> struct DLIListSorter<ChollaVolume*>
53 : : {
54 : : bool operator()(ChollaVolume* a, ChollaVolume* b) { return a->get_id() < b->get_id(); }
55 : : };
56 : :
57 : : #endif
58 : :
59 : :
60 : :
61 : :
62 : :
|