cgma
CubitOctreeGenerator.hpp
Go to the documentation of this file.
00001 //-------------------------------------------------------------------------
00002 // Filename      :  CubitOctreeGenerator.hpp
00003 //
00004 // Purpose       :  Base class for octree generation of surfaces, single volume or assembly
00005 //
00006 // Creator       :  William Roshan Quadros
00007 //
00008 // Creation Date :  08/28/2013
00009 // Owner         : 
00010 //-------------------------------------------------------------------------
00011 #ifndef CUBIT_OCTREE_GENERATOR_H
00012 #define CUBIT_OCTREE_GENERATOR_H
00013 
00014 #include "CubitVector.hpp"
00015 
00016 template <class X> class DLIList;
00017 
00018 class CubitOctree;
00019 class CubitOctreeNode;
00020 
00021 
00022 // Base class for source point
00023 class CubitOctreeGenerator{
00024   
00025 public:
00026    
00027   
00028   CubitOctreeGenerator( );
00029     //- Constructor for octree
00030   
00031   virtual ~CubitOctreeGenerator();
00032     //- Distructor
00033 
00034   CubitOctree* get_octree_lattice( void ){ return cubitOctree;}
00035  
00036   double size_at_point_in_octree( const CubitVector &point, int type );
00037   double size_at_a_point( const CubitVector &point );
00038 
00039   void color_lattice_cell( void );
00040   
00041   virtual void get_bounding_box( CubitVector &min, CubitVector &max ) = 0;
00042 
00043  
00044   virtual CubitBoolean generate_lattice( void ) = 0;
00045   
00046   CubitPointContainment point_containment( CubitVector tmp_vec, double tolerance );
00047 
00048  
00049 protected:
00050 
00051 
00052   CubitOctree *cubitOctree;
00053     //- Octree model of the solid;
00054 
00055 
00056 private:
00057 
00058 };
00059 
00060 
00061 
00062 #endif
00063 
00064 //EOF
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines