X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=bbtk%2Fsrc%2FbbcreaMaracasVisuPlaneDirection.cxx;fp=bbtk%2Fsrc%2FbbcreaMaracasVisuPlaneDirection.cxx;h=4c5a9a83eab24e56e90c54ff064b798a03c7605f;hb=e42ecf415793e6f85e5de98b41385fe53b6d00e0;hp=0000000000000000000000000000000000000000;hpb=95c30bf2de4ceb066887e941918b1fcb43575455;p=creaMaracasVisu.git diff --git a/bbtk/src/bbcreaMaracasVisuPlaneDirection.cxx b/bbtk/src/bbcreaMaracasVisuPlaneDirection.cxx new file mode 100644 index 0000000..4c5a9a8 --- /dev/null +++ b/bbtk/src/bbcreaMaracasVisuPlaneDirection.cxx @@ -0,0 +1,84 @@ +#include "bbcreaMaracasVisuPlaneDirection.h" +#include "bbcreaMaracasVisuPackage.h" +namespace bbcreaMaracasVisu +{ + +BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,PlaneDirection) +BBTK_BLACK_BOX_IMPLEMENTATION(PlaneDirection,bbtk::WxBlackBox); +void PlaneDirection::Process() +{ + + + int radio = bbGetInputArrowSize(); + std::vector lstPointsx = bbGetInputlstPointsX(); + std::vector lstPointsy = bbGetInputlstPointsY(); + std::vector lstPointsz = bbGetInputlstPointsZ(); + std::vector _lstPointsx; + std::vector _lstPointsy; + std::vector _lstPointsz; + vtkRenderer* render = bbGetInputRenderer(); + vtkImageData* img = bbGetInputIn(); + std::string filename = bbGetInputFilename(); + + _planedir->SetArrowSize(radio); + if(render!=NULL){ + _planedir->SetRenderer(render); + } + + if(lstPointsx.size()>0&&lstPointsy.size()>0&&lstPointsz.size()>0){ + double* spc; + if(img != NULL){ + spc = img->GetSpacing(); + }else{ + spc = new double[3]; + spc[0]=1; + spc[1]=1; + spc[2]=1; + } + + for(int i = 0; i < lstPointsx.size();i++){ + _lstPointsx.push_back(lstPointsx[i]*spc[0]); + _lstPointsy.push_back(lstPointsy[i]*spc[1]); + _lstPointsz.push_back(lstPointsz[i]*spc[2]); + } + + _planedir->SetVectors(_lstPointsx, _lstPointsy, _lstPointsz); + _planedir->UpdateDirections(); + if(filename.compare("")!=0){ + _planedir->WriteInformation(filename,spc); + } + } + +} +void PlaneDirection::CreateWidget(wxWindow* parent) +{ + _planedir = PlaneDirectionViewer::getInstance(parent, radio, colour, opacity); + bbSetOutputWidget( _planedir ); +} +void PlaneDirection::bbUserSetDefaultValues() +{ + radio = 5; + colour[0] = 1; + colour[1] = 0; + colour[2] = 0; + opacity = 100; +} +void PlaneDirection::bbUserInitializeProcessing() +{ + std::vector temp; + bbSetInputFilename(""); + bbSetInputRenderer(0); + bbSetInputIn(0); + bbSetInputlstPointsX(temp); + bbSetInputlstPointsY(temp); + bbSetInputlstPointsZ(temp); + +} +void PlaneDirection::bbUserFinalizeProcessing() +{ + +} +} +// EO namespace bbcreaMaracasVisu + +