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