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
00053 class SoDataExtract
00054 {
00055 public:
00056
00058 SoDataExtract();
00059
00060 private:
00062 virtual ~SoDataExtract();
00063
00065 static void initClass();
00066
00068 static void exitClass();
00069
00070 public:
00076 virtual int getXSliceFromTile( SoBufferObject* inputTile, int dimx,int dimy,int dimz, int datumSize, int slice, SoBufferObject* outputSlice);
00077
00083 virtual int getYSliceFromTile( SoBufferObject* inputTile, int dimx,int dimy,int dimz, int datumSize, int slice, SoBufferObject* outputSlice);
00084
00090 virtual int getZSliceFromTile( SoBufferObject* inputTile, int dimx,int dimy,int dimz, int datumSize, int slice, SoBufferObject* outputSlice);
00091
00095 virtual int copyTile( SoBufferObject* inputTile,int tileDimx, int tileDimy, int tileDimz, int originX, int originY, int originZ, int datumSize,
00096 int bufDimX, int bufDimY, int bufDimZ,int vMinX, int vMinY, int vMinZ, int vMaxX, int vMaxY, int vMaxZ,
00097 SoBufferObject* outputBuffer );
00098
00102 virtual int copyPlane( SoBufferObject* inputTile, int tileDimX, int tileDimY, int tileDimZ, int originX, int originY, int originZ,
00103 int datumSize, int bufDimX, int qminX, int qminY, int qminZ,
00104 int qmaxX, int qmaxY, int qmaxZ, float normI, float normJ, float normK,
00105 float distance, int xAxis, int yAxis, int zAxis, SoBufferObject* outputBuffer );
00106
00107 };
00108
00109 #endif //SODATAEXTRACT_H
00110
00111