X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?p=creaWT.git;a=blobdiff_plain;f=wt%2Fbbtk_wt_PKG%2Fsrc%2FbbwtAddMesh.cxx;fp=wt%2Fbbtk_wt_PKG%2Fsrc%2FbbwtAddMesh.cxx;h=b169ebb18da6df284d13ac53a6530a974c33ff52;hp=34c1a13febbdb25977c233565bcb00d2f3753179;hb=430578713a572cd83e04ca0f65c6e34e87879cd6;hpb=703b304c122f85e82d4a036e51ced891720e7356 diff --git a/wt/bbtk_wt_PKG/src/bbwtAddMesh.cxx b/wt/bbtk_wt_PKG/src/bbwtAddMesh.cxx index 34c1a13..b169ebb 100644 --- a/wt/bbtk_wt_PKG/src/bbwtAddMesh.cxx +++ b/wt/bbtk_wt_PKG/src/bbwtAddMesh.cxx @@ -31,187 +31,103 @@ void AddMesh::Process() // (the one provided in the attribute 'type' of the tag 'input') - printf("EED =====================================================AddMesh::Process() mesh %s\n", bbGetInputMesh().c_str() ); - - - - - Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetInputViewerWt(); - char strPointer[15]; - sprintf(strPointer,"%p",this); - std::string mMesh = w->jsRef() + ".mMesh"+strPointer; - std::string mCont = w->jsRef() + ".mCont"+strPointer; - std::string mRenderer = w->jsRef() + ".mRenderer"; - - printf("EED =====================================================AddMesh::Process() mMesh %s\n", mMesh.c_str() ); - - - std::string jsCom = "\ - try\ - {\ - " + mCont+" = true;\ - "+mMesh+".file = '"+bbGetInputMesh()+"';\ - "+mMesh+".modified(true);\ - "+mRenderer+".render();\ - }\ - catch(err)\ - {\ - var mMesh = new X.mesh();\ - " + mMesh+" = mMesh;\ - mMesh.file = '"+bbGetInputMesh()+"';\ - mMesh.color = [1,0.8,0];\ - mMesh.opacity=1;\ - " + mCont+" = false;\ - "+mRenderer+".onShowtime = function()\ - {\ - if(!" + mCont +")\ - {\ - " + mMesh+".visible = true;\ - " + mMesh+".transform.flipX();\ - " + mMesh+".transform.flipY();\ - " + mMesh+".transform.translateY(-10);\ - " + mCont+" = true;\ - }\ - };\ - " + mRenderer+".add( " + mMesh+");\ - " + mRenderer+".render();\ - }"; - - std::cout<<"DEBUG ADD OBJECT ---- "<doJavaScript(jsCom); - Wt::WApplication::instance()->doJavaScript(jsCom); - - - - - - -/* - - std::string jsCom = "\ - try\ - {\ - " + mCont+" = true;\ - "+mMesh+".file = '"+bbGetInputMesh()+"';\ - "+mMesh+".modified(true);\ - "+w->jsRef()+".mRenderer.render();\ - }\ - catch(err)\ - {\ - var mMesh = new X.mesh();\ - " + mMesh+" = mMesh;\ - mMesh.file = '"+bbGetInputMesh()+"';\ - mMesh.color = [1,0.8,0];\ - mMesh.opacity=1;\ - " + mCont+" = false;\ - "+w->jsRef() +".mRenderer.onShowtime = function()\ - {\ - if(!" + mCont +")\ - {\ - }\ - };\ - " + mMesh+".transform.flipX();\ - " + mMesh+".transform.flipY();\ - " + mMesh+".transform.translateY(-10);\ - " + w->jsRef() +".mRenderer.add( " + mMesh+");\ - " + mMesh+".transform.flipX();\ - " + mMesh+".transform.flipY();\ - " + mMesh+".transform.translateY(-10);\ - " + mMesh+".visible = true;\ - "+mMesh+".modified(true);\ - " + w->jsRef() + ".mRenderer.render();\ - }"; - - std::cout<<"DEBUG ADD OBJECT ---- "<doJavaScript(jsCom); - Wt::WApplication::instance()->doJavaScript(jsCom); - - -*/ - - - + std::string meshFileName=bbGetInputMesh(); + + printf("EED AddMesh::Process meshFileName=%s\n",meshFileName.c_str()); + + bool ok=true; + FILE *ff = fopen( bbGetInputMesh().c_str(), "r" ); + char strtmp[255]; + long int numberPoints; + if (ff==NULL) + { + ok=false; + } else { + fgets(strtmp,255,ff); + fgets(strtmp,255,ff); + fgets(strtmp,255,ff); + fgets(strtmp,255,ff); + fscanf(ff,"%s %ld", strtmp,&numberPoints ); + if (numberPoints==0) + { + ok=false; + } + fclose(ff); + } + + Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetInputViewerWt(); + char strPointer[15]; + sprintf(strPointer,"%p",this); + std::string mMesh = w->jsRef() + ".mMesh"+strPointer; + std::string mRemoveActor= w->jsRef() + ".mRemoveActor"+strPointer; + std::string mRenderer = w->jsRef() + ".mRenderer"; + + if (ok==false) + { + ok=false; + meshFileName="imagesTMP/bunny.vtk"; + } /* - std::string jsCom = "\ - try\ - {\ - " + mCont+" = true;\ - "+mMesh+".file = '"+bbGetInputMesh()+"';\ - "+mMesh+".modified(true);\ - "+w->jsRef()+".mRenderer.render();\ - }\ - catch(err)\ - {\ - var mMesh = new X.mesh();\ - mMesh.file = '"+bbGetInputMesh()+"';\ - mMesh.color = [1,0.8,0];\ - mMesh.opacity=1;\ - " + mMesh+" = mMesh;\ - " + mCont+" = false;\ - "+w->jsRef() +".mRenderer.onShowtime = function()\ - {\ - if(!" + mCont +")\ - {\ - " + mMesh+".transform.flipX();\ - " + mMesh+".transform.flipY();\ - " + mMesh+".transform.translateY(-10);\ - " + mMesh+".visible = true;\ - }\ - };\ - " + w->jsRef() +".mRenderer.add( " + mMesh+");\ - " + w->jsRef() + ".mRenderer.render();\ - }"; - - std::cout<<"DEBUG ADD OBJECT ---- "<doJavaScript(jsCom); - Wt::WApplication::instance()->doJavaScript(jsCom); + mMesh.transform.translateX(88.9);\ + mMesh.transform.translateY(102.9);\ + mMesh.transform.rotateZ(180);\ */ - - /* - - Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetInputViewerWt(); - std::string jsCom = "\ - try{\ - " + w->jsRef() + ".cont = true;\ - " + w->jsRef() + ".mMesh.file = '"+bbGetInputMesh()+"';\ - "+w->jsRef() +".mRenderer.add( " + w->jsRef() + ".mMesh);\ - "+w->jsRef()+".mRenderer.render();\ - }\ - catch(err)\ - {\ - var mMesh = new X.mesh();\ - mMesh.file = '"+bbGetInputMesh()+"';\ - mMesh.color = [1,0.8,0];\ - mMesh.opacity=1;\ - " + w->jsRef() + ".mMesh = mMesh;\ - " + w->jsRef() + ".cont = false;\ - "+w->jsRef() +".mRenderer.onShowtime = function() {\ - if(!" + w->jsRef() + ".cont)\ - {\ - " + w->jsRef() + ".mMesh.transform.flipX();\ - " + w->jsRef() + ".mMesh.transform.flipY();\ - " + w->jsRef() + ".mMesh.transform.translateY(-10);\ - " + w->jsRef() + ".mMesh.visible = true;\ - }\ - };\ - " + w->jsRef() + ".mMesh.modified(true);\ - " + w->jsRef() + ".mRenderer.render();\ - }"; - - std::cout<<"DEBUG ADD OBJECT ---- "<doJavaScript(jsCom); - Wt::WApplication::instance()->doJavaScript(jsCom); - + " + mCont+" = false;\ + "+mRenderer+".onShowtime = function()\ + {\ + if(!" + mCont +")\ + {\ + " + mMesh+".visible = true;\ + " + mCont+" = true;\ + }\ + };\ */ - - - + if (ok==true) + { + std::string jsCom = "\ + try\ + {\ + if ("+mRemoveActor+"==true){ " + mRenderer+".add( " + mMesh+"); } \ + " + mMesh+".transform.matrix.identity;\ + " + mMesh+".transform.translateX(88.9);\ + " + mMesh+".transform.translateY(102.9);\ + " + mMesh+".transform.rotateZ(180);\ + " + mMesh+".opacity = 1;\ + " + mMesh+".file = '"+meshFileName+"';\ + " + mMesh+".modified(true);\ + " + mMesh+".color = [0,1,1];\ + " + mRenderer+".render();\ + } catch(err) {\ + var mMesh = new X.mesh();\ + " + mMesh+" = mMesh;\ + mMesh.file = '"+meshFileName+"';\ + mMesh.color = [1,1,0];\ + mMesh.opacity=0.5;\ + mMesh.transform.matrix.makeOrtho;\ + "+mRemoveActor+" = false;\ + "+mRenderer+".add("+mMesh+");\ + "+mRenderer+".render();\ + }"; +// std::cout<<"DEBUG ADD OBJECT ---- "<doJavaScript(jsCom); + Wt::WApplication::instance()->doJavaScript(jsCom); + } else { + std::string jsCom = "\ + try\ + {\ + "+mRenderer+".remove("+mMesh+");\ + "+mRemoveActor+"=true;\ + } catch(err) {\ + }"; + Wt::WApplication::instance()->doJavaScript(jsCom); + }// ok } + //===== // 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) //=====