yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #01075
[svn] r1706 - in trunk: core gui/py pkg/common/Engine/StandAloneEngine scripts
Author: eudoxos
Date: 2009-03-01 21:35:11 +0100 (Sun, 01 Mar 2009)
New Revision: 1706
Added:
trunk/core/Collider.cpp
trunk/core/Collider.hpp
Removed:
trunk/core/BroadInteractor.cpp
trunk/core/BroadInteractor.hpp
Modified:
trunk/core/SConscript
trunk/gui/py/utils.py
trunk/pkg/common/Engine/StandAloneEngine/DistantPersistentSAPCollider.cpp
trunk/pkg/common/Engine/StandAloneEngine/DistantPersistentSAPCollider.hpp
trunk/pkg/common/Engine/StandAloneEngine/PersistentSAPCollider.cpp
trunk/pkg/common/Engine/StandAloneEngine/PersistentSAPCollider.hpp
trunk/pkg/common/Engine/StandAloneEngine/PersistentTriangulationCollider.cpp
trunk/pkg/common/Engine/StandAloneEngine/PersistentTriangulationCollider.hpp
trunk/pkg/common/Engine/StandAloneEngine/SAPCollider.cpp
trunk/pkg/common/Engine/StandAloneEngine/SAPCollider.hpp
trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.cpp
trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.hpp
trunk/pkg/common/Engine/StandAloneEngine/SpheresFactory.cpp
trunk/pkg/common/Engine/StandAloneEngine/SpheresFactory.hpp
trunk/scripts/pch.py
Log:
1. Rename BroadInteractor to Collider.
2. Move some part of the contact logic to this common base class. The Collider::handleExistingInteraction is subject to discussion and not yet used.
Deleted: trunk/core/BroadInteractor.cpp
===================================================================
--- trunk/core/BroadInteractor.cpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/core/BroadInteractor.cpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -1,20 +0,0 @@
-/*************************************************************************
-* Copyright (C) 2004 by Janek Kozicki *
-* cosurgi@xxxxxxxxxx *
-* *
-* This program is free software; it is licensed under the terms of the *
-* GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#include "BroadInteractor.hpp"
-
-BroadInteractor::BroadInteractor()
-{
-
-}
-
-BroadInteractor::~BroadInteractor()
-{
-
-}
-
Deleted: trunk/core/BroadInteractor.hpp
===================================================================
--- trunk/core/BroadInteractor.hpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/core/BroadInteractor.hpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -1,29 +0,0 @@
-/*************************************************************************
-* Copyright (C) 2004 by Janek Kozicki *
-* cosurgi@xxxxxxxxxx *
-* *
-* This program is free software; it is licensed under the terms of the *
-* GNU General Public License v2 or later. See file LICENSE for details. *
-*************************************************************************/
-
-#pragma once
-
-#include <yade/core/BoundingVolume.hpp>
-#include "StandAloneEngine.hpp"
-
-class BroadInteractor : public StandAloneEngine
-{
- public :
- BroadInteractor();
- virtual ~BroadInteractor();
- virtual bool probeBoundingVolume(const BoundingVolume&){throw;}
- vector<body_id_t> probedBodies;
-
- protected:
-
- REGISTER_CLASS_NAME(BroadInteractor);
- REGISTER_BASE_CLASS_NAME(StandAloneEngine);
-};
-
-REGISTER_SERIALIZABLE(BroadInteractor);
-
Copied: trunk/core/Collider.cpp (from rev 1703, trunk/core/BroadInteractor.cpp)
===================================================================
--- trunk/core/BroadInteractor.cpp 2009-03-01 13:29:51 UTC (rev 1703)
+++ trunk/core/Collider.cpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -0,0 +1,48 @@
+/*************************************************************************
+* Copyright (C) 2004 by Janek Kozicki *
+* cosurgi@xxxxxxxxxx *
+* *
+* This program is free software; it is licensed under the terms of the *
+* GNU General Public License v2 or later. See file LICENSE for details. *
+*************************************************************************/
+
+#include "Collider.hpp"
+
+Collider::Collider(){}
+
+Collider::~Collider(){}
+
+bool Collider::handleExistingInteraction(Interaction* I){
+ /* logically, we have 4 possibilities
+ * 1. real new → ¬new, keep
+ * 2. real ¬new → keep (same as 1.)
+ * 3. ¬real new → ???
+ * 4. ¬real ¬new → delete
+ */
+
+ // case 1.
+ // Once the interaction has been fully created, it is not "new" anymore
+ if( I->isReal && I->isNew){ I->isNew=false; return true; }
+ // case 2.
+ if( I->isReal && !I->isNew) return true;
+ //case 3.
+ if(!I->isReal && I->isNew){ /* ??? copied from PersistentSAPCollider; what is the logic here?? */ I->isReal=false; return true; }
+ // remove interactions deleted by the constitutive law
+ if(!I->isNew && !I->isReal) return false; // should be deleted
+
+ assert(false); // unreachable
+}
+
+bool Collider::mayCollide(const Body* b1, const Body* b2){
+ return
+ // not yet implemented: only collide if at least one of the bodies is not shadow
+ // ((!b1->isShadow()) || (!b2->isShadow())) &&
+
+ // only collide if at least one particle is standalone or they belong to different clumps
+ (b1->isStandalone() || b2->isStandalone() || b1->clumpId!=b2->clumpId ) &&
+ // do not collide clumps, since they are just containers, never interact
+ !b1->isClump() && !b2->isClump()
+ ;
+
+}
+
Property changes on: trunk/core/Collider.cpp
___________________________________________________________________
Name: svn:mergeinfo
+
Copied: trunk/core/Collider.hpp (from rev 1703, trunk/core/BroadInteractor.hpp)
===================================================================
--- trunk/core/BroadInteractor.hpp 2009-03-01 13:29:51 UTC (rev 1703)
+++ trunk/core/Collider.hpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -0,0 +1,41 @@
+/*************************************************************************
+* Copyright (C) 2004 by Janek Kozicki *
+* cosurgi@xxxxxxxxxx *
+* *
+* This program is free software; it is licensed under the terms of the *
+* GNU General Public License v2 or later. See file LICENSE for details. *
+*************************************************************************/
+
+#pragma once
+
+#include <yade/core/BoundingVolume.hpp>
+#include "StandAloneEngine.hpp"
+
+class Collider : public StandAloneEngine
+{
+ public :
+ Collider();
+ virtual ~Collider();
+ virtual bool probeBoundingVolume(const BoundingVolume&){throw;}
+ /*! Tell whether given bodies may interact, for other than spatial reasons.
+ *
+ * Concrete collider implementations should call this function if
+ * the bodies are in potential interaction geometrically.
+ */
+ bool mayCollide(const Body*, const Body*);
+ /*! Handle various state transitions of Interaction (isReal, isNew).
+ *
+ * Returns whether the interaction should be preserved (true) or deleted (false).
+ */
+ bool handleExistingInteraction(Interaction*);
+
+ vector<body_id_t> probedBodies;
+
+ protected:
+
+ REGISTER_CLASS_NAME(Collider);
+ REGISTER_BASE_CLASS_NAME(StandAloneEngine);
+};
+
+REGISTER_SERIALIZABLE(Collider);
+
Property changes on: trunk/core/Collider.hpp
___________________________________________________________________
Name: svn:mergeinfo
+
Modified: trunk/core/SConscript
===================================================================
--- trunk/core/SConscript 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/core/SConscript 2009-03-01 20:35:11 UTC (rev 1706)
@@ -4,7 +4,7 @@
['Body.cpp',
'BodyContainer.cpp',
'BoundingVolume.cpp',
- 'BroadInteractor.cpp',
+ 'Collider.cpp',
'DeusExMachina.cpp',
'FileGenerator.cpp',
'FrontEnd.cpp',
Modified: trunk/gui/py/utils.py
===================================================================
--- trunk/gui/py/utils.py 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/gui/py/utils.py 2009-03-01 20:35:11 UTC (rev 1706)
@@ -423,11 +423,11 @@
return f
def replaceCollider(colliderEngine):
- """Replaces collider (BroadInteractor) engine with the engine supplied. Raises error if no collider is in engines."""
+ """Replaces collider (Collider) engine with the engine supplied. Raises error if no collider is in engines."""
colliderIdx=-1
for i,e in enumerate(O.engines):
- if O.isChildClassOf(e.name,"BroadInteractor"):
+ if O.isChildClassOf(e.name,"Collider"):
colliderIdx=i
break
- if colliderIdx<0: raise RuntimeError("No BroadInteractor found within O.engines.")
+ if colliderIdx<0: raise RuntimeError("No Collider found within O.engines.")
O.engines=O.engines[:colliderIdx]+[colliderEngine]+O.engines[colliderIdx+1:]
Modified: trunk/pkg/common/Engine/StandAloneEngine/DistantPersistentSAPCollider.cpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/DistantPersistentSAPCollider.cpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/DistantPersistentSAPCollider.cpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -11,7 +11,7 @@
#include<yade/core/MetaBody.hpp>
#include<yade/core/BodyContainer.hpp>
-DistantPersistentSAPCollider::DistantPersistentSAPCollider() : BroadInteractor()
+DistantPersistentSAPCollider::DistantPersistentSAPCollider() : Collider()
{
// cerr << "DistantPersistentSAPCollider\n";
Modified: trunk/pkg/common/Engine/StandAloneEngine/DistantPersistentSAPCollider.hpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/DistantPersistentSAPCollider.hpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/DistantPersistentSAPCollider.hpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -8,7 +8,7 @@
#pragma once
-#include<yade/core/BroadInteractor.hpp>
+#include<yade/core/Collider.hpp>
#include<yade/core/InteractionContainer.hpp>
#include <list>
#include <set>
@@ -17,7 +17,7 @@
using namespace std;
-class DistantPersistentSAPCollider : public BroadInteractor
+class DistantPersistentSAPCollider : public Collider
{
private :
// represent an extrmity of an Axis ALigned bounding box
@@ -93,7 +93,7 @@
REGISTER_CLASS_NAME(DistantPersistentSAPCollider);
- REGISTER_BASE_CLASS_NAME(BroadInteractor);
+ REGISTER_BASE_CLASS_NAME(Collider);
};
Modified: trunk/pkg/common/Engine/StandAloneEngine/PersistentSAPCollider.cpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/PersistentSAPCollider.cpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/PersistentSAPCollider.cpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -16,7 +16,7 @@
CREATE_LOGGER(PersistentSAPCollider);
-PersistentSAPCollider::PersistentSAPCollider() : BroadInteractor()
+PersistentSAPCollider::PersistentSAPCollider() : Collider()
{
haveDistantTransient=false;
@@ -82,6 +82,8 @@
typedef pair<body_id_t,body_id_t> bodyIdPair;
list<bodyIdPair> toBeDeleted;
FOREACH(const shared_ptr<Interaction>& I,*ncb->transientInteractions){
+ // TODO: this logic will be unitedly in Collider::handleExistingInteraction
+ //
// remove interactions deleted by the constitutive law: thay are not new, but nor real either
// to make sure, do that only with haveDistantTransient
if(haveDistantTransient && !I->isNew && !I->isReal) { toBeDeleted.push_back(bodyIdPair(I->getId1(),I->getId2())); continue; }
@@ -215,12 +217,7 @@
int offset1=3*id1, offset2=3*id2;
const shared_ptr<Body>& b1(Body::byId(body_id_t(id1),rootBody)), b2(Body::byId(body_id_t(id2),rootBody));
bool overlap =
- // NOT YET IMPLEMENTED: only collide if at least one of the bodies is not shadow
- // ((!b1->isShadow()) || (!b2->isShadow())) &&
- // only collide if at least one particle is standalone or they belong to different clumps
- (b1->isStandalone() || b2->isStandalone() || b1->clumpId!=b2->clumpId ) &&
- // do not collide clumps, since they are just containers, never interact
- !b1->isClump() && !b2->isClump() &&
+ Collider::mayCollide(b1.get(),b2.get());
// AABB collisions:
!(
maxima[offset1 ]<minima[offset2 ] || maxima[offset2 ]<minima[offset1 ] ||
Modified: trunk/pkg/common/Engine/StandAloneEngine/PersistentSAPCollider.hpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/PersistentSAPCollider.hpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/PersistentSAPCollider.hpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -8,7 +8,7 @@
#pragma once
-#include<yade/core/BroadInteractor.hpp>
+#include<yade/core/Collider.hpp>
#include<yade/core/InteractionContainer.hpp>
#include <list>
#include <set>
@@ -17,7 +17,7 @@
using namespace std;
-class PersistentSAPCollider : public BroadInteractor
+class PersistentSAPCollider : public Collider
{
private :
// represent an extrmity of an Axis ALigned bounding box
@@ -100,13 +100,13 @@
bool haveDistantTransient;
void registerAttributes(){
- BroadInteractor::registerAttributes();
+ Collider::registerAttributes();
REGISTER_ATTRIBUTE(haveDistantTransient);
}
DECLARE_LOGGER;
REGISTER_CLASS_NAME(PersistentSAPCollider);
- REGISTER_BASE_CLASS_NAME(BroadInteractor);
+ REGISTER_BASE_CLASS_NAME(Collider);
};
Modified: trunk/pkg/common/Engine/StandAloneEngine/PersistentTriangulationCollider.cpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/PersistentTriangulationCollider.cpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/PersistentTriangulationCollider.cpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -20,7 +20,7 @@
#include"TesselationWrapper.h"
-PersistentTriangulationCollider::PersistentTriangulationCollider() : BroadInteractor()
+PersistentTriangulationCollider::PersistentTriangulationCollider() : Collider()
{
noTransientIfPersistentExists=false;
haveDistantTransient=false;
Modified: trunk/pkg/common/Engine/StandAloneEngine/PersistentTriangulationCollider.hpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/PersistentTriangulationCollider.hpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/PersistentTriangulationCollider.hpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -8,7 +8,7 @@
#pragma once
-#include<yade/core/BroadInteractor.hpp>
+#include<yade/core/Collider.hpp>
#include<yade/core/InteractionContainer.hpp>
#include <list>
#include <set>
@@ -30,7 +30,7 @@
using namespace std;
-class PersistentTriangulationCollider : public BroadInteractor
+class PersistentTriangulationCollider : public Collider
{
private :
@@ -114,14 +114,14 @@
bool isTriangulated;
void registerAttributes(){
- BroadInteractor::registerAttributes();
+ Collider::registerAttributes();
REGISTER_ATTRIBUTE(noTransientIfPersistentExists);
REGISTER_ATTRIBUTE(haveDistantTransient);
}
REGISTER_CLASS_NAME(PersistentTriangulationCollider);
- REGISTER_BASE_CLASS_NAME(BroadInteractor);
+ REGISTER_BASE_CLASS_NAME(Collider);
};
Modified: trunk/pkg/common/Engine/StandAloneEngine/SAPCollider.cpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/SAPCollider.cpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/SAPCollider.cpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -11,7 +11,7 @@
#include<yade/core/MetaBody.hpp>
#include<yade/core/BodyContainer.hpp>
-SAPCollider::SAPCollider () : BroadInteractor()
+SAPCollider::SAPCollider () : Collider()
{
this->maxObject = 150000;
nbObjects=0;
Modified: trunk/pkg/common/Engine/StandAloneEngine/SAPCollider.hpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/SAPCollider.hpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/SAPCollider.hpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -12,9 +12,9 @@
#include <set>
#include <vector>
#include <algorithm>
-#include<yade/core/BroadInteractor.hpp>
+#include<yade/core/Collider.hpp>
-class SAPCollider : public BroadInteractor
+class SAPCollider : public Collider
{
private :
// represent an extrmity of an Axis ALigned bounding box
@@ -86,7 +86,7 @@
// incrementally udated each time step
REGISTER_CLASS_NAME(SAPCollider);
- REGISTER_BASE_CLASS_NAME(BroadInteractor);
+ REGISTER_BASE_CLASS_NAME(Collider);
};
REGISTER_SERIALIZABLE(SAPCollider);
Modified: trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.cpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.cpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.cpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -12,7 +12,7 @@
#include <algorithm>
-SpatialQuickSortCollider::SpatialQuickSortCollider() : BroadInteractor()
+SpatialQuickSortCollider::SpatialQuickSortCollider() : Collider()
{
haveDistantTransient=false;
}
Modified: trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.hpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.hpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/SpatialQuickSortCollider.hpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -7,13 +7,13 @@
*************************************************************************/
#pragma once
-#include <yade/core/BroadInteractor.hpp>
+#include <yade/core/Collider.hpp>
#include <yade/core/InteractionContainer.hpp>
#include <vector>
using namespace std;
-class SpatialQuickSortCollider : public BroadInteractor {
+class SpatialQuickSortCollider : public Collider {
protected:
struct AABBBound {
@@ -43,13 +43,13 @@
bool haveDistantTransient;
void registerAttributes() {
- BroadInteractor::registerAttributes();
+ Collider::registerAttributes();
REGISTER_ATTRIBUTE(haveDistantTransient);
}
DECLARE_LOGGER;
REGISTER_CLASS_NAME(SpatialQuickSortCollider);
- REGISTER_BASE_CLASS_NAME(BroadInteractor);
+ REGISTER_BASE_CLASS_NAME(Collider);
};
REGISTER_SERIALIZABLE(SpatialQuickSortCollider);
Modified: trunk/pkg/common/Engine/StandAloneEngine/SpheresFactory.cpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/SpheresFactory.cpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/SpheresFactory.cpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -54,12 +54,12 @@
{
FOREACH(shared_ptr<Engine> eng, ncb->engines)
{
- bI=dynamic_cast<BroadInteractor*>(eng.get());
+ bI=dynamic_cast<Collider*>(eng.get());
if (bI) break;
}
if (!bI)
{
- LOG_FATAL("Can't find BroadInteractor." );
+ LOG_FATAL("Can't find Collider." );
return;
}
iGME=dynamic_cast<InteractionGeometryMetaEngine*>(ncb->engineByName("InteractionGeometryMetaEngine").get());
Modified: trunk/pkg/common/Engine/StandAloneEngine/SpheresFactory.hpp
===================================================================
--- trunk/pkg/common/Engine/StandAloneEngine/SpheresFactory.hpp 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/pkg/common/Engine/StandAloneEngine/SpheresFactory.hpp 2009-03-01 20:35:11 UTC (rev 1706)
@@ -9,7 +9,7 @@
#include <yade/pkg-common/PeriodicEngines.hpp>
#include <yade/pkg-common/InteractionGeometryMetaEngine.hpp>
-#include <yade/core/BroadInteractor.hpp>
+#include <yade/core/Collider.hpp>
#include <yade/core/MetaBody.hpp>
#include <vector>
#include <string>
@@ -70,9 +70,9 @@
Vector3r color;
private:
- /// @brief Pointer to BroadInteractor.
+ /// @brief Pointer to Collider.
/// It is necessary in order to probe the bounding volume for new sphere.
- BroadInteractor* bI;
+ Collider* bI;
/// @brief Pointer to InteractionGeometryMetaEngine.
/// It is necessary in order to detect a real overlap with other bodies.
Modified: trunk/scripts/pch.py
===================================================================
--- trunk/scripts/pch.py 2009-03-01 13:46:00 UTC (rev 1705)
+++ trunk/scripts/pch.py 2009-03-01 20:35:11 UTC (rev 1706)
@@ -24,7 +24,7 @@
from os.path import sep
import shutil
-inclusionGuards={'GLEngineEditor.hpp': 'GL_ENGINE_EDITOR_HPP', 'InteractionPhysicsEngineUnit.hpp': 'INTERACTIONPHYSICS_ENGINEUNIT_HPP', 'SpheresContactGeometry.hpp': 'SPHERESCONTACTGEOMETRY_HPP', 'GLWindowsManager.hpp': 'GLWINDOWSMANAGER_HPP', 'QtSimulationPlayer.hpp': 'QTSIMULATIONPLAYER_HPP', 'NewtonsMomentumLaw.hpp': 'NEWTONSMOMENTUMLAW_HPP', 'PhysicalParameters.hpp': 'PHYSICALPARAMETERS_HPP', 'ParticleParameters.hpp': 'PARTICLEPARAMETERS_HPP', 'HangingCloth.hpp': 'HANGINGCLOTH_HPP', 'GLDrawInteractionGeometryFunctor.hpp': 'GLDRAW_INTERACTION_GEOMETRY_FUNCTOR_HPP', 'GeometricalModel.hpp': 'GEOMETRICALMODEL_HPP', 'SDECImpactTest.hpp': 'SDECIMPORT_HPP', 'Funnel.hpp': 'FUNNEL_HPP', 'PhysicalActionContainerIteratorPointer.hpp': 'PHYSICALACTIONCONTAINERITERATORPOINTER_HPP', 'ClosestFeatures.hpp': 'CLOSESTSFEATURES_HPP', 'CapillaryStressRecorder.hpp': 'CAPILLARY_STRESS_RECORDER_HPP', 'InteractionGeometryEngineUnit.hpp': 'INTERACTIONGEOMETRYFUNCTOR_HPP', 'Functor.hpp': 'FUNCTOR!
_INC_', 'BINFormatManager.hpp': 'BINFORMATMANAGER_HPP', 'SDECMovingWall.hpp': 'SDEC_MOVING_WALL_HPP', 'BroadInteractor.hpp': 'BROADINTERACTOR_HPP', 'InteractingBox.hpp': 'INTERACTION_BOX_HPP', 'BodyContainerIterator.hpp': 'BODYCONTAINERITERATOR_HPP', 'InteractionGeometry.hpp': 'INTERACTIONGEOMETRY_HPP', 'LineSegment.hpp': 'LINE_SEGMENT_HPP', 'GLDrawShadowVolumeFunctor.hpp': 'GLDRAWSHADOWVOLUMEFUNCTOR_HPP', 'ClassFactory.hpp': 'CLASSFACTORY_HPP', 'GLDrawLatticeBeamState.hpp': 'GLDRAW_LATTICE_BEAM_STATE_HPP', 'TypeManip.hpp': 'TYPEMANIP_INC_', 'OpenGLRenderingEngine.hpp': 'OPENGLRENDERINGENGINE_HPP', 'Sphere.hpp': 'SPHERE_HPP', 'TranslationEngine.hpp': 'TRANSLATOR_HPP', 'Tetrahedron.hpp': 'TETRAHEDRON_HPP', 'GLDrawSimpleElasticInteraction.hpp': 'GLDRAW_SIMPLE_ELASTIC_INTERACTION_HPP', 'AveragePositionRecorder.hpp': 'AVERAGE_POSISTION_RECORDER_HPP', 'EmptyType.hpp': 'EMPTYTYPE_INC_', 'BoxStack.hpp': 'BOXSTACK_HPP', 'QtSphericalDEM.hpp': 'QTSPHERICALDEM_HPP', 'CohesiveFrictiona!
lContactLaw.hpp': 'COHESIVE_FRICTIONAL_CONTACT_LAW_HPP', 'QtMe!
taDispat
chingEngineProperties.hpp': 'QTMETADISPATCHINGENGINEPROPERTIES_HPP', 'CapillaryRecorder.hpp': 'CAPILLARY_RECORDER_HPP', 'GLDrawBoxShadowVolume.hpp': 'GLDRAWBOXSHADOWVOLUME_HPP', 'FundamentalHandler.tpp': '__FUNDAMENTALHANDLER_H__', 'ElasticBodySimpleRelationship.hpp': 'ELASTICBODYSIMPLERELATIONSHIP_HPP', 'GeometricalModelEngineUnit.hpp': 'GEOMETRICAL_MODEL_ENGINE_UNIT_HPP', 'MovingSupport.hpp': 'NO_SHEAR_PLANE', 'QtGUIGenerator.hpp': 'QTGUIGENERATOR_HPP', 'LatticeLaw.hpp': 'LATTICELAW_HPP', 'Archive.hpp': 'ARCHIVECONTENT_HPP', 'InteractionGeometryMetaEngine.hpp': 'INTERACTION_GEOMETRY_METAENGINE_HPP', 'GLSimulationPlayerViewer.hpp': 'SIMULATIONVIEWER_HPP', 'DataRecorder.hpp': 'DATARECORDER_HPP', 'SphericalDEMSimulator.hpp': 'SPHERICALDEMSIMULATOR_HPP', 'Preferences.hpp': 'PREFERENCES_HPP', 'PersistentAloneSAPCollider.hpp': 'PERSISTENTSAPCOLLIDER_HPP', 'GLDrawInteractingMyTetrahedron.hpp': 'GLDRAWINTERACTINGMYTETRAHEDRON_HPP', 'MacroMicroElasticRelationshipsWater.hpp': 'SDECL!
INEARCONTACTMODEL_HPP', 'ElasticCohesiveLaw.hpp': 'ELASTICCOHESIVELAW_HPP', 'MyTetrahedronLaw.hpp': 'MYTETRAHEDRONLAW_HPP', 'IOManagerExceptions.hpp': 'IOMANAGEREXCEPTIONS_HPP', 'Engine.hpp': 'ENGINE_HPP', 'QtFileGenerator.hpp': 'QTFILEGENERATOR_HPP', 'PositionOrientationRecorder.hpp': 'POSITIONORIENTATIONRECORDER_HPP', 'StandAloneSimulator.hpp': 'STANDALONESIMULATOR_HPP', 'SimulationFlow.hpp': 'SIMULATION_FLOW_HPP', 'TriaxialStateRecorder.hpp': 'TRIAXIAL_STATE_RECORDER_HPP', 'Indexable.hpp': 'INDEXABLE_HPP', 'FEMTetrahedronData.hpp': 'LATTICEBEAMPARAMETERS_HPP', 'FunctorWrapper.hpp': 'DYNLIB_LAUNCHER_HPP', 'MetaDispatchingEngine.hpp': 'METADISPATCHINGENGINE_HPP', 'ThreadWorker.hpp': 'THREAD_WORKER_HPP', 'CundallNonViscousMomentumDamping.hpp': 'ACTION_MOMENTUM_DAMPING_HPP', 'GLDrawBox.hpp': 'GLDRAWBOX_HPP', 'SimpleElasticInteraction.hpp': 'SIMPLEELASTICINTERACTION_HPP', 'QtGUIPreferences.hpp': 'QTGUIPREFERENCES_HPP', 'InteractionContainerIteratorPointer.hpp': 'INTERACTIONCO!
NTAINERITERATORPOINTER_HPP', 'BodyRedirectionVectorIterator.hp!
p': 'BOD
YREDIRECTIONVECTORITERATOR_HPP', 'MultiTypeHandler.tpp': '__MULTITYPEHANDLER_H__', 'FEMLaw.hpp': 'FEMLAW_HPP', 'MetaInteractingGeometry.hpp': 'METAINTERACTINGGEOMETRY_HPP', 'InteractingGeometry.hpp': 'INTERACTING_GEOMETRY_HPP', 'GLDrawBoundingSphere.hpp': 'GLDRAWBOUNDINGSPHERE_HPP', 'PhysicalActionApplierUnit.hpp': 'PHYSICALACTIONAPPLIERUNIT_HPP', 'TetraTestGen.hpp': 'TETRATESTGEN_HPP', 'GLDrawStateFunctor.hpp': 'GLDRAW_STATE_FUNCTOR_HPP', 'TriaxialTest.hpp': 'SDECIMPORT_HPP', 'GLViewer.hpp': 'GLVIEWER_HPP', 'yadeWm3Extra.hpp': 'YADE_GEOM_UTILS_HPP', 'InteractionHashMapIterator.hpp': 'INTERACTIONHASHMAPITERATOR_HPP', 'InteractionPhysics.hpp': 'INTERACTIONPHYSICS_HPP', 'CohesiveTriaxialTest.hpp': 'COHESIVE_TRIAXIAL_TEST_HPP', 'VelocityRecorder.hpp': 'VELOCITY_RECORDER_HPP', 'TetrahedronsTest.hpp': 'TETRAHEDRONSTEST_HPP', 'SerializableTypes.hpp': '__SERIALIZABLETYPES_HPP__', 'GLDrawRigidBodyState.hpp': 'GLDRAWRIGIDBODYSTATE_HPP', 'SerializationExceptions.hpp': 'SERIALIZATIONEX!
CEPTIONS_HPP', 'GLDrawInteractingSphere.hpp': '__GLDRAWINTERACTIONSPHERE_HPP__', 'RotatingBox.hpp': 'ROTATINGBOX_HPP', 'GLDrawMetaInteractingGeometry.hpp': 'GLDRAWCOLLISIONGEOMETRYSET_HPP', 'NullGUI.hpp': 'NULLGUI_HPP', 'TypeTraits.hpp': 'TYPETRAITS_INC_', 'BodyRedirectionVector.hpp': 'BODYREDIRECTIONVECTOR_HPP', 'InteractingGeometryEngineUnit.hpp': 'INTERACTING_GEOMETRY_ENGINE_UNIT_HPP', 'FileDialog.hpp': 'FILEDIALOG_HPP', 'SDECSpheresPlane.hpp': 'SDEC_SPHERES_PLANE_HPP', 'Clump.hpp': 'CLUMP_HPP', 'PythonRecorder.hpp': 'PYTHON_RECORDER_HPP', 'FEMSetTextLoader.hpp': 'FEM_SET_TEXT_LOADER_HPP', 'DisplacementEngine.hpp': 'DISPLACEMENTENGINE_HPP', 'CapillaryCohesiveLaw.hpp': 'CAPILLARY_COHESIVE_LAW_HPP', 'SerializableSingleton.hpp': 'SERIALIZABLESINGLETON_HPP', 'WallStressRecorder.hpp': 'WALL_STRESS_RECORDER_HPP', 'CohesiveFrictionalContactInteraction.hpp': 'COHESIVE_FRICTIONAL_CONTACT_PARAMETERS_HPP', 'GlobalStiffnessCounter.hpp': 'GLOBALSTIFFNESSCOUNTER_HPP', 'GLDrawInteracti!
ngGeometryFunctor.hpp': 'GLDRAWINTERACTIONGEOMETRYFUNCTOR_HPP'!
, 'Simul
ationControllerUpdater.hpp': 'SIMULATIONCONTROLLERUPDATER_HPP', 'SimulationController.hpp': 'SIMULATIONCONTROLLER_HPP', 'SAPCollider.hpp': 'SAPCOLLIDER_HPP', 'SphericalDEM.hpp': 'SPHERICALDEM_HPP', 'Quadrilateral.hpp': 'QUADRILATERAL_HPP', 'yadeExceptions.hpp': 'YADE_EXCEPTIONS_HPP', 'GLDrawParticleState.hpp': 'GLDRAWPARTICLESTATE_HPP', 'TriaxialStressController.hpp': 'TRIAXIAL_STRESS_CONTROLLER_HPP', 'SDECLinkPhysics.hpp': 'SDECLINKPHYSICS_HPP', 'DistantPersistentSAPCollider.hpp': '__DISTANTPERSISTENTSAPCOLLIDER_HPP__', 'InteractingSphere.hpp': 'INTERACTIONSPHERE_HPP', 'SpringPhysics.hpp': 'SPRINGPHYSICS_HPP', 'Contact.hpp': 'CONTACT_HPP', 'PhysicalActionDamper.hpp': 'PHYSICALACTIONDAMPER_HPP', 'KnownFundamentalsHandler.tpp': 'KNOWNFUNDAMENTALSHANDLER_HPP', 'GLDrawGeometricalModelFunctor.hpp': 'GLDRAWGEOMETRICALMODELFUNCTOR_HPP', 'CapillaryPressureEngine.hpp': 'CAPILLARY_PRESSURE_ENGINE_HPP', 'NullType.hpp': 'NULLTYPE_INC_', 'PhysicalAction.hpp': 'PHYSICALACTION_HPP', 'Tetr!
a.hpp': 'TETRA_HPP', 'GLDrawInteractionPhysicsFunctor.hpp': 'GLDRAW_INTERACTION_PHYSICS_FUNCTOR_HPP', 'PersistentSAPCollider.hpp': '__PERSISTENTSAPCOLLIDER_HPP__', 'GeometricalModelMetaEngine.hpp': 'GEOMETRICAL_MODEL_DISPATCHER_HPP', 'RenderingEngine.hpp': 'RENDERINGENGINE_HPP', 'Factorable.hpp': 'FACTORABLE_HPP', 'IOFormatManager.tpp': 'IOMANAGER_TPP', 'OpenGLWrapper.hpp': 'OPENGLWRAPPER_HPP', 'ElasticBodyParameters.hpp': 'ELASTICBODYPARAMETERS_HPP', 'GLDrawLatticeSetGeometry.hpp': 'GLDRAW_LATTICE_SET_GEOMETRY_HPP', 'InteractionContainerIterator.hpp': 'INTERACTIONCONTAINERITERATOR_HPP', 'QtGUI.hpp': 'QTGUI_HPP', 'MetaEngine.hpp': 'METAENGINE_HPP', 'InteractionOfMyTetrahedron.hpp': 'INTERACTIONOFMYTETRAHEDRON_HPP', 'AABB.hpp': 'AABB_HPP', 'BoundingVolume.hpp': 'BOUNDINGVOLUME_HPP', 'InteractionVecSetIterator.hpp': 'INTERACTIONVECSETITERATOR_HPP', 'PhysicalActionVectorVectorIterator.hpp': 'PHYSICALACTIONVECTORVECTORITERATOR_HPP', 'MacroMicroElasticRelationships.hpp': 'SDECLI!
NEARCONTACTMODEL_HPP', 'GLDrawQuadrilateral.hpp': 'GLDRAW_QUAD!
RILATERA
L_HPP', 'DynLibManager.hpp': 'DYNLIBMANAGER_HPP', 'BodyAssocVector.hpp': 'BODYASSOCVEC_HPP', 'Typelist.hpp': 'TYPELIST_INC_', 'PointerHandler.tpp': '__POINTERHANDLER_H__', 'GLDrawLatticeInteractingGeometry.hpp': 'GLDRAW_LATTICE_INTERACTING_GEOMETRY_HPP', 'Box.hpp': 'BOX_HPP', 'ResultantForceEngine.hpp': 'RESULTANT_FORCE_ENGINE_HPP', 'XMLFormatManager.hpp': 'XMLFORMATMANAGER_HPP', 'GLDrawSDECLinkGeometry.hpp': 'GLDRAW_SPHERES_LINK_CONTACT_GEOMETRY_HPP', 'InteractionVecSet.hpp': 'INTERACTIONVECSET_HPP', 'FrontEnd.hpp': 'FRONTEND_HPP', 'ArchiveTypes.hpp': '__ARCHIVESTYPES_HPP__', 'Logging.hpp': 'LOGGING_HPP', 'MetaBody.hpp': 'METABODY_HPP', 'BodyContainerIteratorPointer.hpp': 'BODYCONTAINERITERATORPOINTER_HPP', 'ContactStressRecorder.hpp': 'CONTACT_STRESS_RECORDER_HPP', 'IOFormatManager.hpp': 'IOFORMATMANAGER_HPP', 'FrictionLessElasticContactLaw.hpp': 'FRICTIONLESSELASTICCONTACTLAW_HPP', 'ForceEngine.hpp': 'FORCE_ENGINE_HPP', 'GLDrawSphereShadowVolume.hpp': 'GLDRAWSPHERESHADOWV!
OLUME_HPP', 'BodyMacroParameters.hpp': 'BODYMACROPARAMETERS_HPP', 'GLWindow.hpp': 'GLWINDOW_HPP', 'PhysicalActionContainer.hpp': 'PHYSICALACTIONCONTAINER_HPP', 'RigidBodyParameters.hpp': 'RIGIDBODYPARAMETERS_HPP', 'GeometricalModelForceColorizer.hpp': 'GEOMETRICAL_MODEL_FORCE_COLORIZER_HPP', 'BodyAssocVectorIterator.hpp': 'BODYASSOCVECTORITERATOR', 'SpringGeometry.hpp': 'SPRINGGEOMETRY_HPP', 'ElasticContactLaw.hpp': 'ELASTIC_CONTACT_LAW_HPP', 'SDECLinkGeometry.hpp': 'SDECLINKGEOMETRY_HPP', 'GLDrawSphere.hpp': 'GLDRAWSPHERE_HPP', 'PhysicalActionApplier.hpp': 'PHYSICALACTIONAPPLIER_HPP', 'PhysicalActionContainerIterator.hpp': 'PHYSICALACTIONCONTAINERITERATOR_HPP', 'CohesiveFrictionalBodyParameters.hpp': 'COHESIVEFRICTIONALBODYPARAMETERS_HPP', 'GLDrawInteractingBox.hpp': 'GLDRAWINTERACTIONBOX_HPP', 'InteractionSolver.hpp': 'INTERACTIONSOLVER_HPP', 'GlobalStiffnessTimeStepper.hpp': 'STIFFNESS_MATRIX_TIME_STEPPER_HPP', 'InteractionContainer.hpp': 'INTERACTIONCONTAINER_HPP', 'Bod!
y.hpp': 'BODY_HPP', 'GLDrawClosestFeatures.hpp': 'GLDRAW_CLOSE!
ST_FEATU
RES_HPP', 'FpsTracker.hpp': 'FPSTRACKER_HPP', 'ElasticContactInteraction.hpp': 'ELASTIC_CONTACT_PARAMETERS_HPP', 'ThreePointBending.hpp': 'LINKEDSPHERES_HPP', 'NonLocalInitializer.hpp': 'NONLOCALINITIALIZER_HPP', 'ContainerHandler.tpp': '__CONTAINERHANDLER_H__', 'GLDrawAABB.hpp': 'GLDRAWAABB_HPP', 'XMLSaxParser.hpp': 'XMLSAXPARSER_HPP', 'TimeStepper.hpp': 'TIMESTEPPER_HPP', 'MassSpringLaw.hpp': 'MASSSPRINGLAW_HPP', 'EngineUnit.hpp': 'ENGINEUNIT_HPP', 'ModifiedTriaxialTest.hpp': 'SDECIMPORT_HPP', 'QtEngineEditor.hpp': 'QTENGINEEDITOR_HPP', 'BoundingVolumeEngineUnit.hpp': 'BOUNDINGVOLUMEFACTORY_HPP', 'GlobalStiffness.hpp': 'GLOBALSTIFFNESSMATRIX_HPP', 'MultiMethodsExceptions.hpp': 'MULTIMETHODSEXCEPTIONS_HPP', 'Momentum.hpp': 'MOMENTUM_HPP', 'PhysicalActionVectorVector.hpp': 'PHYSICALACTIONVECTORVECTOR_HPP', 'QtCodeGenerator.hpp': 'QTCODEGENERATOR_HPP', 'GLTextLabel.hpp': 'GLTEXTLABEL_HPP', 'YadeQtMainWindow.hpp': 'YADEQTMAINWINDOW_HPP', 'NonLocalDependency.hpp': 'NONLOCALDEPE!
NDENCY_HPP', 'Force.hpp': 'ACTIONFORCE_HPP', 'ParticleSetParameters.hpp': 'PARTICLESETPARAMETERS_HPP', 'TriaxialCompressionEngine.hpp': 'TRIAXIALCOMPRESSIONENGINE_HPP', 'CundallNonViscousForceDamping.hpp': 'ACTION_FORCE_DAMPING_HPP', 'DynLibDispatcher.hpp': 'DYNLIB_DISPATCHER_HPP', 'FileGenerator.hpp': 'FILEGENERATOR_HPP', 'Omega.hpp': 'OMEGA_HPP', 'SimpleElasticRelationships.hpp': 'SIMPLECONTACTMODEL_HPP', 'RotationEngine.hpp': 'ROTATIONENGINE_HPP', 'InteractingMyTetrahedron.hpp': 'INTERACTING_MY_TETRAHEDRON_HPP', 'GLDrawLineSegment.hpp': 'GLDRAW_LINE_SEGMENT_HPP', 'cmdGui.hpp': 'CMDGUI_HPP', 'LatticeBeamAngularSpring.hpp': 'LATTICEBEAMANGULARSPRING_HPP', 'ForceRecorder.hpp': 'FORCE_RECORDER_HPP', 'QtPreferencesEditor.hpp': 'QTPREFERENCESEDITOR_HPP', 'GLDrawSpheresContactGeometry.hpp': 'GLDRAW_SPHERES_CONTACT_GEOMETRY_HPP', 'LatticeInteractingGeometry.hpp': 'LATTICE_INTERACTINGGEOMETRY_HPP', 'StandAloneEngine.hpp': 'STANDALONEENGINE_HPP', 'GLDrawBoundingVolumeFunctor.hpp':!
'GLDRAWBOUNDINGVOLUMEFUNCTOR_HPP', 'NewtonsForceLaw.hpp': 'NE!
WTONSFOR
CELAW_HPP', 'BoundingSphere.hpp': 'BOUNDINGSPHERE_HPP', 'MeasurePoisson.hpp': 'POISSON_RECORDER_HPP', 'DeusExMachina.hpp': 'KINEMATICENGINE_HPP', 'CapillaryParameters.hpp': 'CAPILLARY_PARAMETERS_HPP', 'AssocVector.hpp': 'ASSOCVECTOR_INC_', 'PhysicalActionDamperUnit.hpp': 'PHYSICALACTIONDAMPERUNIT_HPP', 'Interaction.hpp': 'INTERACTION_HPP', 'CohesiveFrictionalRelationships.hpp': 'COHESIVEFRICTIONALCONTACTMODEL_HPP', 'BoundingVolumeMetaEngine.hpp': 'BOUNDINGVOLUMEUPDATOR_HPP', 'InteractionHashMap.hpp': 'INTERACTIONHASHMAP_HPP', 'SDECLinkedSpheres.hpp': 'LINKEDSPHERES_HPP', 'BodyContainer.hpp': 'BODYCONTAINER_HPP', 'ElasticCriterionTimeStepper.hpp': 'ELASTIC_CRITERION_TIME_STEPPER_HPP'}
+inclusionGuards={'GLEngineEditor.hpp': 'GL_ENGINE_EDITOR_HPP', 'InteractionPhysicsEngineUnit.hpp': 'INTERACTIONPHYSICS_ENGINEUNIT_HPP', 'SpheresContactGeometry.hpp': 'SPHERESCONTACTGEOMETRY_HPP', 'GLWindowsManager.hpp': 'GLWINDOWSMANAGER_HPP', 'QtSimulationPlayer.hpp': 'QTSIMULATIONPLAYER_HPP', 'NewtonsMomentumLaw.hpp': 'NEWTONSMOMENTUMLAW_HPP', 'PhysicalParameters.hpp': 'PHYSICALPARAMETERS_HPP', 'ParticleParameters.hpp': 'PARTICLEPARAMETERS_HPP', 'HangingCloth.hpp': 'HANGINGCLOTH_HPP', 'GLDrawInteractionGeometryFunctor.hpp': 'GLDRAW_INTERACTION_GEOMETRY_FUNCTOR_HPP', 'GeometricalModel.hpp': 'GEOMETRICALMODEL_HPP', 'SDECImpactTest.hpp': 'SDECIMPORT_HPP', 'Funnel.hpp': 'FUNNEL_HPP', 'PhysicalActionContainerIteratorPointer.hpp': 'PHYSICALACTIONCONTAINERITERATORPOINTER_HPP', 'ClosestFeatures.hpp': 'CLOSESTSFEATURES_HPP', 'CapillaryStressRecorder.hpp': 'CAPILLARY_STRESS_RECORDER_HPP', 'InteractionGeometryEngineUnit.hpp': 'INTERACTIONGEOMETRYFUNCTOR_HPP', 'Functor.hpp': 'FUNCTOR!
_INC_', 'BINFormatManager.hpp': 'BINFORMATMANAGER_HPP', 'SDECMovingWall.hpp': 'SDEC_MOVING_WALL_HPP', 'Collider.hpp': 'BROADINTERACTOR_HPP', 'InteractingBox.hpp': 'INTERACTION_BOX_HPP', 'BodyContainerIterator.hpp': 'BODYCONTAINERITERATOR_HPP', 'InteractionGeometry.hpp': 'INTERACTIONGEOMETRY_HPP', 'LineSegment.hpp': 'LINE_SEGMENT_HPP', 'GLDrawShadowVolumeFunctor.hpp': 'GLDRAWSHADOWVOLUMEFUNCTOR_HPP', 'ClassFactory.hpp': 'CLASSFACTORY_HPP', 'GLDrawLatticeBeamState.hpp': 'GLDRAW_LATTICE_BEAM_STATE_HPP', 'TypeManip.hpp': 'TYPEMANIP_INC_', 'OpenGLRenderingEngine.hpp': 'OPENGLRENDERINGENGINE_HPP', 'Sphere.hpp': 'SPHERE_HPP', 'TranslationEngine.hpp': 'TRANSLATOR_HPP', 'Tetrahedron.hpp': 'TETRAHEDRON_HPP', 'GLDrawSimpleElasticInteraction.hpp': 'GLDRAW_SIMPLE_ELASTIC_INTERACTION_HPP', 'AveragePositionRecorder.hpp': 'AVERAGE_POSISTION_RECORDER_HPP', 'EmptyType.hpp': 'EMPTYTYPE_INC_', 'BoxStack.hpp': 'BOXSTACK_HPP', 'QtSphericalDEM.hpp': 'QTSPHERICALDEM_HPP', 'CohesiveFrictionalContac!
tLaw.hpp': 'COHESIVE_FRICTIONAL_CONTACT_LAW_HPP', 'QtMetaDispa!
tchingEn
gineProperties.hpp': 'QTMETADISPATCHINGENGINEPROPERTIES_HPP', 'CapillaryRecorder.hpp': 'CAPILLARY_RECORDER_HPP', 'GLDrawBoxShadowVolume.hpp': 'GLDRAWBOXSHADOWVOLUME_HPP', 'FundamentalHandler.tpp': '__FUNDAMENTALHANDLER_H__', 'ElasticBodySimpleRelationship.hpp': 'ELASTICBODYSIMPLERELATIONSHIP_HPP', 'GeometricalModelEngineUnit.hpp': 'GEOMETRICAL_MODEL_ENGINE_UNIT_HPP', 'MovingSupport.hpp': 'NO_SHEAR_PLANE', 'QtGUIGenerator.hpp': 'QTGUIGENERATOR_HPP', 'LatticeLaw.hpp': 'LATTICELAW_HPP', 'Archive.hpp': 'ARCHIVECONTENT_HPP', 'InteractionGeometryMetaEngine.hpp': 'INTERACTION_GEOMETRY_METAENGINE_HPP', 'GLSimulationPlayerViewer.hpp': 'SIMULATIONVIEWER_HPP', 'DataRecorder.hpp': 'DATARECORDER_HPP', 'SphericalDEMSimulator.hpp': 'SPHERICALDEMSIMULATOR_HPP', 'Preferences.hpp': 'PREFERENCES_HPP', 'PersistentAloneSAPCollider.hpp': 'PERSISTENTSAPCOLLIDER_HPP', 'GLDrawInteractingMyTetrahedron.hpp': 'GLDRAWINTERACTINGMYTETRAHEDRON_HPP', 'MacroMicroElasticRelationshipsWater.hpp': 'SDECLINEARCO!
NTACTMODEL_HPP', 'ElasticCohesiveLaw.hpp': 'ELASTICCOHESIVELAW_HPP', 'MyTetrahedronLaw.hpp': 'MYTETRAHEDRONLAW_HPP', 'IOManagerExceptions.hpp': 'IOMANAGEREXCEPTIONS_HPP', 'Engine.hpp': 'ENGINE_HPP', 'QtFileGenerator.hpp': 'QTFILEGENERATOR_HPP', 'PositionOrientationRecorder.hpp': 'POSITIONORIENTATIONRECORDER_HPP', 'StandAloneSimulator.hpp': 'STANDALONESIMULATOR_HPP', 'SimulationFlow.hpp': 'SIMULATION_FLOW_HPP', 'TriaxialStateRecorder.hpp': 'TRIAXIAL_STATE_RECORDER_HPP', 'Indexable.hpp': 'INDEXABLE_HPP', 'FEMTetrahedronData.hpp': 'LATTICEBEAMPARAMETERS_HPP', 'FunctorWrapper.hpp': 'DYNLIB_LAUNCHER_HPP', 'MetaDispatchingEngine.hpp': 'METADISPATCHINGENGINE_HPP', 'ThreadWorker.hpp': 'THREAD_WORKER_HPP', 'CundallNonViscousMomentumDamping.hpp': 'ACTION_MOMENTUM_DAMPING_HPP', 'GLDrawBox.hpp': 'GLDRAWBOX_HPP', 'SimpleElasticInteraction.hpp': 'SIMPLEELASTICINTERACTION_HPP', 'QtGUIPreferences.hpp': 'QTGUIPREFERENCES_HPP', 'InteractionContainerIteratorPointer.hpp': 'INTERACTIONCONTAINER!
ITERATORPOINTER_HPP', 'BodyRedirectionVectorIterator.hpp': 'BO!
DYREDIRE
CTIONVECTORITERATOR_HPP', 'MultiTypeHandler.tpp': '__MULTITYPEHANDLER_H__', 'FEMLaw.hpp': 'FEMLAW_HPP', 'MetaInteractingGeometry.hpp': 'METAINTERACTINGGEOMETRY_HPP', 'InteractingGeometry.hpp': 'INTERACTING_GEOMETRY_HPP', 'GLDrawBoundingSphere.hpp': 'GLDRAWBOUNDINGSPHERE_HPP', 'PhysicalActionApplierUnit.hpp': 'PHYSICALACTIONAPPLIERUNIT_HPP', 'TetraTestGen.hpp': 'TETRATESTGEN_HPP', 'GLDrawStateFunctor.hpp': 'GLDRAW_STATE_FUNCTOR_HPP', 'TriaxialTest.hpp': 'SDECIMPORT_HPP', 'GLViewer.hpp': 'GLVIEWER_HPP', 'yadeWm3Extra.hpp': 'YADE_GEOM_UTILS_HPP', 'InteractionHashMapIterator.hpp': 'INTERACTIONHASHMAPITERATOR_HPP', 'InteractionPhysics.hpp': 'INTERACTIONPHYSICS_HPP', 'CohesiveTriaxialTest.hpp': 'COHESIVE_TRIAXIAL_TEST_HPP', 'VelocityRecorder.hpp': 'VELOCITY_RECORDER_HPP', 'TetrahedronsTest.hpp': 'TETRAHEDRONSTEST_HPP', 'SerializableTypes.hpp': '__SERIALIZABLETYPES_HPP__', 'GLDrawRigidBodyState.hpp': 'GLDRAWRIGIDBODYSTATE_HPP', 'SerializationExceptions.hpp': 'SERIALIZATIONEXCEPTION!
S_HPP', 'GLDrawInteractingSphere.hpp': '__GLDRAWINTERACTIONSPHERE_HPP__', 'RotatingBox.hpp': 'ROTATINGBOX_HPP', 'GLDrawMetaInteractingGeometry.hpp': 'GLDRAWCOLLISIONGEOMETRYSET_HPP', 'NullGUI.hpp': 'NULLGUI_HPP', 'TypeTraits.hpp': 'TYPETRAITS_INC_', 'BodyRedirectionVector.hpp': 'BODYREDIRECTIONVECTOR_HPP', 'InteractingGeometryEngineUnit.hpp': 'INTERACTING_GEOMETRY_ENGINE_UNIT_HPP', 'FileDialog.hpp': 'FILEDIALOG_HPP', 'SDECSpheresPlane.hpp': 'SDEC_SPHERES_PLANE_HPP', 'Clump.hpp': 'CLUMP_HPP', 'PythonRecorder.hpp': 'PYTHON_RECORDER_HPP', 'FEMSetTextLoader.hpp': 'FEM_SET_TEXT_LOADER_HPP', 'DisplacementEngine.hpp': 'DISPLACEMENTENGINE_HPP', 'CapillaryCohesiveLaw.hpp': 'CAPILLARY_COHESIVE_LAW_HPP', 'SerializableSingleton.hpp': 'SERIALIZABLESINGLETON_HPP', 'WallStressRecorder.hpp': 'WALL_STRESS_RECORDER_HPP', 'CohesiveFrictionalContactInteraction.hpp': 'COHESIVE_FRICTIONAL_CONTACT_PARAMETERS_HPP', 'GlobalStiffnessCounter.hpp': 'GLOBALSTIFFNESSCOUNTER_HPP', 'GLDrawInteractingGeome!
tryFunctor.hpp': 'GLDRAWINTERACTIONGEOMETRYFUNCTOR_HPP', 'Simu!
lationCo
ntrollerUpdater.hpp': 'SIMULATIONCONTROLLERUPDATER_HPP', 'SimulationController.hpp': 'SIMULATIONCONTROLLER_HPP', 'SAPCollider.hpp': 'SAPCOLLIDER_HPP', 'SphericalDEM.hpp': 'SPHERICALDEM_HPP', 'Quadrilateral.hpp': 'QUADRILATERAL_HPP', 'yadeExceptions.hpp': 'YADE_EXCEPTIONS_HPP', 'GLDrawParticleState.hpp': 'GLDRAWPARTICLESTATE_HPP', 'TriaxialStressController.hpp': 'TRIAXIAL_STRESS_CONTROLLER_HPP', 'SDECLinkPhysics.hpp': 'SDECLINKPHYSICS_HPP', 'DistantPersistentSAPCollider.hpp': '__DISTANTPERSISTENTSAPCOLLIDER_HPP__', 'InteractingSphere.hpp': 'INTERACTIONSPHERE_HPP', 'SpringPhysics.hpp': 'SPRINGPHYSICS_HPP', 'Contact.hpp': 'CONTACT_HPP', 'PhysicalActionDamper.hpp': 'PHYSICALACTIONDAMPER_HPP', 'KnownFundamentalsHandler.tpp': 'KNOWNFUNDAMENTALSHANDLER_HPP', 'GLDrawGeometricalModelFunctor.hpp': 'GLDRAWGEOMETRICALMODELFUNCTOR_HPP', 'CapillaryPressureEngine.hpp': 'CAPILLARY_PRESSURE_ENGINE_HPP', 'NullType.hpp': 'NULLTYPE_INC_', 'PhysicalAction.hpp': 'PHYSICALACTION_HPP', 'Tetra.hpp':!
'TETRA_HPP', 'GLDrawInteractionPhysicsFunctor.hpp': 'GLDRAW_INTERACTION_PHYSICS_FUNCTOR_HPP', 'PersistentSAPCollider.hpp': '__PERSISTENTSAPCOLLIDER_HPP__', 'GeometricalModelMetaEngine.hpp': 'GEOMETRICAL_MODEL_DISPATCHER_HPP', 'RenderingEngine.hpp': 'RENDERINGENGINE_HPP', 'Factorable.hpp': 'FACTORABLE_HPP', 'IOFormatManager.tpp': 'IOMANAGER_TPP', 'OpenGLWrapper.hpp': 'OPENGLWRAPPER_HPP', 'ElasticBodyParameters.hpp': 'ELASTICBODYPARAMETERS_HPP', 'GLDrawLatticeSetGeometry.hpp': 'GLDRAW_LATTICE_SET_GEOMETRY_HPP', 'InteractionContainerIterator.hpp': 'INTERACTIONCONTAINERITERATOR_HPP', 'QtGUI.hpp': 'QTGUI_HPP', 'MetaEngine.hpp': 'METAENGINE_HPP', 'InteractionOfMyTetrahedron.hpp': 'INTERACTIONOFMYTETRAHEDRON_HPP', 'AABB.hpp': 'AABB_HPP', 'BoundingVolume.hpp': 'BOUNDINGVOLUME_HPP', 'InteractionVecSetIterator.hpp': 'INTERACTIONVECSETITERATOR_HPP', 'PhysicalActionVectorVectorIterator.hpp': 'PHYSICALACTIONVECTORVECTORITERATOR_HPP', 'MacroMicroElasticRelationships.hpp': 'SDECLINEARCON!
TACTMODEL_HPP', 'GLDrawQuadrilateral.hpp': 'GLDRAW_QUADRILATER!
AL_HPP',
'DynLibManager.hpp': 'DYNLIBMANAGER_HPP', 'BodyAssocVector.hpp': 'BODYASSOCVEC_HPP', 'Typelist.hpp': 'TYPELIST_INC_', 'PointerHandler.tpp': '__POINTERHANDLER_H__', 'GLDrawLatticeInteractingGeometry.hpp': 'GLDRAW_LATTICE_INTERACTING_GEOMETRY_HPP', 'Box.hpp': 'BOX_HPP', 'ResultantForceEngine.hpp': 'RESULTANT_FORCE_ENGINE_HPP', 'XMLFormatManager.hpp': 'XMLFORMATMANAGER_HPP', 'GLDrawSDECLinkGeometry.hpp': 'GLDRAW_SPHERES_LINK_CONTACT_GEOMETRY_HPP', 'InteractionVecSet.hpp': 'INTERACTIONVECSET_HPP', 'FrontEnd.hpp': 'FRONTEND_HPP', 'ArchiveTypes.hpp': '__ARCHIVESTYPES_HPP__', 'Logging.hpp': 'LOGGING_HPP', 'MetaBody.hpp': 'METABODY_HPP', 'BodyContainerIteratorPointer.hpp': 'BODYCONTAINERITERATORPOINTER_HPP', 'ContactStressRecorder.hpp': 'CONTACT_STRESS_RECORDER_HPP', 'IOFormatManager.hpp': 'IOFORMATMANAGER_HPP', 'FrictionLessElasticContactLaw.hpp': 'FRICTIONLESSELASTICCONTACTLAW_HPP', 'ForceEngine.hpp': 'FORCE_ENGINE_HPP', 'GLDrawSphereShadowVolume.hpp': 'GLDRAWSPHERESHADOWVOLUME_H!
PP', 'BodyMacroParameters.hpp': 'BODYMACROPARAMETERS_HPP', 'GLWindow.hpp': 'GLWINDOW_HPP', 'PhysicalActionContainer.hpp': 'PHYSICALACTIONCONTAINER_HPP', 'RigidBodyParameters.hpp': 'RIGIDBODYPARAMETERS_HPP', 'GeometricalModelForceColorizer.hpp': 'GEOMETRICAL_MODEL_FORCE_COLORIZER_HPP', 'BodyAssocVectorIterator.hpp': 'BODYASSOCVECTORITERATOR', 'SpringGeometry.hpp': 'SPRINGGEOMETRY_HPP', 'ElasticContactLaw.hpp': 'ELASTIC_CONTACT_LAW_HPP', 'SDECLinkGeometry.hpp': 'SDECLINKGEOMETRY_HPP', 'GLDrawSphere.hpp': 'GLDRAWSPHERE_HPP', 'PhysicalActionApplier.hpp': 'PHYSICALACTIONAPPLIER_HPP', 'PhysicalActionContainerIterator.hpp': 'PHYSICALACTIONCONTAINERITERATOR_HPP', 'CohesiveFrictionalBodyParameters.hpp': 'COHESIVEFRICTIONALBODYPARAMETERS_HPP', 'GLDrawInteractingBox.hpp': 'GLDRAWINTERACTIONBOX_HPP', 'InteractionSolver.hpp': 'INTERACTIONSOLVER_HPP', 'GlobalStiffnessTimeStepper.hpp': 'STIFFNESS_MATRIX_TIME_STEPPER_HPP', 'InteractionContainer.hpp': 'INTERACTIONCONTAINER_HPP', 'Body.hpp':!
'BODY_HPP', 'GLDrawClosestFeatures.hpp': 'GLDRAW_CLOSEST_FEAT!
URES_HPP
', 'FpsTracker.hpp': 'FPSTRACKER_HPP', 'ElasticContactInteraction.hpp': 'ELASTIC_CONTACT_PARAMETERS_HPP', 'ThreePointBending.hpp': 'LINKEDSPHERES_HPP', 'NonLocalInitializer.hpp': 'NONLOCALINITIALIZER_HPP', 'ContainerHandler.tpp': '__CONTAINERHANDLER_H__', 'GLDrawAABB.hpp': 'GLDRAWAABB_HPP', 'XMLSaxParser.hpp': 'XMLSAXPARSER_HPP', 'TimeStepper.hpp': 'TIMESTEPPER_HPP', 'MassSpringLaw.hpp': 'MASSSPRINGLAW_HPP', 'EngineUnit.hpp': 'ENGINEUNIT_HPP', 'ModifiedTriaxialTest.hpp': 'SDECIMPORT_HPP', 'QtEngineEditor.hpp': 'QTENGINEEDITOR_HPP', 'BoundingVolumeEngineUnit.hpp': 'BOUNDINGVOLUMEFACTORY_HPP', 'GlobalStiffness.hpp': 'GLOBALSTIFFNESSMATRIX_HPP', 'MultiMethodsExceptions.hpp': 'MULTIMETHODSEXCEPTIONS_HPP', 'Momentum.hpp': 'MOMENTUM_HPP', 'PhysicalActionVectorVector.hpp': 'PHYSICALACTIONVECTORVECTOR_HPP', 'QtCodeGenerator.hpp': 'QTCODEGENERATOR_HPP', 'GLTextLabel.hpp': 'GLTEXTLABEL_HPP', 'YadeQtMainWindow.hpp': 'YADEQTMAINWINDOW_HPP', 'NonLocalDependency.hpp': 'NONLOCALDEPENDENCY_!
HPP', 'Force.hpp': 'ACTIONFORCE_HPP', 'ParticleSetParameters.hpp': 'PARTICLESETPARAMETERS_HPP', 'TriaxialCompressionEngine.hpp': 'TRIAXIALCOMPRESSIONENGINE_HPP', 'CundallNonViscousForceDamping.hpp': 'ACTION_FORCE_DAMPING_HPP', 'DynLibDispatcher.hpp': 'DYNLIB_DISPATCHER_HPP', 'FileGenerator.hpp': 'FILEGENERATOR_HPP', 'Omega.hpp': 'OMEGA_HPP', 'SimpleElasticRelationships.hpp': 'SIMPLECONTACTMODEL_HPP', 'RotationEngine.hpp': 'ROTATIONENGINE_HPP', 'InteractingMyTetrahedron.hpp': 'INTERACTING_MY_TETRAHEDRON_HPP', 'GLDrawLineSegment.hpp': 'GLDRAW_LINE_SEGMENT_HPP', 'cmdGui.hpp': 'CMDGUI_HPP', 'LatticeBeamAngularSpring.hpp': 'LATTICEBEAMANGULARSPRING_HPP', 'ForceRecorder.hpp': 'FORCE_RECORDER_HPP', 'QtPreferencesEditor.hpp': 'QTPREFERENCESEDITOR_HPP', 'GLDrawSpheresContactGeometry.hpp': 'GLDRAW_SPHERES_CONTACT_GEOMETRY_HPP', 'LatticeInteractingGeometry.hpp': 'LATTICE_INTERACTINGGEOMETRY_HPP', 'StandAloneEngine.hpp': 'STANDALONEENGINE_HPP', 'GLDrawBoundingVolumeFunctor.hpp': 'GLDRA!
WBOUNDINGVOLUMEFUNCTOR_HPP', 'NewtonsForceLaw.hpp': 'NEWTONSFO!
RCELAW_H
PP', 'BoundingSphere.hpp': 'BOUNDINGSPHERE_HPP', 'MeasurePoisson.hpp': 'POISSON_RECORDER_HPP', 'DeusExMachina.hpp': 'KINEMATICENGINE_HPP', 'CapillaryParameters.hpp': 'CAPILLARY_PARAMETERS_HPP', 'AssocVector.hpp': 'ASSOCVECTOR_INC_', 'PhysicalActionDamperUnit.hpp': 'PHYSICALACTIONDAMPERUNIT_HPP', 'Interaction.hpp': 'INTERACTION_HPP', 'CohesiveFrictionalRelationships.hpp': 'COHESIVEFRICTIONALCONTACTMODEL_HPP', 'BoundingVolumeMetaEngine.hpp': 'BOUNDINGVOLUMEUPDATOR_HPP', 'InteractionHashMap.hpp': 'INTERACTIONHASHMAP_HPP', 'SDECLinkedSpheres.hpp': 'LINKEDSPHERES_HPP', 'BodyContainer.hpp': 'BODYCONTAINER_HPP', 'ElasticCriterionTimeStepper.hpp': 'ELASTIC_CRITERION_TIME_STEPPER_HPP'}
# must modify these by hand
skipEndifs={'Omega.hpp':1,'yadeWm3Extra.hpp':2,'Logging.hpp':1,'DynLibManager.hpp':1,'TypeManip.hpp':1,'PythonRecorder.hpp':1}