X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk_creaVtk_PKG%2Fsrc%2FbbcreaVtkMeshDeformation.cxx;h=b737afbf935b36cdb643ca437477bd8b259cd056;hb=refs%2Fheads%2Fvtk9itk5wx3-macos;hp=cddffce77d323569eb3dca165ccfe964adc6124c;hpb=6196c24cbb7b38c5862fb1aa30b69b4d33112825;p=creaVtk.git diff --git a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshDeformation.cxx b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshDeformation.cxx index cddffce..b737afb 100644 --- a/bbtk_creaVtk_PKG/src/bbcreaVtkMeshDeformation.cxx +++ b/bbtk_creaVtk_PKG/src/bbcreaVtkMeshDeformation.cxx @@ -13,7 +13,6 @@ BBTK_BLACK_BOX_IMPLEMENTATION(MeshDeformation,bbtk::AtomicBlackBox); //===== void MeshDeformation::Process() { - // THE MAIN PROCESSING METHOD BODY // Here we simply set the input 'In' value to the output 'Out' // And print out the output value @@ -29,14 +28,13 @@ void MeshDeformation::Process() // std::cout << "Output value = " < lstCenter = bbGetInputCenter(); - - double s = bbGetInputS(); - bool ok=false; + double s = bbGetInputS(); + bool ok = false; if (bbGetInputTypeIn()==0) // direction { if (bbGetInputDirection().size()==3) { - ok = !( (bbGetInputDirection()[0]==0) && (bbGetInputDirection()[1]==0) && (bbGetInputDirection()[2]==0) ); + ok = !( (bbGetInputDirection()[0]==0) && (bbGetInputDirection()[1]==0) && (bbGetInputDirection()[2]==0) ); } } // if TypeIn 0 @@ -53,9 +51,9 @@ void MeshDeformation::Process() double pb[3]; // point base double np[3]; // new point double sx,sy,sz; - sx = s*2; - sy = sx; - sz = sy; + sx = s*4; + sy = s*4; + sz = s*4; double displcement_x = 0; double displcement_y = 0; @@ -67,37 +65,40 @@ void MeshDeformation::Process() displcement_y = bbGetInputDirection()[1]; displcement_z = bbGetInputDirection()[2]; } // if TypeIn 0 Direction - + + printf(" EED MeshDeformation::Process %ld %ld - %f %f %f \n", EdgeIdBack, bbGetInputEdgeId() , lstCenter[0],lstCenter[1],lstCenter[2] ); + if (bbGetInputTypeIn()==1) // Center { if (EdgeIdBack==bbGetInputEdgeId() ) { - displcement_x = (lstCenter[0]-backLstCenter[0])/1.0; - displcement_y = (lstCenter[1]-backLstCenter[1])/1.0; - displcement_z = (lstCenter[2]-backLstCenter[2])/1.0; + displcement_x = (lstCenter[0]-backLstCenter[0])/1.0; + displcement_y = (lstCenter[1]-backLstCenter[1])/1.0; + displcement_z = (lstCenter[2]-backLstCenter[2])/1.0; } // if EdgeIdBack!=bbGetInputEdgeId() - backLstCenter[0]= lstCenter[0]; - backLstCenter[1]= lstCenter[1]; - backLstCenter[2]= lstCenter[2]; + backLstCenter[0] = lstCenter[0]; + backLstCenter[1] = lstCenter[1]; + backLstCenter[2] = lstCenter[2]; } // if TypeIn 1 Center - - - points->GetPoint( bbGetInputEdgeId() , pb ); - if (EdgeIdBack!=bbGetInputEdgeId() ) + points->GetPoint( bbGetInputEdgeId() , pb ); + if (EdgeIdBack!=bbGetInputEdgeId() ) + { + EdgeIdBack = bbGetInputEdgeId(); + voiIdPoints.clear(); + for ( i=0 ; iGetPoint(i,p); + if ( (p[0]>(pb[0]-sx)) && (p[0]<(pb[0]+sx)) && + (p[1]>(pb[1]-sy)) && (p[1]<(pb[1]+sy)) && + (p[2]>(pb[2]-sz)) && (p[2]<(pb[2]+sz)) ) { - points->GetPoint(i,p); - if ( (p[0]>(pb[0]-sx)) && (p[0]<(pb[0]+sx)) && - (p[1]>(pb[1]-sy)) && (p[1]<(pb[1]+sy)) && - (p[2]>(pb[2]-sz)) && (p[2]<(pb[2]+sz)) ) - { - voiIdPoints.push_back( i ); - } // if - } // for i - } // back + voiIdPoints.push_back( i ); + } // if + } // for i + backLstCenter[0] = lstCenter[0]; + backLstCenter[1] = lstCenter[1]; + backLstCenter[2] = lstCenter[2]; + } // if EdgeIdBack if ( !((displcement_x==0) &&(displcement_y==0) && (displcement_z==0)) ) { @@ -125,7 +126,7 @@ void MeshDeformation::Process() points->Modified(); bbGetInputIn()->Modified(); } // if distance_x y z != 0 - } // In != NULL ok active + } // In != NULL ok active } //===== // 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) @@ -151,6 +152,7 @@ void MeshDeformation::bbUserSetDefaultValues() backLstCenter.push_back(0); backLstCenter.push_back(0); } + //===== // 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) //===== @@ -164,19 +166,18 @@ void MeshDeformation::bbUserInitializeProcessing() } + //===== // 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 MeshDeformation::bbUserFinalizeProcessing() { - // THE FINALIZATION METHOD BODY : // Here does nothing // but this is where you should desallocate the internal/output pointers // if any - -} } -// EO namespace bbcreaVtk + +}// EO namespace bbcreaVtk