00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef COIN_SOCOMPUTEBOUNDINGBOX_H
00025 #define COIN_SOCOMPUTEBOUNDINGBOX_H
00026
00027 #include <Inventor/engines/SoSubEngine.h>
00028 #include <Inventor/engines/SoEngineOutput.h>
00029 #include <Inventor/fields/SoSFNode.h>
00030 #include <Inventor/fields/SoSFPath.h>
00031 #include <Inventor/SbViewportRegion.h>
00032
00033 class SoGetBoundingBoxAction;
00034
00035
00036 class COIN_DLL_API SoComputeBoundingBox : public SoEngine {
00037 typedef SoEngine inherited;
00038
00039 SO_ENGINE_HEADER(SoComputeBoundingBox);
00040
00041 public:
00042 SoSFNode node;
00043 SoSFPath path;
00044
00045 SoEngineOutput min;
00046 SoEngineOutput max;
00047 SoEngineOutput boxCenter;
00048 SoEngineOutput objectCenter;
00049
00050 SoComputeBoundingBox(void);
00051 static void initClass(void);
00052
00053 void setViewportRegion(const SbViewportRegion & vpr);
00054 const SbViewportRegion & getViewportRegion(void) const;
00055
00056 protected:
00057 virtual ~SoComputeBoundingBox();
00058
00059 private:
00060 virtual void evaluate(void);
00061 SoGetBoundingBoxAction * bboxaction;
00062 };
00063
00064 #endif // !COIN_SOCOMPUTEBOUNDINGBOX_H