X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkPlaneSource.cxx;h=14fbab9bfda5af9bd247658e82eeb9713deebc54;hb=64265375302fbc68da8a3ead24f716881d12536c;hp=2f8b50dff43c9ac9a48605a76d7a537029883084;hpb=d4d007ec0086a1145c20e922e87e0fee1b2f12d8;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkPlaneSource.cxx index 2f8b50d..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]=1; - p1[2]=0; - double p2[3]; - p2[0]=0; - p2[1]=0; - p2[2]=1; - 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 );