#include <wxMaracasRenderImageTransformation.h>
Public Member Functions | |
wxMaracasRenderImageTransformation (wxMaracasMultipleVolumeRendererManager *vol, wxMaracasSurfaceRenderingManager *surface1, wxMaracasSurfaceRenderingManager *surface2, wxMaracasSurfaceRenderingManager *surface3, int id) | |
~wxMaracasRenderImageTransformation () | |
void | Translate (int tx, int ty, int tz, int rx, int ry, int rz, int sx, int sy, int sz) |
void | Refresh () throw (char*) |
Private Attributes | |
wxMaracasMultipleVolumeRendererManager * | vol |
wxMaracasSurfaceRenderingManager * | surface1 |
wxMaracasSurfaceRenderingManager * | surface2 |
wxMaracasSurfaceRenderingManager * | surface3 |
vtkTransform * | transformV |
vtkTransform * | transformS1 |
vtkTransform * | transformS2 |
vtkTransform * | transformS3 |
int | propID |
Definition at line 10 of file wxMaracasRenderImageTransformation.h.
wxMaracasRenderImageTransformation::wxMaracasRenderImageTransformation | ( | wxMaracasMultipleVolumeRendererManager * | _vol, | |
wxMaracasSurfaceRenderingManager * | _surface1, | |||
wxMaracasSurfaceRenderingManager * | _surface2, | |||
wxMaracasSurfaceRenderingManager * | _surface3, | |||
int | id | |||
) |
Class constructor
Definition at line 7 of file wxMaracasRenderImageTransformation.cpp.
References propID, surface1, surface2, surface3, transformS1, transformS2, transformS3, transformV, and vol.
00009 { 00010 vol = _vol; 00011 surface1 = _surface1; 00012 surface2 = _surface2; 00013 surface3 = _surface3; 00014 00015 propID = id; 00016 transformV = vtkTransform::New(); 00017 transformS1 = vtkTransform::New(); 00018 transformS2 = vtkTransform::New(); 00019 transformS3 = vtkTransform::New(); 00020 }
wxMaracasRenderImageTransformation::~wxMaracasRenderImageTransformation | ( | ) |
Class destructor
Definition at line 25 of file wxMaracasRenderImageTransformation.cpp.
void wxMaracasRenderImageTransformation::Refresh | ( | ) | throw (char*) |
Updates each Matrix
Definition at line 102 of file wxMaracasRenderImageTransformation.cpp.
References wxMaracasSurfaceRenderingManagerData::getProp3D(), wxMaracasMultipleVolumeRendererManagerData::getProp3D(), wxMaracasSurfaceRenderingManager::getViewData(), wxMaracasMultipleVolumeRendererManager::getViewData(), propID, surface1, surface2, surface3, transformS1, transformS2, transformS3, transformV, and vol.
Referenced by Translate().
00103 { 00104 transformV->Update(); 00105 transformS1->Update(); 00106 transformS2->Update(); 00107 transformS3->Update(); 00108 00109 vol->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix()); 00110 //vol->Update(propID); 00111 00112 surface1->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix()); 00113 //surface1->Update(propID); 00114 00115 surface2->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix()); 00116 //surface2->getRenderer()->Render(); 00117 00118 surface3->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix()); 00119 //surface3->getRenderer()->Render(); 00120 }
void wxMaracasRenderImageTransformation::Translate | ( | int | tx, | |
int | ty, | |||
int | tz, | |||
int | rx, | |||
int | ry, | |||
int | rz, | |||
int | sx, | |||
int | sy, | |||
int | sz | |||
) |
Transforms a volume by the given value for the X axis
Definition at line 33 of file wxMaracasRenderImageTransformation.cpp.
References wxMaracasSurfaceRenderingManager::getImageData(), wxMaracasMultipleVolumeRendererManager::getImageData(), Refresh(), surface1, transformS1, transformS2, transformS3, transformV, and vol.
Referenced by wxMaracasRenderImageManagementPanel::Transform().
00034 { 00035 //printf("wxMaracasRenderImageManagementPanel::Rotate float:scaleX = %f \n", tx); 00036 //printf("wxMaracasRenderImageManagementPanel::Rotate float:scaleY = %f \n", ty); 00037 //printf("wxMaracasRenderImageManagementPanel::Rotate float:scaleZ = %f \n", tz); 00038 00039 double volspX; 00040 double volspY; 00041 double volspZ; 00042 vol->getImageData()->GetSpacing(volspX, volspY, volspZ); 00043 00044 double surfspX; 00045 double surfspY; 00046 double surfspZ; 00047 surface1->getImageData()->GetSpacing(surfspX, surfspY, surfspZ); 00048 00049 int ext[6]; 00050 vol->getImageData()->GetExtent(ext); 00051 00052 transformV ->Identity(); 00053 transformS1 ->Identity(); 00054 transformS2 ->Identity(); 00055 transformS3 ->Identity(); 00056 00057 transformV ->PostMultiply(); 00058 transformS1 ->PostMultiply(); 00059 transformS2 ->PostMultiply(); 00060 transformS3 ->PostMultiply(); 00061 00062 printf("CPR: wxMaracasRenderImageTransformation::Translate-> %f\n", -(ext[1]-ext[0])*volspX ); 00063 printf("CPR: wxMaracasRenderImageTransformation::Translate-> %f\n", -(ext[3]-ext[2])*surfspY); 00064 printf("CPR: wxMaracasRenderImageTransformation::Translate-> %f\n", -(ext[5]-ext[4])*surfspZ); 00065 00066 transformV ->Translate( -(ext[1]-ext[0])*volspX/2, -(ext[3]-ext[2])*volspY/2, -(ext[5]-ext[4])*volspZ/2 ); 00067 transformS1->Translate( -(ext[1]-ext[0])*surfspX/2, -(ext[3]-ext[2])*surfspY/2, -(ext[5]-ext[4])*surfspZ/2 ); 00068 transformS2->Translate( -(ext[1]-ext[0])*surfspX/2, -(ext[3]-ext[2])*surfspY/2, -(ext[5]-ext[4])*surfspZ/2 ); 00069 transformS3->Translate( -(ext[1]-ext[0])*surfspX/2, -(ext[3]-ext[2])*surfspY/2, -(ext[5]-ext[4])*surfspZ/2 ); 00070 00071 transformV ->Scale( (sx/100.0), (sy/100.0), (sz/100.0) ); 00072 transformS1->Scale( (sx/100.0), (sy/100.0), (sz/100.0) ); 00073 transformS2->Scale( (sx/100.0), (sy/100.0), (sz/100.0) ); 00074 transformS3->Scale( (sx/100.0), (sy/100.0), (sz/100.0) ); 00075 00076 transformV ->RotateX( rx ); 00077 transformS1->RotateX( rx ); 00078 transformS2->RotateX( rx ); 00079 transformS3->RotateX( rx ); 00080 00081 transformV ->RotateY( ry ); 00082 transformS1->RotateY( ry ); 00083 transformS2->RotateY( ry ); 00084 transformS3->RotateY( ry ); 00085 00086 transformV ->RotateZ( rz ); 00087 transformS1->RotateZ( rz ); 00088 transformS2->RotateZ( rz ); 00089 transformS3->RotateZ( rz ); 00090 00091 transformV ->Translate( tx*volspX + (ext[1]-ext[0])*volspX/2, ty*volspY + (ext[3]-ext[2])*volspY/2, tz*volspZ + (ext[5]-ext[4])*volspZ/2 ); 00092 transformS1->Translate( tx*surfspX + (ext[1]-ext[0])*volspX/2, ty*surfspY + (ext[3]-ext[2])*volspY/2, tz*surfspZ + (ext[5]-ext[4])*volspZ/2 ); 00093 transformS2->Translate( tx*surfspX + (ext[1]-ext[0])*volspX/2, ty*surfspY + (ext[3]-ext[2])*volspY/2, tz*surfspZ + (ext[5]-ext[4])*volspZ/2 ); 00094 transformS3->Translate( tx*surfspX + (ext[1]-ext[0])*volspX/2, ty*surfspY + (ext[3]-ext[2])*volspY/2, tz*surfspZ + (ext[5]-ext[4])*volspZ/2 ); 00095 00096 Refresh(); 00097 }
int wxMaracasRenderImageTransformation::propID [private] |
Definition at line 32 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), and wxMaracasRenderImageTransformation().
Definition at line 23 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), Translate(), and wxMaracasRenderImageTransformation().
Definition at line 24 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), and wxMaracasRenderImageTransformation().
Definition at line 25 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), and wxMaracasRenderImageTransformation().
vtkTransform* wxMaracasRenderImageTransformation::transformS1 [private] |
Definition at line 28 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), Translate(), and wxMaracasRenderImageTransformation().
vtkTransform* wxMaracasRenderImageTransformation::transformS2 [private] |
Definition at line 29 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), Translate(), and wxMaracasRenderImageTransformation().
vtkTransform* wxMaracasRenderImageTransformation::transformS3 [private] |
Definition at line 30 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), Translate(), and wxMaracasRenderImageTransformation().
vtkTransform* wxMaracasRenderImageTransformation::transformV [private] |
Definition at line 27 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), Translate(), and wxMaracasRenderImageTransformation().
Definition at line 22 of file wxMaracasRenderImageTransformation.h.
Referenced by Refresh(), Translate(), and wxMaracasRenderImageTransformation().