BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,uint8_t,int8_t);
BBTK_ADD_TEMPLATE2_BLACK_BOX_TO_PACKAGE(std,Cast,int8_t,uint8_t);
+
//====================================================================
//=================================================================
// BlackBox declaration
- template <class T, class U>
+ template < class T, class U >
class bbstd_EXPORT Cast : public bbtk::AtomicBlackBox
{
- BBTK_TEMPLATE2_BLACK_BOX_INTERFACE(Cast,bbtk::AtomicBlackBox,T,U);
- BBTK_DECLARE_INPUT(In,T);
- BBTK_DECLARE_OUTPUT(Out,U);
+ BBTK_TEMPLATE2_BLACK_BOX_INTERFACE(Cast,bbtk::AtomicBlackBox , T , U );
+ BBTK_DECLARE_INPUT(In , T );
+ BBTK_DECLARE_OUTPUT(Out , U );
BBTK_PROCESS(DoIt);
void DoIt() {
bbtkDebugMessage("Data",5,"bbstd::Cast In = "
- <<bbGetInputIn()<<" <"<<bbtk::HumanTypeName<T>()
+ << bbGetInputIn() <<" <"<<bbtk::HumanTypeName< T >()
<<">"<<std::endl);
- bbSetOutputOut( static_cast<U>(bbGetInputIn()) );
+ bbSetOutputOut( static_cast< U >(bbGetInputIn()) );
bbtkDebugMessage("Data",5,"bbstd::Cast Out = "
- <<(U)bbGetInputIn()<<" <"<<bbtk::HumanTypeName<U>()
+ <<( U )bbGetInputIn()<<" <"<<bbtk::HumanTypeName< U >()
<<">"<<std::endl);
}
};
//=================================================================
// BlackBox description
BBTK_BEGIN_DESCRIBE_TEMPLATE2_BLACK_BOX(Cast,bbtk::AtomicBlackBox);
- BBTK_NAME("Cast"+bbtk::HumanTypeName<T1>()+"To"+bbtk::HumanTypeName<T2>());
+ BBTK_NAME("Cast"+bbtk::HumanTypeName< T1 >()+"To"+bbtk::HumanTypeName< T2 >());
BBTK_AUTHOR("laurent.guigues@creatis.insa-lyon.fr");
- BBTK_DESCRIPTION("Static cast from "+bbtk::HumanTypeName<T1>()+" ("
- +bbtk::TypeName<T1>()+") to "+bbtk::HumanTypeName<T2>()
- +" ("+bbtk::TypeName<T2>()+")");
+ BBTK_DESCRIPTION("Static cast from "+bbtk::HumanTypeName< T1 >()+" ("
+ +bbtk::TypeName< T1 >()+") to "+bbtk::HumanTypeName< T2 >()
+ +" ("+bbtk::TypeName< T2 >()+")");
BBTK_DEFAULT_ADAPTOR();
- BBTK_TEMPLATE2_INPUT(Cast,In,"Input",T1);
- BBTK_TEMPLATE2_OUTPUT(Cast,Out,"Output",T2);
+ BBTK_TEMPLATE2_INPUT(Cast,In,"Input", T1 );
+ BBTK_TEMPLATE2_OUTPUT(Cast,Out,"Output", T2 );
BBTK_END_DESCRIBE_TEMPLATE2_BLACK_BOX(Cast);
//=================================================================
- template <class T, class U> void Cast<T,U>::bbUserSetDefaultValues() {}
- template <class T, class U> void Cast<T,U>::bbUserInitializeProcessing() {}
- template <class T, class U> void Cast<T,U>::bbUserFinalizeProcessing() {}
+ template <class T, class U> void Cast< T , U >::bbUserSetDefaultValues() {}
+ template <class T, class U> void Cast< T , U >::bbUserInitializeProcessing() {}
+ template <class T, class U> void Cast< T , U >::bbUserFinalizeProcessing() {}
} // namespace bbstd
# ----------------------------------
# - BBTKGEditor v 1.4 BBG BlackBox Diagram file
-# - /home/corredor/Software/CreaTools/All_Dec2012/creatools_source/bbtk/packages/vtk/bbs/appli/exampleMeasureLength.bbg
+# - /home/davila/Creatis/creaTools/creatools_source/bbtk/packages/vtk/bbs/appli/exampleMeasureLength.bbg
# ----------------------------------
APP_START
AUTHOR:Ricardo A Corredor
COMPLEXBOX:FALSE
COMPLEXINPUTS:0
-BOXES:8
+BOXES:20
BOX
creaMaracasVisu:ShowNPoints:Box00
-ISEXEC:TRUE
--51.309471:11.810349:-900.000000
--2.989471:1.810349:-900.000000
+ISEXEC:FALSE
+-20.575067:-1.900823:-900.000000
+27.744933:-11.900823:-900.000000
PORT
WinTitle:"Points Widget"
PORT
FIN_BOX
BOX
creaMaracasVisu:ViewerNV:Box02
-ISEXEC:TRUE
--26.721828:47.483487:-900.000000
-33.918172:37.483487:-900.000000
+ISEXEC:FALSE
+32.451487:18.015162:-900.000000
+93.091487:8.015162:-900.000000
PORT
WinTitle:"Image Viewer"
FIN_BOX
BOX
wx:CommandButton:Box03
-ISEXEC:TRUE
--128.980270:47.281481:-900.000000
--83.405270:37.281481:-900.000000
+ISEXEC:FALSE
+-124.217922:-25.806219:-900.000000
+-78.642922:-35.806219:-900.000000
PORT
Label:"Evaluate length..."
PORT
BOX
vtk:MeasureLength:Box04
ISEXEC:FALSE
--112.956474:-50.441103:-900.000000
--67.381474:-60.441103:-900.000000
+-83.249723:-44.698142:-900.000000
+-37.674723:-54.698142:-900.000000
FIN_BOX
BOX
vtk:PointsXYZtoVTKPoints:Box05
ISEXEC:FALSE
--54.277786:-36.674180:-900.000000
-16.897214:-46.674180:-900.000000
+-68.713790:-27.331519:-900.000000
+2.461210:-37.331519:-900.000000
FIN_BOX
BOX
wx:OutputText:Box06
ISEXEC:FALSE
--113.407849:-80.683196:-900.000000
--67.832849:-90.683196:-900.000000
+-106.948982:-66.573864:-900.000000
+-61.373982:-76.573864:-900.000000
+FIN_BOX
+BOX
+creaMaracasVisu:DrawAxe3D:Box09
+ISEXEC:FALSE
+-6.044096:-121.459131:-900.000000
+39.530904:-131.459131:-900.000000
+FIN_BOX
+BOX
+std:ConcatStrings:Box10
+ISEXEC:FALSE
+82.578614:-47.313269:-900.000000
+128.153614:-57.313269:-900.000000
+FIN_BOX
+BOX
+std:ConcatStrings:Box11
+ISEXEC:FALSE
+100.248722:-68.607816:-900.000000
+145.823722:-78.607816:-900.000000
+FIN_BOX
+BOX
+std:ConcatStrings:Box12
+ISEXEC:FALSE
+89.242836:-94.110903:-900.000000
+134.817836:-104.110903:-900.000000
+FIN_BOX
+BOX
+vtk:ImageVtkProperties:Box13
+ISEXEC:FALSE
+-27.999351:-41.893546:-900.000000
+17.575649:-51.893546:-900.000000
+FIN_BOX
+BOX
+vtk:LoadHola:Box14
+ISEXEC:FALSE
+-86.746462:92.889408:-900.000000
+-41.171462:82.889408:-900.000000
+FIN_BOX
+BOX
+vtk:Transform:Box15
+ISEXEC:FALSE
+-29.422707:-79.221243:-900.000000
+16.152293:-89.221243:-900.000000
+FIN_BOX
+BOX
+std:ConcatStrings:Box16
+ISEXEC:FALSE
+-17.642995:-61.028922:-900.000000
+27.932005:-71.028922:-900.000000
+FIN_BOX
+BOX
+vtk:vtkImageDataPointerRelay:Box17
+ISEXEC:FALSE
+-73.510553:44.615154:-900.000000
+-2.335553:34.615154:-900.000000
FIN_BOX
BOX
-vtk:MetaImageReader:Box07
+creaImageIO:ImagesChooserDialogBox:Box18
ISEXEC:FALSE
--58.531222:83.907503:-900.000000
--12.956222:73.907503:-900.000000
+-34.396302:72.707317:-900.000000
+36.778698:62.707317:-900.000000
FIN_BOX
BOX
-wx:FileSelector:Box08
+wx:LayoutSplit:Box19
+ISEXEC:TRUE
+29.399279:-160.598681:-900.000000
+74.974279:-170.598681:-900.000000
+PORT
+Orientation:"H"
+PORT
+Proportion:"30"
+FIN_BOX
+BOX
+vtk:UpdateRender:Box20
ISEXEC:FALSE
--57.766108:111.196570:-900.000000
--12.191108:101.196570:-900.000000
+-55.505058:-104.393331:-900.000000
+-9.930058:-114.393331:-900.000000
PORT
-Message:"Select an image ..."
+Active:"true"
+FIN_BOX
+BOX
+wx:LayoutSplit:Box21
+ISEXEC:FALSE
+-102.220830:-112.698357:-900.000000
+-56.645830:-122.698357:-900.000000
PORT
-Title:"Select an image ..."
+Proportion:"25"
+FIN_BOX
+BOX
+wx:LayoutLine:Box22
+ISEXEC:FALSE
+-121.648659:-82.889246:-900.000000
+-64.088659:-92.889246:-900.000000
FIN_BOX
-CONNECTIONS:13
+CONNECTIONS:33
CONNECTION
Box02:Renderer1:Box00:Renderer
NumberOfControlPoints:0
Box05:Points:Box04:Points
NumberOfControlPoints:0
CONNECTION
-Box03:BoxChange:Box06:BoxExecute
+Box04:Length:Box06:In
NumberOfControlPoints:0
CONNECTION
-Box04:Length:Box06:In
+Box02:Renderer1:Box09:Renderer
+NumberOfControlPoints:0
+CONNECTION
+Box00:lstPointsX:Box10:In1
+NumberOfControlPoints:0
+CONNECTION
+Box00:lstPointsY:Box11:In1
+NumberOfControlPoints:0
+CONNECTION
+Box11:Out:Box09:lstPointY
+NumberOfControlPoints:0
+CONNECTION
+Box10:Out:Box09:lstPointX
+NumberOfControlPoints:0
+CONNECTION
+Box00:lstPointsZ:Box12:In1
+NumberOfControlPoints:0
+CONNECTION
+Box12:Out:Box09:lstPointZ
+NumberOfControlPoints:0
+CONNECTION
+Box15:Out:Box09:Transform
+NumberOfControlPoints:0
+CONNECTION
+Box13:Spacing:Box16:In1
+NumberOfControlPoints:0
+CONNECTION
+Box17:Out:Box02:In
+NumberOfControlPoints:0
+CONNECTION
+Box17:Out:Box00:Image
+NumberOfControlPoints:0
+CONNECTION
+Box17:Out:Box04:ImageData
+NumberOfControlPoints:0
+CONNECTION
+Box17:Out:Box13:In
+NumberOfControlPoints:0
+CONNECTION
+Box02:Widget:Box19:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box16:Out:Box15:Scale
+NumberOfControlPoints:0
+CONNECTION
+Box00:BoxChange:Box09:BoxExecute
NumberOfControlPoints:0
CONNECTION
-Box07:Out:Box02:In
+Box02:Renderer1:Box20:Renderer
+NumberOfControlPoints:0
+CONNECTION
+Box00:BoxChange:Box20:BoxExecute
+NumberOfControlPoints:0
+CONNECTION
+Box03:Widget:Box22:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box06:Widget:Box22:Widget2
+NumberOfControlPoints:0
+CONNECTION
+Box21:Widget:Box19:Widget1
+NumberOfControlPoints:0
+CONNECTION
+Box03:BoxChange:Box06:BoxExecute
NumberOfControlPoints:0
CONNECTION
-Box07:Out:Box04:ImageData
+Box22:Widget:Box21:Widget1
NumberOfControlPoints:0
CONNECTION
-Box07:Out:Box00:Image
+Box00:Widget:Box21:Widget2
NumberOfControlPoints:0
CONNECTION
-Box08:Out:Box07:In
+Box18:Out:Box17:In
NumberOfControlPoints:0
APP_END
# ----------------------------------
# - BBTKGEditor v 1.4 BBS BlackBox Script
-# - /home/corredor/Software/CreaTools/All_Dec2012/creatools_source/bbtk/packages/vtk/bbs/appli/exampleMeasureLength.bbs
+# - /home/davila/Creatis/creaTools/creatools_source/bbtk/packages/vtk/bbs/appli/exampleMeasureLength.bbs
# ----------------------------------
# BBTK GEditor Script
include creaMaracasVisu
include wx
include vtk
+include std
+include creaImageIO
author "Ricardo A Corredor"
description "Evaluates the sum of the Euclidean distances among the points in the list following their order. Put some points in the image using the Points Widget and the click on Evaluate Length button. "
new OutputText Box06
-new MetaImageReader Box07
+new DrawAxe3D Box09
+
+new ConcatStrings Box10
+
+new ConcatStrings Box11
+
+new ConcatStrings Box12
+
+new ImageVtkProperties Box13
+
+new LoadHola Box14
+
+new Transform Box15
+
+new ConcatStrings Box16
+
+new vtkImageDataPointerRelay Box17
+
+new ImagesChooserDialogBox Box18
-new FileSelector Box08
- set Box08.Message "Select an image ..."
- set Box08.Title "Select an image ..."
+new LayoutSplit Box19
+ set Box19.Orientation "H"
+ set Box19.Proportion "30"
+
+new UpdateRender Box20
+ set Box20.Active "true"
+
+new LayoutSplit Box21
+ set Box21.Proportion "25"
+
+new LayoutLine Box22
connect Box02.Renderer1 Box00.Renderer
connect Box05.Points Box04.Points
-connect Box03.BoxChange Box06.BoxExecute
-
connect Box04.Length Box06.In
-connect Box07.Out Box02.In
+connect Box02.Renderer1 Box09.Renderer
+
+connect Box00.lstPointsX Box10.In1
+
+connect Box00.lstPointsY Box11.In1
+
+connect Box11.Out Box09.lstPointY
+
+connect Box10.Out Box09.lstPointX
+
+connect Box00.lstPointsZ Box12.In1
+
+connect Box12.Out Box09.lstPointZ
+
+connect Box15.Out Box09.Transform
+
+connect Box13.Spacing Box16.In1
+
+connect Box17.Out Box02.In
+
+connect Box17.Out Box00.Image
+
+connect Box17.Out Box04.ImageData
+
+connect Box17.Out Box13.In
+
+connect Box02.Widget Box19.Widget2
+
+connect Box16.Out Box15.Scale
+
+connect Box00.BoxChange Box09.BoxExecute
+
+connect Box02.Renderer1 Box20.Renderer
+
+connect Box00.BoxChange Box20.BoxExecute
+
+connect Box03.Widget Box22.Widget1
+
+connect Box06.Widget Box22.Widget2
+
+connect Box21.Widget Box19.Widget1
+
+connect Box03.BoxChange Box06.BoxExecute
-connect Box07.Out Box04.ImageData
+connect Box22.Widget Box21.Widget1
-connect Box07.Out Box00.Image
+connect Box00.Widget Box21.Widget2
-connect Box08.Out Box07.In
+connect Box18.Out Box17.In
# Complex input ports
-exec Box00
-exec Box02
-exec Box03
+exec Box19
//=====
void MeasureLength::Process()
{
- //std::cout << "RaC MeasureLength::Process START"<< std::endl;
+ std::cout << "RaC MeasureLength::Process START"<< std::endl;
_points = bbGetInputPoints();
_image = bbGetInputImageData();
bbSetOutputLength(sumLength);
- //std::cout << "RaC MeasureLength::Process END"<< std::endl;
+ std::cout << "RaC MeasureLength::Process END"<< std::endl;
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
void PointsXYZtoVTKPoints::Process()
{
- //std::cout << "RaC PointsXYZtoVTKPoints::Process START"<< std::endl;
+//std::cout << "RaC PointsXYZtoVTKPoints::Process START"<< std::endl;
std::vector<int> lstPointsX = bbGetInputLstPointsX();
std::vector<int> lstPointsY = bbGetInputLstPointsY();
std::vector<int> lstPointsZ = bbGetInputLstPointsZ();
+
if(_points==NULL)
+ {
_points=vtkPoints::New();
- else
+ } else {
_points->Reset();//CLEAR
+ }
+ double point[3];
+ point[0]=0;
+ point[1]=0;
+ point[2]=0;
for (int i =0; i < lstPointsX.size(); ++i)
{
- double point[3];
point[0]=lstPointsX[i];
- point[1]=lstPointsY[i];
- point[2]=lstPointsZ[i];
+ if (lstPointsY.size()>i) { point[1]=lstPointsY[i]; }
+ if (lstPointsZ.size()>i) { point[2]=lstPointsZ[i]; }
_points->InsertPoint(i,point);
}
bbSetOutputPoints(_points);
- //std::cout << "RaC PointsXYZtoVTKPoints::Process END"<< std::endl;
+std::cout << "RaC PointsXYZtoVTKPoints::Process END"<< std::endl;
}
//=====
//=====
void PointsXYZtoVTKPoints::bbUserSetDefaultValues()
{
-
-
-
+ _points=NULL;
}
//=====
// Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost)
_textActor = vtkTextActor::New();
_textActor->GetPositionCoordinate()->SetCoordinateSystemToWorld();
+// _textActor->GetPositionCoordinate()->SetCoordinateSystemToDisplay ();
+// _textActor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedDisplay ();
+// _textActor->GetPositionCoordinate()->SetCoordinateSystemToViewport ();
+// _textActor->GetPositionCoordinate()->SetCoordinateSystemToNormalizedViewport ();
+// _textActor->GetPositionCoordinate()->SetCoordinateSystemToView ();
+// _textActor->GetPositionCoordinate()->SetCoordinateSystemToWorld ();
+
+
if (bbGetInputRenderer()!=NULL)
{
bbGetInputRenderer()->AddActor2D(_textActor);
}
}
+// _textActor->SetTextScaleModeToProp();
_textActor->SetPosition( px*spx , py*spy );
+
+printf("EED Text2D::Process px=%f py=%f\n",px,py);
+
+// _textActor->SetPosition( 150,150 );
+// _textActor->GetPosition2Coordinate()->SetCoordinateSystemToNormalizedViewport();
+// _textActor->GetPosition2Coordinate()->SetValue( 0.2 , 0.2 );
// textActor->GetPosition2Coordinate()->SetValue(0.6, 0.1);
vtkTextProperty *tprop = _textActor->GetTextProperty();