+
+
+//----------------------------------------------------------------------------
+
+void wxSphereView::TransferePoints(double pp1[3],double pp2[3],double AngX,double AngY,vtkImageData *image)
+{
+ double t;
+ double difX = pp2[0]-pp1[0];
+ double difY = pp2[1]-pp1[1];
+ double difZ = pp2[2]-pp1[2];
+ double max = 200;
+ int dimOrg[3];
+ int dimRes[3];
+ int z;
+ _imageDataOriginal->GetDimensions(dimOrg);
+ image->GetDimensions(dimRes);
+ int i;
+ double x1=pp1[0];
+ double y1=pp1[1];
+ double z1=pp1[2];
+ int xx=-1,yy=-1,zz=-1;
+ for (i=0;i<max;i++)
+ {
+ t = i/max;
+ xx = (int) (x1+t*difX);
+ yy = (int) (y1+t*difY);
+ zz = (int) (z1+t*difZ);
+
+ z=i;
+ if ((xx>=0) && (xx<dimOrg[0]) && (yy>=0) && (yy<dimOrg[1]) && (zz>=0) && (zz<dimOrg[2]) &&
+ (AngX>=0) && (AngX<dimRes[0]) && (AngY>=0) && (AngY<dimRes[1]) && (z>=0) && (z<dimRes[2]) )
+ {
+ unsigned short *pOrg=(unsigned short*)_imageDataOriginal->GetScalarPointer (xx,yy,zz);
+ unsigned short *pRes=(unsigned short*)image->GetScalarPointer( (int)AngX , (int)AngY , z );
+ *pRes=*pOrg;
+ }
+ }
+}
+
+
+
+