]> Creatis software - bbtk.git/commitdiff
#3501 Geodesic Deformation
authorPablo Garzon <gapablo2001@gmail.com>
Tue, 18 Jul 2023 11:31:13 +0000 (13:31 +0200)
committerPablo Garzon <gapablo2001@gmail.com>
Tue, 18 Jul 2023 11:31:13 +0000 (13:31 +0200)
packages/itkvtk/src/bbitkvtkGeodesicMeshDeformation.cxx
packages/itkvtk/src/bbitkvtkGeodesicMeshDeformation.h

index 1ecc52f39d0050a5e5c0e258358136752ba55528..9bcf5feb87f09c54f35a9aa3f8e16931974f4284 100644 (file)
@@ -30,6 +30,8 @@ void GeodesicMeshDeformation::Process()
     bool    ok          = false;
     bool       pdChanged   = false;
     using MeshType      = itk::QuadEdgeMesh<double, 3>;
+    std::vector<double> deformInfo;
+       bbSetOutputOut(deformInfo);
     
     //Set up QuadEdge and filter every time polydata changes
     if ((bbGetInputIn() != polydata) && (bbGetInputActive()==true) && (bbGetInputIn() != NULL))
@@ -140,7 +142,7 @@ void GeodesicMeshDeformation::Process()
             displcement_z = bbGetInputDirection()[2];
         } // if TypeIn 0 Direction
                
-               printf(" EED GeodesicMeshDeformation::Process   %ld   %ld  -   %f %f %f \n", EdgeIdBack, bbGetInputEdgeId() , lstCenter[0],lstCenter[1],lstCenter[2] );
+               //printf(" EED GeodesicMeshDeformation::Process   %ld   %ld  -   %f %f %f \n", EdgeIdBack, bbGetInputEdgeId() , lstCenter[0],lstCenter[1],lstCenter[2] );
                
         if (bbGetInputTypeIn()==1) // Center
         {
@@ -213,9 +215,12 @@ void GeodesicMeshDeformation::Process()
                                                points->SetPoint(BegProcessedIt.Value().GetNode(), np);
                                        }
                                        ++BegProcessedIt;
-                               }
+                               }                               
+                               std::vector<double> info{pb[0],pb[1],pb[2], (double) bbGetInputEdgeId(), s};
+                               bbSetOutputOut(info);
+                               cout << "info updated" << endl;
                                points->Modified();
-               bbGetInputIn()->Modified();
+                       bbGetInputIn()->Modified();
                        }// if ffmFilter != NULL
         } // if distance_x y z  != 0
     } // In != NULL    ok    active
@@ -239,6 +244,8 @@ void GeodesicMeshDeformation::bbUserSetDefaultValues()
        EdgeIdBack=-1;
        bbSetInputEdgeId(EdgeIdBack);
        bbSetInputS(10);
+       std::vector<double> OutputVect;
+       bbSetOutputOut(OutputVect);
 
        backLstCenter.push_back(0);
        backLstCenter.push_back(0);
index 83c6beb1324fc2ba2a31c4ef391dd3516e3bb9fa..e5a325d2d17fa1b9eddae4625fc1e76d0aeb96c5 100644 (file)
@@ -32,7 +32,7 @@ class bbitkvtk_EXPORT GeodesicMeshDeformation
   BBTK_DECLARE_INPUT(S, double);
   BBTK_DECLARE_INPUT(Center, std::vector<double>);
   BBTK_DECLARE_INPUT(Direction, std::vector<double>);
-  //BBTK_DECLARE_OUTPUT(Out,double);
+  BBTK_DECLARE_OUTPUT(Out, std::vector<double>);
   BBTK_PROCESS(Process);
   void Process();
   
@@ -66,6 +66,7 @@ BBTK_INPUT(GeodesicMeshDeformation,EdgeId,"Edge Id",long,"");
 BBTK_INPUT(GeodesicMeshDeformation,S,"Deformation",double,"");
 BBTK_INPUT(GeodesicMeshDeformation,Center,"[X,Y,Z]",std::vector<double>,"");
 BBTK_INPUT(GeodesicMeshDeformation,Direction,"(default [1,0,0])   [X,Y,Z]",std::vector<double>,"");
+BBTK_OUTPUT(GeodesicMeshDeformation,Out,"double vector output, for output information for other tools",std::vector<double>,"");
 BBTK_END_DESCRIBE_BLACK_BOX(GeodesicMeshDeformation);
 //===== 
 // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)