CMS 3D CMS Logo

IgBSPNode.h

Go to the documentation of this file.
00001 #ifndef IG_OPEN_INVENTOR_IG_BSP_NODE_H
00002 # define IG_OPEN_INVENTOR_IG_BSP_NODE_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Inventor/interface/config.h"
00007 # include "Iguana/Inventor/interface/IgBSPTriangle.h"
00008 # include <Inventor/SbLinear.h>
00009 # include <list>
00010 
00011 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00012 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00013 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00014 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00015 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00016 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00017 
00018 class IG_OPEN_INVENTOR_API IgBSPNode
00019 {
00020 public:
00021     // implicit copy constructor
00022     // implicit assignment operator
00023     IgBSPNode (IgBSPTriangle *triangle);
00024     IgBSPNode (const SbPlane &plane);
00025     ~IgBSPNode (void);
00026 
00027     
00028     void add (IgBSPTriangle *triangle,
00029               bool addTriangle,
00030               IgBSPTriangle::List *trianglesAddedInFront,
00031               IgBSPTriangle::List *trianglesAddedInBack);    
00032     void add (const SbPlane &plane);    
00033     void add (IgBSPTriangle::List &list);
00034     
00035 
00036     const SbPlane &plane (void);
00037     
00038     int getTriangleCount (void);    
00039 
00040     IgBSPNode *&front (void);
00041     IgBSPNode *&back (void);
00042 private:
00043     IgBSPTriangle::List m_coplanarTriangles;
00044     IgBSPNode                   *m_front;
00045     IgBSPNode                   *m_back;    
00046     SbPlane                     m_hyperPlane;
00047 };
00048 
00049 
00050 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00051 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00052 
00053 #endif // IG_OPEN_INVENTOR_IG_BSP_NODE_H

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