]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbmaracasvisuDrawAxisTree3D.cxx
#3468 Refres for 3D+t Visu
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuDrawAxisTree3D.cxx
index 0097329a0ed2305567e4eec2483475ca68a570ef..0164c6d695284e5943317d515377dfec977ba416 100644 (file)
@@ -222,69 +222,52 @@ void DrawAxisTree3D::Process()
 {
 printf("DrawAxisTree3D::Process Start >>   %s\n", bbGetFullName().c_str() );
 
-   if ( (bbGetInputlstPointX().size()==bbGetInputlstPointY().size()) && 
-               (bbGetInputlstPointX().size()==bbGetInputlstPointZ().size())      )
+       // Removing actors
+       int iActor,sizeActors = vecVtkActors.size();
+       for (iActor=0 ; iActor<sizeActors; iActor++)
        {
-               int iGeneral=0;
-               std::vector<int> lstIndexs = bbGetInputlstIndexs();
-               if ( bbGetInputlstIndexs().size()==0 )
-               {
-       //EED printf("2 ");
-                       lstIndexs.push_back( bbGetInputlstPointX().size() );
+               if (bbGetInputRenderer()!=NULL )
+               { 
+                       bbGetInputRenderer()->RemoveActor( vecVtkActors[iActor] );
+                       vecVtkPolyData[iActor]->Delete();
+                       vecVtkPolyDataMaper[iActor]->Delete();
+                       vecVtkActors[iActor]->Delete();
                } // if
-               int iAxis,sizeLstAxis=lstIndexs.size();
-               int iActor,sizeActors = vecVtkActors.size();
-               int numPoints;
-
-       //EED printf("3 ");
-
-       //    if (oldLstSize!=sizeLstAxis)
-       //       {
-       //        oldLstSize=sizeLstAxis;
-                    for (iActor=0 ; iActor<sizeActors; iActor++)
-                    {
-       //EED printf("4-%d ",iActor);
-                       if (bbGetInputRenderer()!=NULL )
-                       { 
-       //EED printf("5 ");
-                           bbGetInputRenderer()->RemoveActor( vecVtkActors[iActor] );
-                           vecVtkPolyData[iActor]->Delete();
-                           vecVtkPolyDataMaper[iActor]->Delete();
-                           vecVtkActors[iActor]->Delete();
-       //EED printf("6 ");
-                       } // if
-                    } // for iActor
-                    vecVtkPolyData.clear();
-                    vecVtkPolyDataMaper.clear();
-                    vecVtkActors.clear();
-       //EED printf("7 ");
-                    for ( iAxis=0 ; iAxis<sizeLstAxis ; iAxis++)
-                    {
-       //EED printf("8(%d) ",iAxis);
-                       numPoints = lstIndexs[iAxis];
-       //EED printf("9(%d) ",iAxis);
-                       DrawOneAxis(iGeneral,numPoints,iAxis);
-       //EED printf("10 ");   
-                       iGeneral = iGeneral+numPoints;
-               //              if ((iAxis % 1)==0)
-               //              {
-               //                      printf("EED  DrawAxisTree3D::Process  %d/%d\n", iAxis,sizeLstAxis );
-               //              }
-                    } // for iAxis
-
-       //EED printf("11 ");
-
-                   if ( bbGetInputiAxis() < (int)(vecVtkActors.size() ) )
-                   {
-                       bbSetOutputOutAxis( vecVtkActors[ bbGetInputiAxis() ] );            
-                   } else      {
-                       printf("DrawAxisTree3D .ERROR.  iAxis for exist in actors vector ...\n");
-                   } // if 
-        //   } else {// if oldLstSize
-       //    } // if oldLstSize
-       } else {
-               printf("\nDrawAxisTree3D .ERROR.  size of vectors lstPointX.size=%d lstPointY.size=%d lstPointZ.size=%d are not coherent \n\n",bbGetInputlstPointX().size(), bbGetInputlstPointY().size(), bbGetInputlstPointZ().size() );
-       }// size X Y Z
+       } // for iActor
+       vecVtkPolyData.clear();
+       vecVtkPolyDataMaper.clear();
+       vecVtkActors.clear();
+
+       // Adding actors
+       if (bbGetInputActive()==true)
+       {
+          if ( (bbGetInputlstPointX().size()==bbGetInputlstPointY().size()) && 
+                       (bbGetInputlstPointX().size()==bbGetInputlstPointZ().size())      )
+               {
+                       int iGeneral=0;
+                       std::vector<int> lstIndexs = bbGetInputlstIndexs();
+                       if ( bbGetInputlstIndexs().size()==0 )
+                       {
+                               lstIndexs.push_back( bbGetInputlstPointX().size() );
+                       } // if
+                       int iAxis,sizeLstAxis=lstIndexs.size();
+                       int numPoints;
+                       for ( iAxis=0 ; iAxis<sizeLstAxis ; iAxis++)
+                       {
+                               numPoints = lstIndexs[iAxis];
+                               DrawOneAxis(iGeneral,numPoints,iAxis);
+                               iGeneral = iGeneral+numPoints;
+                       } // for iAxis
+                       if ( bbGetInputiAxis() < (int)(vecVtkActors.size() ) )
+                       {
+                               bbSetOutputOutAxis( vecVtkActors[ bbGetInputiAxis() ] );            
+                       } else  {
+                               printf("DrawAxisTree3D .ERROR.  iAxis for exist in actors vector ...\n");
+                       } // if 
+               } else {
+                       printf("\nDrawAxisTree3D .ERROR.  size of vectors lstPointX.size=%d lstPointY.size=%d lstPointZ.size=%d are not coherent \n\n",bbGetInputlstPointX().size(), bbGetInputlstPointY().size(), bbGetInputlstPointZ().size() );
+               }// size X Y Z
+       } // if Active
 printf("DrawAxisTree3D::Process End \n");
 
 }
@@ -292,7 +275,6 @@ printf("DrawAxisTree3D::Process End \n");
 void DrawAxisTree3D::bbUserSetDefaultValues()
 {
     oldLstSize=-1;
-        bbSetInputiAxis(0);
      std::vector<double> colour;
         // 1- red
      colour.push_back(1.0);
@@ -320,6 +302,8 @@ void DrawAxisTree3D::bbUserSetDefaultValues()
      colour.push_back(0.5);
      colour.push_back(0.5);
 
+        bbSetInputActive(true);
+        bbSetInputiAxis(0);
      bbSetInputColour(colour);
      bbSetInputOpacity(1);
      bbSetInputLineWidth(0.5);