Branch data Line data Source code
1 : : //-------------------------------------------------------------------------
2 : : // Filename : CubitOctreeGenerator.hpp
3 : : //
4 : : // Purpose : Base class for octree generation of surfaces, 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_H
12 : : #define CUBIT_OCTREE_GENERATOR_H
13 : :
14 : : #include "CubitVector.hpp"
15 : :
16 : : template <class X> class DLIList;
17 : :
18 : : class CubitOctree;
19 : : class CubitOctreeNode;
20 : :
21 : :
22 : : // Base class for source point
23 : : class CubitOctreeGenerator{
24 : :
25 : : public:
26 : :
27 : :
28 : : CubitOctreeGenerator( );
29 : : //- Constructor for octree
30 : :
31 : : virtual ~CubitOctreeGenerator();
32 : : //- Distructor
33 : :
34 : 0 : CubitOctree* get_octree_lattice( void ){ return cubitOctree;}
35 : :
36 : : double size_at_point_in_octree( const CubitVector &point, int type );
37 : : double size_at_a_point( const CubitVector &point );
38 : :
39 : : void color_lattice_cell( void );
40 : :
41 : : virtual void get_bounding_box( CubitVector &min, CubitVector &max ) = 0;
42 : :
43 : :
44 : : virtual CubitBoolean generate_lattice( void ) = 0;
45 : :
46 : : CubitPointContainment point_containment( CubitVector tmp_vec, double tolerance );
47 : :
48 : :
49 : : protected:
50 : :
51 : :
52 : : CubitOctree *cubitOctree;
53 : : //- Octree model of the solid;
54 : :
55 : :
56 : : private:
57 : :
58 : : };
59 : :
60 : :
61 : :
62 : : #endif
63 : :
64 : : //EOF
|