Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Filename : CubitOctreeGeneratorVolumes.hpp
3 : : //
4 : : // Purpose : Upper level code for octree generation of single volume or assembly
5 : : //
6 : : // Creator : William Roshan Quadros
7 : : //
8 : : // Creation Date : 08/28/2013
9 : : // Owner :
10 : : //-------------------------------------------------------------------------
11 : : #ifndef CUBIT_OCTREE_GENERATOR_VOLUMES_H
12 : : #define CUBIT_OCTREE_GENERATOR_VOLUMES_H
13 : :
14 : : #include "CubitOctreeGenerator.hpp"
15 : : #include "CubitOctreeConstants.hpp"
16 : :
17 : :
18 : : template <class X> class DLIList;
19 : :
20 : : class CubitOctree;
21 : : class CubitOctreeNode;
22 : : class RefVolume;
23 : : class RefEntity;
24 : :
25 : :
26 : :
27 : : class CubitOctreeGeneratorVolumes : public CubitOctreeGenerator
28 : : {
29 : :
30 : : public:
31 : :
32 : : // Constructor for octree
33 : : CubitOctreeGeneratorVolumes( DLIList<RefEntity*> &entity_list );
34 : :
35 : : //- Constructor for octree
36 [ # # ]: 0 : ~CubitOctreeGeneratorVolumes(){}
37 : : //- Distructor
38 : :
39 : : CubitBoolean generate_lattice(void );
40 : : CubitBoolean find_intersection_between_octree_and_facets( DLIList<CubitOctreeNode *> &queue_for_mat_generation );
41 : : CubitBoolean build_octree_till_skl_max_depth_based_on_facets(void);
42 : :
43 : : void get_bounding_box( CubitVector &min, CubitVector &max );
44 : :
45 : :
46 : : // finds the optimal min and max depths of octree
47 : : static void find_optimal_min_and_max_octree_depths( DLIList< RefEntity *> &entity_list, int &min_depth, int &max_depth );
48 : : static void find_optimal_min_and_max_depth( RefEntity *volume, int &local_min_depth, int &local_max_depth );
49 : :
50 : :
51 : : void reset_td_octree_ref_face_visit( const CubitBoolean type );
52 : : void reset_td_octree_ref_edge_visit( const CubitBoolean type );
53 : :
54 : : CubitBoolean build_td_mref_faces( void );
55 : : CubitBoolean build_td_mref_edges( void );
56 : :
57 : : void color_octreenode_via_grassfire( DLIList<CubitOctreeNode *> &queue_for_mat_generation );
58 : : CubitStatus generate_full_octree(void);
59 : :
60 : :
61 : : void testing();
62 : :
63 : : private:
64 : :
65 : : DLIList<RefEntity*> &entityList;
66 : : };
67 : :
68 : : #endif
69 : :
70 : : //EOF
|