AnimatLab  2
Test
Libraries/VortexAnimatSim/StdAfx.h
1 // stdafx.h : include file for standard system include files,
2 // or project specific include files that are used frequently, but
3 // are changed infrequently
4 //
5 
6 #pragma once
7 
8 
9 #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
10 // Windows Header Files:
11 #include <windows.h>
12 
13 #define VORTEX_PORT __declspec( dllexport )
14 
15 //#define STD_TRACING_ON
16 
17 #include "StdUtils.h"
18 #include "AnimatSim.h"
19 
20 // Vx includes
21 #include "Vx/VxQuaternion.h"
22 #include "Vx/VxPrecision.h"
23 #include "Vx/VxFrame.h"
24 #include "Vx/VxUniverse.h"
25 #include "Vx/VxAssembly.h"
26 #include "Vx/VxPart.h"
27 
28 #include "Vx/VxBox.h"
29 #include "Vx/VxCylinder.h"
30 #include "Vx/VxSphere.h"
31 #include "Vx/VxPlane.h"
32 #include "Vx/VxTerrain.h"
33 #include "Vx/VxTriangleMesh.h"
34 #include "Vx/VxConvexMesh.h"
35 #include "Vx/VxCollisionGeometry.h"
36 #include "Vx/VxHeightField.h"
37 
38 #include "Vx/VxConstraint.h"
39 #include "Vx/VxHinge.h"
40 #include "Vx/VxPrismatic.h"
41 #include "Vx/VxBallAndSocket.h"
42 #include "Vx/VxHomokinetic.h"
43 #include "Vx/VxUniversal.h"
44 #include "Vx/VxDistanceJoint.h"
45 #include "Vx/VxLinear1.h"
46 #include "Vx/VxLinear2.h"
47 #include "Vx/VxLinear3.h"
48 #include "Vx/VxSpring.h"
49 #include "Vx/VxRPRO.h"
50 
51 #include "Vx/VxMaterialTable.h"
52 #include "Vx/VxContactProperties.h"
53 #include "Vx/VxConstraintController.h"
54 #include "Vx/VxVector3.h"
55 #include "VxOSG/VxOSG.h"
56 
57 #include "Vx/VxConstraintController.h"
58 #include "Vx/VxEventSubscriber.h"
59 #include "Vx/VxSceneGraphInterface.h"
60 #include "Vx/VxTransform.h"
61 #include "Vx/VxDynamicsResponseInput.h"
62 #include "Vx/VxIntersectResult.h"
63 #include "Vx/VxFluidInteraction.h"
64 #include "Vx/VxSolverParameters.h"
65 
66 #include "VxVehicle/VxVehicleBase.h"
67 #include "VxVehicle/VxCommonVehicleSub.h"
68 
69 #include <VxPersistence/Persistence.h>
70 #include "Vx/VxEulerAngles.h"
71 
72 // OSG includes
73 #include <osg/Group>
74 #include <osg/Geode>
75 #include <osg/Geometry>
76 #include <osg/Matrix>
77 #include <osg/Matrixd>
78 #include <osg/MatrixTransform>
79 #include <osg/Material>
80 #include <osg/Math>
81 #include <osg/Node>
82 #include <osg/PolygonMode>
83 #include <osg/PolygonOffset>
84 #include <osg/ShapeDrawable>
85 #include <osg/StateSet>
86 #include <osg/TexGen>
87 #include <osg/Plane>
88 #include <osg/Texture>
89 #include <osg/Texture1D>
90 #include <osg/Texture2D>
91 #include <osg/Texture3D>
92 #include <osg/TextureCubeMap>
93 #include <osg/TextureRectangle>
94 #include <osg/CullFace>
95 #include <osgText/Text>
96 #include <osg/ref_ptr>
97 #include <osg/CoordinateSystemNode>
98 #include <osg/ClusterCullingCallback>
99 #include <osg/Camera>
100 #include <osg/io_utils>
101 #include <osg/LineWidth>
102 #include <osg/Autotransform>
103 #include <osg/StateAttribute>
104 #include <osg/AlphaFunc>
105 #include <osg/TexMat>
106 
107 #include <osgDB/ReadFile>
108 #include <osgDB/WriteFile>
109 #include <osgDB/FileUtils>
110 
111 #include <osgFX/BumpMapping>
112 #include <osgSim/DOFTransform>
113 
114 #include <osgUtil/Optimizer>
115 #include <osgUtil/SmoothingVisitor>
116 
117 #include <osgViewer/GraphicsWindow>
118 #include <osgViewer/Viewer>
119 #include <osgViewer/ViewerEventHandlers>
120 #include <osgViewer/api/win32/GraphicsWindowWin32>
121 #include <osgViewer/CompositeViewer>
122 
123 #include <osgGA/GUIEventAdapter>
124 #include <osgGA/GUIActionAdapter>
125 #include <osgGA/StateSetManipulator>
126 #include <osgGA/TrackballManipulator>
127 #include <osgGA/MatrixManipulator>
128 
129 #include <osgManipulator/CommandManager>
130 #include <osgManipulator/TabBoxDragger>
131 #include <osgManipulator/TabPlaneDragger>
132 #include <osgManipulator/TabPlaneTrackballDragger>
133 #include <osgManipulator/TrackballDragger>
134 #include <osgManipulator/Translate1DDragger>
135 #include <osgManipulator/Translate2DDragger>
136 #include <osgManipulator/TranslateAxisDragger>
137 #include <osgManipulator/AntiSquish>
138 
139 #include "WorldCoordinateNodeVisitor.h"
140 //#include "VsStatsHandler.h"
141 
142 using namespace osgGA;
143 
144 #include <OpenThreads/Thread>
145 
146 #include "VortexAnimatSimConstants.h"
147 
148 //Simulation Objects
149 namespace VortexAnimatSim
150 {
151  class VsClassFactory;
152  class VsSimulator;
153  class VsMeshMgr;
154 
155  namespace ExternalStimuli
156  {
157  class VsForceStimulus;
158  class VsInverseMuscleCurrent;
160  }
161 
162  namespace Environment
163  {
164  class VsBody;
165  class VsJoint;
166  class VsMotorizedJoint;
167  class VsLine;
168  class VsMaterialType;
170  class VsConstraintFriction;
171  class VsOrganism;
172  class VsRigidBody;
173  class VsStructure;
174 
175  namespace Bodies
176  {
177  class VsAttachment;
178  class VsBox;
179  class VsCone;
180  class VsCylinder;
181  class VsLinearHillMuscle;
183  class VsPlane;
184  class VsSphere;
185  class VsSpring;
186  }
187 
188  namespace Joints
189  {
190  class VsBallSocket;
191  class VsHinge;
192  class VsHingeLimit;
193  class VsPrismatic;
194  class VsPrismaticLimit;
195  }
196  }
197 
198  namespace ExternalStimuli
199  {
200  class VsForceStimulus;
201  class VsInverseMuscleCurrent;
203  }
204 
205  namespace Recording
206  {
207  namespace KeyFrames
208  {
209  class VsSnapshotKeyFrame;
210  class VsVideoKeyFrame;
211  }
212 
213  class VsSimulationRecorder;
214  }
215 
216  namespace Visualization
217  {
218  class VsCameraManipulator;
219  class VsDragger;
220  class VsDraggerHandler;
221  class VsHud;
222  class VsHudItem;
223  class VsHudText;
224  class VsIntersectionEvent;
225  class VsMouseSpring;
226  class VsOsgUserData;
227  class VsOsgUserDataVisitor;
228  class VsSimulationWindow;
229  class VsSimulationWindowMgr;
230  class VsTrackballDragger;
233  }
234 }
235 
236 using namespace VortexAnimatSim;
237 using namespace VortexAnimatSim::ExternalStimuli;
238 using namespace VortexAnimatSim::Environment;
241 using namespace VortexAnimatSim::Recording;
243 using namespace VortexAnimatSim::Visualization;
244 using namespace Vx;
Body part classes that use the vortex physics engine.
Vortex physical structure implementation.
Definition: VsMeshMgr.h:18
A common class for all rigid body data specific to vortex.
Definition: VsRigidBody.h:55
Vortex physical structure implementation.
Definition: VsStructure.h:25
Vortex ball-and-socket joint class.
Definition: VsBallSocket.h:29
A common class for all joint data specific to vortex.
Definition: VsJoint.h:32
Joint classes that use the vortex physics engine.
Implements the light object within osg.
Vortex Organism implementation.
Definition: VsOrganism.h:20
Classes for implementing the cm-labs vortex physics engine for AnimatLab.
Classes involved in displaying the simulation in OSG.
Vortex base body class.
Definition: VsBody.h:19
Vortex hinge joint class.
Definition: VsHinge.h:36
Classes that produce external stimuli.