CMS 3D CMS Logo

IgBSPTree.h

Go to the documentation of this file.
00001 #ifndef IG_OPEN_INVENTOR_IG_BSP_TREE_H
00002 # define IG_OPEN_INVENTOR_IG_BSP_TREE_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Inventor/interface/config.h"
00007 # include "Iguana/Inventor/interface/IgBSPTriangle.h"
00008 # include "Iguana/Inventor/interface/IgBSPNode.h"
00009 
00010 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00011 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00012 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00013 
00014 class SoNode;
00015 
00016 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00017 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00018 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00019 
00020 class IG_OPEN_INVENTOR_API IgBSPTree
00021 {
00022 public:
00023     enum 
00024     {
00025         COPLANAR_IN_FRONT,
00026         COPLANAR_IN_BACK,
00027         COPLANAR_IN_NODE
00028     };
00029 
00030     IgBSPTree (void);    
00031     ~IgBSPTree (void);    
00032     void add (SoNode *node);
00033     void addOnlyOneFace (SoNode *node);
00034     
00035     void intersect (IgBSPTriangle *triangle,     
00036                     IgBSPTriangle::List *frontTriangles,
00037                     IgBSPTriangle::List *backTriangles);
00038 
00039     void intersect (SoNode *node,     
00040                     IgBSPTriangle::List *frontTriangles,
00041                     IgBSPTriangle::List *backTriangles);
00042     
00043     int getTriangleCount (void);    
00044     
00046     bool empty (void);
00047     
00048 private:
00049     IgBSPNode *m_rootNode;        
00050 };
00051 
00052 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00053 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00054 
00055 #endif // IG_OPEN_INVENTOR_IG_BSP_TREE_H

Generated on Tue Jun 9 17:38:42 2009 for CMSSW by  doxygen 1.5.4