Types.h

00001 /****************************************************************************
00002  * Copyright 2006 Evan Drumwright
00003  * This library is distributed under the terms of the GNU General Public 
00004  * License (found in COPYING).
00005  ****************************************************************************/
00006 
00007 #ifndef _PHYSSIM_TYPES_H
00008 #define _PHYSSIM_TYPES_H
00009 
00010 #include <vector>
00011 #include <boost/shared_ptr.hpp>
00012 
00013 namespace Physsim {
00014 
00015 class Vector2;
00016 class Vector3;
00017 class VectorN;
00018 class SVector6;
00019 class SMatrix6;
00020 class Matrix3;
00021 class Matrix4;
00022 class MatrixN;
00023 class MatrixNN;
00024 class Polyhedron;
00025 class Simulator;
00026 class Triangle;
00027 class RigidBody;
00028 class ArticulatedBody;
00029 class RCArticulatedBody;
00030 class Joint;
00031 class CollisionGeometry;
00032 class Contact;
00033 class Primitive;
00034 class Integrator;
00035 class Base;
00036 class RecurrentForce;
00037 class DynamicBody;
00038 class SMatrixN;
00039 class Octree;
00040 class XMLTree;
00041 class SoSeparatorWrapper;
00042 
00044 typedef double Real;
00045         
00047 typedef long double LongReal;
00048         
00050 enum ReferenceFrameType { eGlobal, eLink };
00051 
00053 typedef boost::shared_ptr<Vector2> Vector2Ptr;
00054 
00056 typedef boost::shared_ptr<Vector3> Vector3Ptr;
00057 
00059 typedef boost::shared_ptr<const Vector3> Vector3ConstPtr;
00060 
00062 typedef boost::shared_ptr<VectorN> VectorNPtr;
00063 
00065 typedef boost::shared_ptr<const VectorN> VectorNConstPtr;
00066 
00068 typedef boost::shared_ptr<SVector6> SVector6Ptr;
00069 
00071 typedef boost::shared_ptr<const Matrix3> Matrix3ConstPtr;
00072 
00074 typedef boost::shared_ptr<Matrix3> Matrix3Ptr;
00075 
00077 typedef boost::shared_ptr<Matrix4> Matrix4Ptr;
00078 
00080 typedef boost::shared_ptr<MatrixN> MatrixNPtr;
00081 
00083 typedef boost::shared_ptr<MatrixN> MatrixNPtr;
00084 
00086 typedef boost::shared_ptr<MatrixNN> MatrixNNPtr;
00087 
00089 typedef boost::shared_ptr<const MatrixNN> MatrixNNConstPtr;
00090 
00092 typedef boost::shared_ptr<const MatrixN> MatrixNConstPtr;
00093 
00095 typedef boost::shared_ptr<SMatrixN> SMatrixNPtr;
00096 
00098 typedef boost::shared_ptr<const SMatrixN> SMatrixNConstPtr;
00099 
00101 typedef boost::shared_ptr<SMatrix6> SMatrix6Ptr;
00102 
00104 typedef boost::shared_ptr<const SMatrix6> SMatrix6ConstPtr;
00105 
00107 typedef boost::shared_ptr<Polyhedron> PolyhedronPtr;
00108 
00110 typedef boost::shared_ptr<Simulator> SimulatorPtr;
00111 
00113 typedef boost::shared_ptr<Triangle> TrianglePtr;
00114 
00116 typedef boost::shared_ptr<const Triangle> TriangleConstPtr;
00117 
00119 typedef boost::shared_ptr<RigidBody> RigidBodyPtr;
00120 
00122 typedef boost::shared_ptr<const RigidBody> RigidBodyConstPtr;
00123 
00125 typedef boost::shared_ptr<ArticulatedBody> ArticulatedBodyPtr;
00126 
00128 typedef boost::shared_ptr<const ArticulatedBody> ArticulatedBodyConstPtr;
00129 
00131 typedef boost::shared_ptr<RCArticulatedBody> RCArticulatedBodyPtr;
00132 
00134 typedef boost::shared_ptr<const RCArticulatedBody> RCArticulatedBodyConstPtr;
00135 
00137 typedef boost::shared_ptr<const Joint> JointConstPtr;
00138 
00140 typedef boost::shared_ptr<Joint> JointPtr;
00141 
00143 typedef boost::shared_ptr<CollisionGeometry> CollisionGeometryPtr;
00144 
00146 typedef boost::shared_ptr<const CollisionGeometry> CollisionGeometryConstPtr;
00147 
00149 typedef boost::shared_ptr<Primitive> PrimitivePtr;
00150 
00152 typedef boost::shared_ptr<const Primitive> PrimitiveConstPtr;
00153 
00155 typedef boost::shared_ptr<Base> BasePtr;
00156 
00158 typedef boost::shared_ptr<const Base> BaseConstPtr;
00159 
00161 typedef boost::shared_ptr<RecurrentForce> RecurrentForcePtr;
00162 
00164 typedef boost::shared_ptr<const RecurrentForce> RecurrentForceConstPtr;
00165 
00167 typedef boost::shared_ptr<DynamicBody> DynamicBodyPtr;
00168 
00170 typedef boost::shared_ptr<Integrator> IntegratorPtr;
00171 
00173 typedef boost::shared_ptr<Contact> ContactPtr;
00174 
00176 typedef boost::shared_ptr<const Contact> ContactConstPtr;
00177 
00179 typedef boost::shared_ptr<Octree> OctreePtr;
00180 
00182 typedef boost::shared_ptr<SoSeparatorWrapper> SoSeparatorWrapperPtr;
00183 
00185 typedef boost::shared_ptr<const SoSeparatorWrapper> SoSeparatorWrapperConstPtr;
00186 
00188 typedef boost::shared_ptr<XMLTree> XMLTreePtr;
00189 
00191 typedef boost::shared_ptr<const XMLTree> XMLTreeConstPtr;
00192 
00194 typedef boost::shared_ptr<std::vector<boost::shared_ptr<const Triangle> > > TriangleArrayPtr;
00195 
00197 typedef boost::shared_ptr<const std::vector<boost::shared_ptr<const Triangle> > > TriangleArrayConstPtr;
00198 
00199 
00200 } // end namespace
00201 
00202 #endif

Generated on Wed Oct 24 14:54:22 2007 for Physsim by  doxygen 1.5.1