CMS 3D CMS Logo

IgSurfaceOperation.h

Go to the documentation of this file.
00001 #ifndef IG_OPEN_INVENTOR_IG_SURFACE_OPERATION_H
00002 # define IG_OPEN_INVENTOR_IG_SURFACE_OPERATION_H
00003 
00004 //<<<<<< INCLUDES                                                       >>>>>>
00005 
00006 # include "Iguana/Inventor/interface/config.h"
00007 # include <list>
00008 
00009 //<<<<<< PUBLIC DEFINES                                                 >>>>>>
00010 //<<<<<< PUBLIC CONSTANTS                                               >>>>>>
00011 //<<<<<< PUBLIC TYPES                                                   >>>>>>
00012 
00013 class SoNode;
00014 
00015 //<<<<<< PUBLIC VARIABLES                                               >>>>>>
00016 //<<<<<< PUBLIC FUNCTIONS                                               >>>>>>
00017 //<<<<<< CLASS DECLARATIONS                                             >>>>>>
00018 
00019 #define MIN_POINT_DISTANCE 0.0000001
00020 
00021 class IgSurfaceOperation
00022 {
00023 public:
00024     enum OPERATION { INTERSECTION,
00025                      SUBTRACTION,
00026                      UNION,
00027                      SURFACE_1_IN_2,              
00028                      SURFACE_2_IN_1,              
00029                      SURFACE_1_OUT_2,             
00030                      SURFACE_2_OUT_1              
00031     };
00032         
00033     IgSurfaceOperation (int operatingMode);
00034     void addNode (SoNode *node);
00035     SoNode *apply (void);  
00036     SoNode *apply (SoNode *a, SoNode *b);    
00037 
00038 private:
00039     typedef std::list <SoNode *> NodeList;
00040     typedef std::list<SoNode *>::const_iterator NodeIterator;    
00041     
00042     NodeList m_nodes;
00043     int m_operation;    
00044 };
00045 
00046 //<<<<<< INLINE PUBLIC FUNCTIONS                                        >>>>>>
00047 //<<<<<< INLINE MEMBER FUNCTIONS                                        >>>>>>
00048 
00049 #endif // IG_OPEN_INVENTOR_IG_SURFACE_OPERATION_H

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