]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkSphereList.h
no message
[bbtk.git] / packages / vtk / src / bbvtkSphereList.h
diff --git a/packages/vtk/src/bbvtkSphereList.h b/packages/vtk/src/bbvtkSphereList.h
new file mode 100644 (file)
index 0000000..ec632f3
--- /dev/null
@@ -0,0 +1,64 @@
+#ifndef __bbvtkSphereList_h_INCLUDED__
+#define __bbvtkSphereList_h_INCLUDED__
+#include "bbvtk_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+
+#include <vtkPolyDataMapper.h>
+#include <vtkRenderer.h>
+#include <vtkSphereSource.h>
+#include <vtkLinearTransform.h>
+
+
+namespace bbvtk
+{
+
+class bbvtk_EXPORT SphereList
+ : 
+   public bbtk::AtomicBlackBox
+{
+  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_OUTPUT(ActorList,std::vector<vtkActor*>);
+
+  BBTK_PROCESS(Process);
+  void Process();
+
+  std::vector<vtkActor *> sphereActor;
+  std::vector<vtkPolyDataMapper *> sphereMapper;
+  std::vector<vtkSphereSource *> vtkSphere;
+
+};
+
+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",std::vector<double>,"");
+BBTK_INPUT(SphereList,Opacity,"Opacity of the spheres",double,"");
+BBTK_INPUT(SphereList,Transform,"vtkTransform",vtkLinearTransform*,"");
+
+ BBTK_OUTPUT(SphereList,ActorList,"List of the sphere actors",std::vector<vtkActor*>,"");
+
+BBTK_END_DESCRIBE_BLACK_BOX(SphereList);
+}
+// EO namespace bbvtk
+
+#endif // __bbvtkSphereList_h_INCLUDED__
+