]> Creatis software - bbtk.git/commitdiff
no message
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Thu, 12 Apr 2012 08:39:46 +0000 (08:39 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Thu, 12 Apr 2012 08:39:46 +0000 (08:39 +0000)
packages/vtk/src/bbvtkSphereList.cxx
packages/vtk/src/bbvtkSphereList.h

index 69781933ea02317d58e899bf36a99929191e25e0..95f14ad5ae3eca0e2b886b662eb689e1331497bd 100644 (file)
@@ -14,7 +14,7 @@ BBTK_BLACK_BOX_IMPLEMENTATION(SphereList,bbtk::AtomicBlackBox);
 void SphereList::Process()
 {
 
-        int iMin, iMax;
+    int iMin, iMax;
        double px = 0.0;
        double py = 0.0;
        double pz = 0.0;
@@ -25,7 +25,14 @@ void SphereList::Process()
 
        if (bbGetInputRenderer()!=NULL)
        {
-               spc[0]=spc[1]=spc[2]=1;
+               if (bbGetInputSpacing().size()==3)
+               {
+                       spc[0]=bbGetInputSpacing()[0];
+                       spc[1]=bbGetInputSpacing()[1];
+                       spc[2]=bbGetInputSpacing()[2];
+               } else {
+                       spc[0]=spc[1]=spc[2]=1;
+               }
 
                iMin=0;
                iMax=bbGetInputlstPointX().size();
@@ -35,13 +42,13 @@ void SphereList::Process()
                {
                        px = bbGetInputlstPointX()[i]*spc[0];
                        if (bbGetInputlstPointY().size() == bbGetInputlstPointX().size() )
-                         {
+                       {
                            py = bbGetInputlstPointY()[i]*spc[1];
-                         }
+                       }
                        if (bbGetInputlstPointZ().size() == bbGetInputlstPointX().size() )
-                         {                     
+                       {                       
                            pz = bbGetInputlstPointZ()[i]*spc[2];
-                         }
+                       }
 
                        // If the number of elements in the radio list is different from the number of X coordinates, the radio value is set to 1.
                        if (bbGetInputlstRadio().size() == bbGetInputlstPointX().size() )
@@ -127,7 +134,14 @@ void SphereList::bbUserSetDefaultValues()
   colour.push_back(0.0);
   colour.push_back(0.0);
   bbSetInputColour(colour);
-  
+       
+       // Sets default spacing.
+       std::vector<double> spacing;
+       spacing.push_back(1.0);
+       spacing.push_back(1.0);
+       spacing.push_back(1.0);
+       bbSetInputSpacing(spacing);
+       
   bbSetInputOpacity(1.0);
 
 }
index bf929bfc8ea859a9f04af7496319a2df69fb8d61..b23b99a0c99aff092c852f953f008f7b1cc52002 100644 (file)
@@ -19,15 +19,15 @@ class bbvtk_EXPORT SphereList
 {
   BBTK_BLACK_BOX_INTERFACE(SphereList,bbtk::AtomicBlackBox);
 
-  BBTK_DECLARE_INPUT(Renderer ,vtkRenderer*);
-  BBTK_DECLARE_INPUT(lstPointX,std::vector<double>);
-  BBTK_DECLARE_INPUT(lstPointY,std::vector<double>);
-  BBTK_DECLARE_INPUT(lstPointZ,std::vector<double>);
-  BBTK_DECLARE_INPUT(lstRadio ,std::vector<double>);
-  BBTK_DECLARE_INPUT(Colour   ,std::vector<double>);
-  BBTK_DECLARE_INPUT(Transform   ,vtkLinearTransform*);
-
-  BBTK_DECLARE_INPUT(Opacity  ,double);
+       BBTK_DECLARE_INPUT(Renderer ,vtkRenderer*);
+       BBTK_DECLARE_INPUT(lstPointX,std::vector<double>);
+       BBTK_DECLARE_INPUT(lstPointY,std::vector<double>);
+       BBTK_DECLARE_INPUT(lstPointZ,std::vector<double>);
+       BBTK_DECLARE_INPUT(lstRadio ,std::vector<double>);
+       BBTK_DECLARE_INPUT(Colour   ,std::vector<double>);
+       BBTK_DECLARE_INPUT(Opacity  ,double);
+       BBTK_DECLARE_INPUT(Spacing   ,std::vector<double>);
+       BBTK_DECLARE_INPUT(Transform   ,vtkLinearTransform*);
 
   BBTK_DECLARE_OUTPUT(ActorList,std::vector<vtkActor*>);
 
@@ -41,17 +41,18 @@ class bbvtk_EXPORT SphereList
 };
 
 BBTK_BEGIN_DESCRIBE_BLACK_BOX(SphereList,bbtk::AtomicBlackBox);
-BBTK_NAME("SphereList");
-BBTK_AUTHOR("InfoTeam  CREATIS");
-BBTK_DESCRIPTION("Builds a sphere list actor given four vectors (X, Y, Z, radius).");
-BBTK_CATEGORY("");
-BBTK_INPUT(SphereList,Renderer,"Renderer",vtkRenderer*,"");
-BBTK_INPUT(SphereList,lstPointX,"List of X coordinates. Requirement: same size as vector Y and vector Z.",std::vector<double>,"");
-BBTK_INPUT(SphereList,lstPointY,"List of Y coordinates. Requirement: same size as vector X and vector Z.",std::vector<double>,"");
-BBTK_INPUT(SphereList,lstPointZ,"List of Z coordinates. Requirement: same size as vector X and vector Y.",std::vector<double>,"");
-BBTK_INPUT(SphereList,lstRadio,"List of Radio values",std::vector<double>,"");
-BBTK_INPUT(SphereList,Colour,"Colour RGB values for the spheres (3 first values of the vector for the first sphere, following values for the second sphere, etc.)",std::vector<double>,"");
-BBTK_INPUT(SphereList,Opacity,"Opacity of the spheres",double,"");
+       BBTK_NAME("SphereList");
+       BBTK_AUTHOR("InfoTeam  CREATIS");
+       BBTK_DESCRIPTION("Builds a sphere list actor given four vectors (X, Y, Z, radius).");
+       BBTK_CATEGORY("");
+       BBTK_INPUT(SphereList,Renderer,"Renderer",vtkRenderer*,"");
+       BBTK_INPUT(SphereList,lstPointX,"List of X coordinates. Requirement: same size as vector Y and vector Z.",std::vector<double>,"");
+       BBTK_INPUT(SphereList,lstPointY,"List of Y coordinates. Requirement: same size as vector X and vector Z.",std::vector<double>,"");
+       BBTK_INPUT(SphereList,lstPointZ,"List of Z coordinates. Requirement: same size as vector X and vector Y.",std::vector<double>,"");
+       BBTK_INPUT(SphereList,lstRadio,"List of Radio values",std::vector<double>,"");
+       BBTK_INPUT(SphereList,Colour,"Colour RGB values for the spheres (3 first values of the vector for the first sphere, following values for the second sphere, etc.)",std::vector<double>,"");
+       BBTK_INPUT(SphereList,Opacity,"Opacity of the spheres",double,"");
+       BBTK_INPUT(SphereList,Spacing,"(default [1 1 1]) Spacing vector [sx sy sz]",std::vector<double>,"");
 BBTK_INPUT(SphereList,Transform,"vtkTransform",vtkLinearTransform*,"");
 
  BBTK_OUTPUT(SphereList,ActorList,"List of the sphere actors",std::vector<vtkActor*>,"");