X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkPlaneSource.cxx;h=14fbab9bfda5af9bd247658e82eeb9713deebc54;hb=5b1af4fb7d491747f57465950509dc2fcc7b07a6;hp=ff09f5d166cd904350375ebdd316ea1c2ba7c5a4;hpb=5cc6adc4fe970f6ebfcc26625c8bf8e206f883a1;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx index ff09f5d..14fbab9 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx @@ -16,44 +16,94 @@ BBTK_BLACK_BOX_IMPLEMENTATION(PlaneSource,bbtk::AtomicBlackBox); //===== void PlaneSource::Process() { - vtkPlaneSource *plane; - plane = vtkPlaneSource::New(); - double p0[3]; - p0[0]=0; - p0[1]=0; - p0[2]=0; + double c[3]; + double p0[3]; double p1[3]; - p1[0]=0; - p1[1]=0; - p1[2]=0; - double p2[3]; - p2[0]=0; - p2[1]=0; - p2[2]=0; - double c[3]; - c[0]=bbGetInputCenter()[0]; - c[1]=bbGetInputCenter()[1]; - c[2]=bbGetInputCenter()[2]; + double p2[3]; + vtkPlaneSource *plane; + plane = vtkPlaneSource::New(); + c[0] = bbGetInputCenter()[0]; + c[1] = bbGetInputCenter()[1]; + c[2] = bbGetInputCenter()[2]; + p0[0] = 0; + p0[1] = 0; + p0[2] = 0; - plane->SetResolution( 100, 100); + double size=350; + + // xy + if ((bbGetInputNormal()[0]==0) && (bbGetInputNormal()[1]==0) && (bbGetInputNormal()[2]==1) ) + { + p1[0] = size; + p1[1] = 0; + p1[2] = 0; + p2[0] = 0; + p2[1] = size; + p2[2] = 0; + } + + // xz + if ((bbGetInputNormal()[0]==0) && (bbGetInputNormal()[1]==1) && (bbGetInputNormal()[2]==0) ) + { + p1[0] = size; + p1[1] = 0; + p1[2] = 0; + p2[0] = 0; + p2[1] = 0; + p2[2] = size; + } + + // yz + if ((bbGetInputNormal()[0]==1) && (bbGetInputNormal()[1]==0) && (bbGetInputNormal()[2]==0) ) + { + p1[0] = 0; + p1[1] = size; + p1[2] = 0; + p2[0] = 0; + p2[1] = 0; + p2[2] = size; + } + + + +/* + p1[0] = 100; + p1[1] = 0; + p1[2] = 0; + p2[0] = 0; + p2[1] = 100; + p2[2] = 0; +*/ + plane->SetResolution( bbGetInputXResolution(), bbGetInputYResolution() ); plane->SetOrigin( p0 ); plane->SetPoint1( p1 ); plane->SetPoint2( p2 ); - plane->Update( ); +// plane->Update( ); plane->SetNormal( bbGetInputNormal()[0], bbGetInputNormal()[1], bbGetInputNormal()[2] ); - plane->Update( ); +// plane->Update( ); plane->SetCenter( c ); plane->Update( ); bbSetOutputPlane( (vtkDataSet*)plane ); - std::cout << "CFT End of Process() CFT" << std::endl; - + bbSetOutputPolyData( plane->GetOutput() ); + } //===== // 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 PlaneSource::bbUserSetDefaultValues() { - + std::vector c; + std::vector n; + c.push_back(0); + c.push_back(0); + c.push_back(0); + n.push_back(1); + n.push_back(0); + n.push_back(0); + bbSetInputCenter(c); + bbSetInputNormal(n); + bbSetInputXResolution(100); + bbSetInputYResolution(100); } //===== // 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)