]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkTransform.cxx
#3469 Transform box - Inverse option
[bbtk.git] / packages / vtk / src / bbvtkTransform.cxx
index fd0d369cde740fa8a3318d603806dec4422732cf..57c9c1fe45e3be75adeb69811b4815ccf3a4242e 100644 (file)
@@ -68,6 +68,8 @@ namespace bbvtk
                bbUserFinalizeProcessing();
                result = vtkTransform::New();
                result->Update();
+               resultInverse = vtkTransform::New();
+               resultInverse->Update();
        }
 
        // --------------------------------------------------------------       
@@ -84,6 +86,8 @@ namespace bbvtk
        // --------------------------------------------------------------       
   void Transform::Process()
   {
+       printf("EED Transform::Process Start\n ");
+
          bbUserInitializeProcessing();
          if (bbGetInputIn()!=NULL)
       {
@@ -108,7 +112,17 @@ namespace bbvtk
                  result->RotateWXYZ(bbGetInputRotateWXYZ()[0],bbGetInputRotateWXYZ()[1], bbGetInputRotateWXYZ()[2], bbGetInputRotateWXYZ()[3]);
       }
  
-         bbSetOutputOut(result);
+         if (bbGetInputInverse()==false)
+         {
+               bbSetOutputOut(result);
+         } else {
+               vtkMatrix4x4 *matrix;
+               matrix=vtkMatrix4x4::New();
+               result->GetInverse(matrix);
+               resultInverse->SetMatrix( matrix );
+               bbSetOutputOut(resultInverse);
+         }  // if Inverse
+         printf("EED Transform::Process End\n ");
   }
-}
-// EO namespace bbvtk
+  
+}// EO namespace bbvtk