00001
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00019
00020
00021
00022 #ifndef __VPSLICE_H
00023 #define __VPSLICE_H
00024
00025
00026 #include <vptable.h>
00027 #include <vpscene.h>
00028 #include <vpgraphicobj.h>
00029
00030
00031
00032
00033
00034
00035
00036
00037
00039
00040
00041
00043
00044 class VPSlice {
00045 protected:
00046 VPPoint2D endOfSBand;
00047 VPPoint2D endOfTBand;
00048 VPPoint2D *lineSBand;
00049 VPPoint2D *lineTBand;
00050 int numTotalPoints;
00051 public:
00052 VPSlice();
00053 ~VPSlice();
00054 void vpTopSliceRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int **image);
00055 void vpSideSliceRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int **image);
00056 void vpFrontSliceRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int **image);
00057 void vpLineTopSliceRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int **image);
00058 void vpLineSideSliceRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int **image);
00059 void vpLineFrontSliceRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int **image);
00060 void vpTopInnerStructRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int ***image);
00061 void vpSideInnerStructRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int ***image);
00062 void vpFrontInnerStructRender(VPCamera *c, VPGraphicObj *v, int sliceNumber, unsigned int ***image);
00063 void vpFindPointInsideAxialSlice(VPPoint3D &nextPoint, VPVector3D scanDirection, int xDimension, int zDimension);
00064 void vpFindPntInsideSagittalSlice(VPPoint3D &nextPoint, VPVector3D scanDirection, int yDimension, int zDimension);
00065 void vpFindPntInsideFrontalSlice(VPPoint3D &nextPoint, VPVector3D scanDirection, int xDimension, int yDimension);
00066 void vpOrder(int arraySize, int numTotalPoints, int aux);
00067 float vpTrilinearInterpolation(int i, int j, int k,
00068 VPGraphicObj *volume, VPPoint3D p);
00069 VPPoint2D vpGetViewSBandPoint();
00070 VPPoint2D vpGetViewTBandPoint();
00071 void vpGetLineSBand(VPPoint2D **l, int &n);
00072 void vpGetLineTBand(VPPoint2D **l, int &n);
00073 };
00074
00075
00076
00077
00078 #endif // __VPSLICE_H