00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #if !defined SODATAEXTRACT_H
00024 #define SODATAEXTRACT_H
00025
00026 #include <Inventor/SbDataType.h>
00027
00028 #include <Inventor/STL/vector>
00029
00030 #include <Inventor/algorithms/SoAlgorithmsDefs.h>
00031
00032 class SoBufferObject;
00033 class SoCpuBufferObject;
00034
00054 class SoDataExtract
00055 {
00056 public:
00057
00059 SoDataExtract();
00060
00061 private:
00063 virtual ~SoDataExtract();
00064
00066 static void initClass();
00067
00069 static void exitClass();
00070
00071 public:
00077 virtual int getXSliceFromTile( SoBufferObject* inputTile, int dimx,int dimy,int dimz, int datumSize, int slice, SoBufferObject* outputSlice);
00078
00084 virtual int getYSliceFromTile( SoBufferObject* inputTile, int dimx,int dimy,int dimz, int datumSize, int slice, SoBufferObject* outputSlice);
00085
00091 virtual int getZSliceFromTile( SoBufferObject* inputTile, int dimx,int dimy,int dimz, int datumSize, int slice, SoBufferObject* outputSlice);
00092
00096 virtual int copyTile( SoBufferObject* inputTile,int tileDimx, int tileDimy, int tileDimz, int originX, int originY, int originZ, int datumSize,
00097 int bufDimX, int bufDimY, int bufDimZ,int vMinX, int vMinY, int vMinZ, int vMaxX, int vMaxY, int vMaxZ,
00098 SoBufferObject* outputBuffer );
00099
00103 virtual int copyPlane( SoBufferObject* inputTile, int tileDimX, int tileDimY, int tileDimZ, int originX, int originY, int originZ,
00104 int datumSize, int bufDimX, int qminX, int qminY, int qminZ,
00105 int qmaxX, int qmaxY, int qmaxZ, float normI, float normJ, float normK,
00106 float distance, int xAxis, int yAxis, int zAxis, SoBufferObject* outputBuffer );
00107
00108 };
00109
00110 #endif //SODATAEXTRACT_H
00111
00112