]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderImageTransformation.cpp
*** empty log message ***
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasRenderImageTransformation.cpp
index 21bf4440b0552e61eca28b05209e4bfd9e461cb4..1960caa2c9def3d9f4370af4af815ee51ce1da0d 100644 (file)
@@ -1,4 +1,3 @@
-
 #include "wxMaracasRenderImageTransformation.h"
 
 /**
@@ -26,6 +25,10 @@ wxMaracasRenderImageTransformation::wxMaracasRenderImageTransformation(wxMaracas
 **/
 wxMaracasRenderImageTransformation::~wxMaracasRenderImageTransformation()
 {      
+       transformV->Identity();
+       transformS1->Identity();
+       transformS2->Identity();
+       transformS3->Identity();
 }
 
 /**
@@ -33,11 +36,6 @@ wxMaracasRenderImageTransformation::~wxMaracasRenderImageTransformation()
 **/
 void wxMaracasRenderImageTransformation::Translate(int x, int y, int z)
 {
-       transformV->Identity();
-       transformS1->Identity();
-       transformS2->Identity();
-       transformS3->Identity();
-
        transformV->Translate( x, y, z );
        transformS1->Translate( x, y, z );
        transformS2->Translate( x, y, z );
@@ -51,11 +49,6 @@ void wxMaracasRenderImageTransformation::Translate(int x, int y, int z)
 **/
 void wxMaracasRenderImageTransformation::Rotate(int x, int y, int z)
 {
-       transformV->Identity();
-       transformS1->Identity();
-       transformS2->Identity();
-       transformS3->Identity();
-       
        transformV->RotateX( x );
        transformS1->RotateX( x );
        transformS2->RotateX( x );
@@ -79,19 +72,29 @@ void wxMaracasRenderImageTransformation::Rotate(int x, int y, int z)
 **/
 void wxMaracasRenderImageTransformation::Scale(int x, int y, int z)
 {
-       transformV->Identity();
-       transformS1->Identity();
-       transformS2->Identity();
-       transformS3->Identity();
+       float resultX = x/100.0;
+       float resultY = y/100.0;
+       float resultZ = z/100.0;
 
-       transformV->Scale( x, y, z );
-       transformS1->Scale( x, y, z );
-       transformS2->Scale( x, y, z );
-       transformS3->Scale( x, y, z );
+       //printf("wxMaracasRenderImageManagementPanel::Rotate int:scaleX = %d \n",x);
+       //printf("wxMaracasRenderImageManagementPanel::Rotate int:scaleY = %d \n", y);
+       //printf("wxMaracasRenderImageManagementPanel::Rotate int:scaleZ = %d \n", z);
+
+       //printf("wxMaracasRenderImageManagementPanel::Rotate float:scaleX = %f \n", resultX);
+       //printf("wxMaracasRenderImageManagementPanel::Rotate float:scaleY = %f \n", resultY);
+       //printf("wxMaracasRenderImageManagementPanel::Rotate float:scaleZ = %f \n", resultZ);
+
+       transformV->Scale( (x/100.0), (y/100.0), (z/100.0) );
+       transformS1->Scale( (x/100.0), (y/100.0), (z/100.0) );
+       transformS2->Scale( (x/100.0), (y/100.0), (z/100.0) );
+       transformS3->Scale( (x/100.0), (y/100.0), (z/100.0) );
 
        Refresh();
 }
 
+/**
+** Updates each Matrix
+**/
 void wxMaracasRenderImageTransformation::Refresh()throw(char*)
 {
        transformV->Update();
@@ -100,14 +103,14 @@ void wxMaracasRenderImageTransformation::Refresh()throw(char*)
        transformS3->Update();
 
        vol->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix());
-       vol->getRenderer()->Render();
+       //vol->getRenderer()->Render();
 
        surface1->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix());
-       surface1->getRenderer()->Render();
+       //surface1->getRenderer()->Render();
 
        surface2->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix());
-       surface2->getRenderer()->Render();
+       //surface2->getRenderer()->Render();
 
        surface3->getViewData(propID)->getProp3D()->SetUserMatrix(transformV->GetMatrix());
-       surface3->getRenderer()->Render();
-}
\ No newline at end of file
+       //surface3->getRenderer()->Render();
+}