X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkApplyTransformToPoint3D.cxx;h=743ee1ede146f88e4aefd61d9880e9df8bcf75a1;hb=72429247853aa18590e76228b2b030551323ceca;hp=ae0477251888541add8eb0eb6613bbd5c5e7adc8;hpb=c4879112fd85619dc824d3ae163d65fd0b59ecf9;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkApplyTransformToPoint3D.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkApplyTransformToPoint3D.cxx index ae04772..743ee1e 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkApplyTransformToPoint3D.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkApplyTransformToPoint3D.cxx @@ -31,36 +31,38 @@ void ApplyTransformToPoint3D::Process() // std::cout << "Output value = " <TransformPoint( point,newPoint ); + std::vector out; + out.push_back( newPoint[0] ); + out.push_back( newPoint[1] ); + out.push_back( newPoint[2] ); + bbSetOutputOut( out ); + + double pointDir[3] , newPointDir[3]; + pointDir[0] = bbGetInputPoint()[0]+bbGetInputDirectionInPoint()[0]; + pointDir[1] = bbGetInputPoint()[1]+bbGetInputDirectionInPoint()[1]; + pointDir[2] = bbGetInputPoint()[2]+bbGetInputDirectionInPoint()[2]; + bbGetInputTransform()->TransformPoint( pointDir,newPointDir ); + std::vector outDir; + outDir.push_back( newPointDir[0]-newPoint[0] ); + outDir.push_back( newPointDir[1]-newPoint[1] ); + outDir.push_back( newPointDir[2]-newPoint[2] ); + bbSetOutputOutDirection( outDir ); + } else { + printf("EED Warning! ApplyTransformToPoint3D::Process Incoherent sizes Point(3)=%d DirectionInPoint(3)=%d\n", bbGetInputPoint().size(),bbGetInputDirectionInPoint().size() ); + }// if Point size - if ((bbGetInputPoint().size()==3) && (bbGetInputDirectionInPoint().size()==3) ) - { - double point[3] , newPoint[3]; - point[0] = bbGetInputPoint()[0]; - point[1] = bbGetInputPoint()[1]; - point[2] = bbGetInputPoint()[2]; - bbGetInputTransform()->TransformPoint( point,newPoint ); - std::vector out; - out.push_back( newPoint[0] ); - out.push_back( newPoint[1] ); - out.push_back( newPoint[2] ); - bbSetOutputOut( out ); - - double pointDir[3] , newPointDir[3]; - pointDir[0] = bbGetInputPoint()[0]+bbGetInputDirectionInPoint()[0]; - pointDir[1] = bbGetInputPoint()[1]+bbGetInputDirectionInPoint()[1]; - pointDir[2] = bbGetInputPoint()[2]+bbGetInputDirectionInPoint()[2]; - bbGetInputTransform()->TransformPoint( pointDir,newPointDir ); - std::vector outDir; - outDir.push_back( newPointDir[0]-newPoint[0] ); - outDir.push_back( newPointDir[1]-newPoint[1] ); - outDir.push_back( newPointDir[2]-newPoint[2] ); - bbSetOutputOutDirection( outDir ); - } else { - printf("EED Warning! ApplyTransformToPoint3D::Process Incoherent sizes Point(3)=%d DirectionInPoint(3)=%d\n", bbGetInputPoint().size(),bbGetInputDirectionInPoint().size() ); - }// if Point size - printf("EED ApplyTransformToPoint3D::Process End\n "); - + } else { + printf("Warning! ApplyTransformToPoint3D::Process Transform not set.\n"); + }// if Transform NULL } //=====