//=====
void GeodesicMeshDeformation::Process()
{
-//printf("PG GeodesicMeshDeformation::Process START \n");
+printf("PG GeodesicMeshDeformation::Process START \n");
// THE MAIN PROCESSING METHOD BODY
// Here we simply set the input 'In' value to the output 'Out'
// And print out the output value
std::vector<double> lstCenter = bbGetInputCenter();
double s = bbGetInputS();
bool ok = false;
+ bool pdChanged = false;
using MeshType = itk::QuadEdgeMesh<double, 3>;
//Set up QuadEdge and filter every time polydata changes
if ((bbGetInputIn() != polydata) && (bbGetInputActive()==true) && (bbGetInputIn() != NULL))
{
+ pdChanged = true;
//Reset displacement
if(lstCenter.size() != NULL)
{
} // if TypeIn 1 Center
points->GetPoint( bbGetInputEdgeId() , pb );
- if (EdgeIdBack!=bbGetInputEdgeId() )
- {
+ if (EdgeIdBack!=bbGetInputEdgeId() || pdChanged)
+ {printf("PG GeodesicMeshDeformation::Process ENTERED \n");
EdgeIdBack = bbGetInputEdgeId();
backLstCenter[0] = lstCenter[0];
}// if ffmFilter != NULL
} // if distance_x y z != 0
} // In != NULL ok active
-// printf("PG GeodesicMeshDeformation::Process END \n");
+ printf("PG GeodesicMeshDeformation::Process END \n");
}
//=====
// 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)
<input name="In3" type="vtkPolyData *" description="PolyData 3"/>
<input name="In4" type="vtkPolyData *" description="PolyData 4"/>
<input name="In5" type="vtkPolyData *" description="PolyData 5"/>
+<typedef><PRE>typedef std::vector<vtkPolyData *> InputVector;</PRE></typedef>
+<input name="InVector" type="InputVector" description="PolyData vector"/>
<process>
<PRE>
bbGetVtkObject()->SetInput(bbGetInputIn3());
bbGetVtkObject()->SetInput(bbGetInputIn4());
bbGetVtkObject()->SetInput(bbGetInputIn5());
+ if(!bbGetInputInVector().empty()){
+ for(int i = 0; i < (int) bbGetInputInVector().size(); i++){
+ bbGetVtkObject()->SetInput(bbGetInputInVector()[i]);
+ }
+ }
#else
bbGetVtkObject()->AddInputData(bbGetInputIn1());
bbGetVtkObject()->AddInputData(bbGetInputIn2());
bbGetVtkObject()->AddInputData(bbGetInputIn3());
bbGetVtkObject()->AddInputData(bbGetInputIn4());
bbGetVtkObject()->AddInputData(bbGetInputIn5());
+ if(!bbGetInputInVector().empty()){
+ for(int i = 0; i < (int) bbGetInputInVector().size(); i++){
+ bbGetVtkObject()->AddInputData(bbGetInputInVector()[i]);
+ }
+ }
#endif