I don't know since when its like that but there is a new Python prerequisite.
I just added it on the wiki :

/*sudo aptitude install python-numpy*/

Bruno



eudoxos at BerliOS a e'crit :
Author: eudoxos
Date: 2008-11-16 10:12:37 +0100 (Sun, 16 Nov 2008)
New Revision: 1571

Added:
   trunk/gui/py/_eudoxos.cpp
Log:
Add forgotten file.

Added: trunk/gui/py/_eudoxos.cpp
===================================================================
--- trunk/gui/py/_eudoxos.cpp   2008-11-15 09:07:37 UTC (rev 1570)
+++ trunk/gui/py/_eudoxos.cpp   2008-11-16 09:12:37 UTC (rev 1571)
@@ -0,0 +1,29 @@
+#include<yade/extra/Brefcom.hpp>
+#include<boost/python.hpp>
+using namespace boost;
+using namespace std;
+# if 0
+Real elasticEnergyDensityInAABB(python::tuple AABB){
+       Vector3r bbMin=tuple2vec(python::extract<python::tuple>(AABB[0])()), 
bbMax=tuple2vec(python::extract<python::tuple>(AABB[1])()); Vector3r box=bbMax-bbMin;
+       shared_ptr<MetaBody> rb=Omega::instance().getRootBody();
+       Real E=0;
+       FOREACH(const shared_ptr<Interaction>&i, *rb->transientInteractions){
+               if(!i->interactionPhysics) continue;
+               shared_ptr<BrefcomContact> 
bc=dynamic_pointer_cast<BrefcomContact>(i->interactionPhysics); if(!bc) continue;
+               const shared_ptr<Body>& b1=Body::byId(i->getId1(),rb), 
b2=Body::byId(i->getId2(),rb);
+               bool isIn1=isInBB(b1->physicalParameters->se3.position,bbMin,bbMax), 
isIn2=isInBB(b2->physicalParameters->se3.position,bbMin,bbMax);
+               if(!isIn1 && !isIn2) continue;
+               Real weight=1.;
+               if((!isIn1 && isIn2) || (isIn1 && !isIn2)){
+                       //shared_ptr<Body> bIn=isIn1?b1:b2, bOut=isIn2?b2:b1;
+                       Vector3r vIn=(isIn1?b1:b2)->physicalParameters->se3.position, 
vOut=(isIn2?b1:b2)->physicalParameters->se3.position;
+                       #define _WEIGHT_COMPONENT(axis) if(vOut[axis]<bbMin[axis]) 
weight=min(weight,abs((vOut[axis]-bbMin[axis])/(vOut[axis]-vIn[axis]))); else 
if(vOut[axis]>bbMax[axis]) 
weight=min(weight,abs((vOut[axis]-bbMax[axis])/(vOut[axis]-vIn[axis])));
+                       _WEIGHT_COMPONENT(0); _WEIGHT_COMPONENT(1); 
_WEIGHT_COMPONENT(2);
+                       assert(weight>=0 && weight<=1);
+               }
+               
E+=.5*bc->E*bc->crossSection*pow(bc->epsN,2)+.5*bc->G*bc->crossSection*pow(bc->epsT.Length(),2);
+       }
+       return E/(box[0]*box[1]*box[2]);
+}
+#endif
+


_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp



--

_______________
Chareyre Bruno
Maitre de conference

Grenoble INP
Laboratoire 3SR - bureau E145
BP 53 - 38041, Grenoble cedex 9 - France
Te'l : 33 4 56 52 86 21
Fax : 33 4 76 82 70 43
________________


_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp

Reply via email to