From 22eae0242d8e2c1eb8a25a735289f609b17e103f Mon Sep 17 00:00:00 2001 From: Eduardo Davila Date: Wed, 10 Dec 2008 10:00:36 +0000 Subject: [PATCH] *** empty log message *** --- kernel/src/bbtkConfigurationFile.cxx | 5 +- packages/vtk/src/bbvtkTransform.cxx | 89 +++++++++++++++++++ packages/vtk/src/bbvtkTransform.h | 57 ++++++++++++ .../vtk/src/bbvtkVecIsoSurfaceExtractor.cxx | 1 + 4 files changed, 149 insertions(+), 3 deletions(-) create mode 100644 packages/vtk/src/bbvtkTransform.cxx create mode 100644 packages/vtk/src/bbvtkTransform.h diff --git a/kernel/src/bbtkConfigurationFile.cxx b/kernel/src/bbtkConfigurationFile.cxx index c8e155c..dbcc49b 100644 --- a/kernel/src/bbtkConfigurationFile.cxx +++ b/kernel/src/bbtkConfigurationFile.cxx @@ -2,8 +2,8 @@ Program: bbtk Module: $RCSfile: bbtkConfigurationFile.cxx,v $ Language: C++ - Date: $Date: 2008/12/09 13:47:29 $ - Version: $Revision: 1.23 $ + Date: $Date: 2008/12/10 10:00:36 $ + Version: $Revision: 1.24 $ =========================================================================*/ /* --------------------------------------------------------------------- @@ -373,7 +373,6 @@ namespace bbtk { *slash = 0; } - //printf("EED ConfigurationFile::GetExecutablePath %s\n",name); return name; } diff --git a/packages/vtk/src/bbvtkTransform.cxx b/packages/vtk/src/bbvtkTransform.cxx new file mode 100644 index 0000000..7c375f0 --- /dev/null +++ b/packages/vtk/src/bbvtkTransform.cxx @@ -0,0 +1,89 @@ +#include "bbvtkTransform.h" +#include "bbvtkPackage.h" + + +namespace bbvtk +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,Transform) +BBTK_BLACK_BOX_IMPLEMENTATION(Transform,bbtk::AtomicBlackBox); +void Transform::Process() +{ + if (result!=NULL) + { + result->Delete(); + } + result = vtkTransform::New(); + + + if (bbGetInputIn()!=NULL) + { + result->Concatenate( bbGetInputIn()->GetMatrix() ); + } + + + if (bbGetInputScale().size()>=3) + { + result->Scale(bbGetInputScale()[0], bbGetInputScale()[1], bbGetInputScale()[2]); + } + + if ((bbGetInputTranslate().size()>=3) && (bbGetInputSpacing().size()>=3)) + { + double tx = bbGetInputTranslate()[0] * bbGetInputSpacing()[0]; + double ty = bbGetInputTranslate()[1] * bbGetInputSpacing()[1]; + double tz = bbGetInputTranslate()[2] * bbGetInputSpacing()[2]; + result->Translate(tx,ty,tz); + } + + if (bbGetInputRotateWXYZ().size()>=4) + { + result->RotateWXYZ(bbGetInputRotateWXYZ()[0],bbGetInputRotateWXYZ()[1], bbGetInputRotateWXYZ()[2], bbGetInputRotateWXYZ()[3]); + } + + result->Update(); + + bbSetOutputOut(result); +} + + +void Transform::bbUserConstructor() +{ + bbSetInputIn(NULL); + + vecScale.push_back(1); // scale x + vecScale.push_back(1); // scale y + vecScale.push_back(1); // scale z + bbSetInputScale(vecScale); + + vecRotateWXYZ.push_back(0); //angle + vecRotateWXYZ.push_back(1); //vx + vecRotateWXYZ.push_back(0); //vy + vecRotateWXYZ.push_back(0); //vz + bbSetInputRotateWXYZ(vecRotateWXYZ); + + vecTranslate.push_back(0); //tx + vecTranslate.push_back(0); //ty + vecTranslate.push_back(0); //tz + bbSetInputTranslate(vecTranslate); + + vecSpacing.push_back(1); //spacing x + vecSpacing.push_back(1); //spacing y + vecSpacing.push_back(1); //spacing z + bbSetInputTranslate(vecSpacing); + + result = NULL; +} +void Transform::bbUserCopyConstructor() +{ + + +} +void Transform::bbUserDestructor() +{ + + +} +} +// EO namespace bbvtk + + diff --git a/packages/vtk/src/bbvtkTransform.h b/packages/vtk/src/bbvtkTransform.h new file mode 100644 index 0000000..a9d3d72 --- /dev/null +++ b/packages/vtk/src/bbvtkTransform.h @@ -0,0 +1,57 @@ +#ifndef __bbvtkTransform_h_INCLUDED__ +#define __bbvtkTransform_h_INCLUDED__ +#include "bbtkAtomicBlackBox.h" +#include "iostream" + +#include +#include + +namespace bbvtk +{ + +class /*BBTK_EXPORT*/ Transform + : + public bbtk::AtomicBlackBox +{ + BBTK_BLACK_BOX_INTERFACE(Transform,bbtk::AtomicBlackBox); +//================================================================== +/// User callback called in the box contructor +virtual void bbUserConstructor(); +/// User callback called in the box copy constructor +virtual void bbUserCopyConstructor(); +/// User callback called in the box destructor +virtual void bbUserDestructor(); +//================================================================== + BBTK_DECLARE_INPUT(In,vtkLinearTransform *); + BBTK_DECLARE_INPUT(Scale,std::vector); + BBTK_DECLARE_INPUT(RotateWXYZ,std::vector); + BBTK_DECLARE_INPUT(Translate,std::vector); + BBTK_DECLARE_INPUT(Spacing,std::vector); + BBTK_DECLARE_OUTPUT(Out,vtkLinearTransform *); + BBTK_PROCESS(Process); + void Process(); + + std::vector vecScale; + std::vector vecRotateWXYZ; + std::vector vecTranslate; + std::vector vecSpacing; + vtkTransform *result; +}; + +BBTK_BEGIN_DESCRIBE_BLACK_BOX(Transform,bbtk::AtomicBlackBox); +BBTK_NAME("Transform"); +BBTK_AUTHOR("InfoTeam CREATIS-LRMN"); +BBTK_DESCRIPTION("vtkTransform"); +BBTK_CATEGORY("math"); +BBTK_INPUT(Transform,In,"vtkTransform to be concatenate",vtkLinearTransform *,""); +BBTK_INPUT(Transform,Scale,"vector with sx sy sz",std::vector,""); +BBTK_INPUT(Transform,Translate,"vector with x y z",std::vector,""); +BBTK_INPUT(Transform,Spacing,"vector with spacingX spacingY spacingZ",std::vector,""); +BBTK_INPUT(Transform,RotateWXYZ,"vector with Angle Vx Vy Vz",std::vector,""); +BBTK_OUTPUT(Transform,Out,"vtkTransform result",vtkLinearTransform *,""); +BBTK_END_DESCRIBE_BLACK_BOX(Transform); +} +// EO namespace bbvtk + +#endif // __bbvtkTransform_h_INCLUDED__ + diff --git a/packages/vtk/src/bbvtkVecIsoSurfaceExtractor.cxx b/packages/vtk/src/bbvtkVecIsoSurfaceExtractor.cxx index f4575b5..d175944 100644 --- a/packages/vtk/src/bbvtkVecIsoSurfaceExtractor.cxx +++ b/packages/vtk/src/bbvtkVecIsoSurfaceExtractor.cxx @@ -124,6 +124,7 @@ void VecIsoSurfaceExtractor::bbUserConstructor() bbSetInputColour(colour); bbSetInputTransform(NULL); + bbSetInputOpacity(1); } void VecIsoSurfaceExtractor::bbUserCopyConstructor(bbtk::BlackBox::Pointer) -- 2.45.0