X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkPlaneSource.cxx;h=14fbab9bfda5af9bd247658e82eeb9713deebc54;hb=4ae048dd3d78ddea21ded374e4bf51340df8384b;hp=a5b518ec432a9a0572402cbd851683ae1a4e3df1;hpb=15546f370a550eb33623748e220d611441a4451c;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx index a5b518e..14fbab9 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx @@ -16,32 +16,71 @@ 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]=100; - p1[2]=0; - double p2[3]; - p2[0]=0; - p2[1]=0; - p2[2]=100; - 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; + 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 );