sliceClipping.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <eq/eq.h>
00019
00020 #ifndef EVOLVE_SLICECLIPPING_H
00021 #define EVOLVE_SLICECLIPPING_H
00022
00023 namespace eVolve
00024 {
00025
00026
00027 struct SliceClipper
00028 {
00029 SliceClipper(){};
00030
00031 static const int nSequence[8][8];
00032 static const float sequence[64];
00033 static const float v1[24];
00034 static const float v2[24];
00035
00036 typedef eq::Vector3f float3;
00037
00038 void updatePerFrameInfo
00039 (
00040 const eq::Matrix4d& modelviewM,
00041 const eq::Matrix3d& modelviewITM,
00042 const double sliceDistance,
00043 const eq::Range& range
00044 );
00045
00046 eq::Vector3f getPosition
00047 (
00048 const int vertexNum,
00049 const int sliceNum
00050 ) const;
00051
00052 float shaderVertices[24];
00053 eq::Vector3f viewVecf;
00054 eq::Vector4d viewVec;
00055 int frontIndex;
00056 double sliceDistance;
00057 double planeStart;
00058 };
00059
00060 }
00061
00062 #endif // EVOLVE_SLICECLIPPING_H