Moby
Types.h
1 /****************************************************************************
2  * Copyright 2006 Evan Drumwright
3  * This library is distributed under the terms of the Apache V2.0
4  * License (obtainable from http://www.apache.org/licenses/LICENSE-2.0).
5  ****************************************************************************/
6 
11 #ifndef _MOBY_TYPES_H
12 #define _MOBY_TYPES_H
13 
14 #include <utility>
15 #include <vector>
16 #include <list>
17 #include <boost/shared_ptr.hpp>
18 #include <Ravelin/Vector2d.h>
19 #include <Ravelin/Vector3d.h>
20 
21 namespace Moby {
22 
23 class TessellatedPolyhedron;
24 class Simulator;
25 class RigidBody;
26 class SingleBody;
27 class ArticulatedBody;
28 class RCArticulatedBody;
29 class MCArticulatedBody;
30 class Joint;
31 class CollisionGeometry;
32 class Contact;
33 class Primitive;
34 class Base;
35 class RecurrentForce;
36 class ControlledBody;
37 class XMLTree;
38 class OSGGroupWrapper;
39 class AABB;
40 class OBB;
41 class BV;
42 
44 typedef Ravelin::Vector2d Point2d;
45 
47 typedef Ravelin::Vector3d Point3d;
48 
50 typedef std::pair<Point3d, Point3d> LineSeg3;
51 
53 typedef std::pair<Point2d, Point2d> LineSeg2;
54 
56 typedef boost::shared_ptr<TessellatedPolyhedron> TessellatedPolyhedronPtr;
57 
59 typedef boost::shared_ptr<Simulator> SimulatorPtr;
60 
62 typedef boost::shared_ptr<RigidBody> RigidBodyPtr;
63 
65 typedef boost::shared_ptr<ArticulatedBody> ArticulatedBodyPtr;
66 
68 typedef boost::shared_ptr<RCArticulatedBody> RCArticulatedBodyPtr;
69 
71 typedef boost::shared_ptr<MCArticulatedBody> MCArticulatedBodyPtr;
72 
74 typedef boost::shared_ptr<Joint> JointPtr;
75 
77 typedef boost::shared_ptr<CollisionGeometry> CollisionGeometryPtr;
78 
80 typedef boost::shared_ptr<Primitive> PrimitivePtr;
81 
83 typedef boost::shared_ptr<Base> BasePtr;
84 
86 typedef boost::shared_ptr<RecurrentForce> RecurrentForcePtr;
87 
89 typedef boost::shared_ptr<ControlledBody> ControlledBodyPtr;
90 
92 typedef boost::shared_ptr<BV> BVPtr;
93 
95 typedef boost::shared_ptr<AABB> AABBPtr;
96 
98 typedef boost::shared_ptr<OBB> OBBPtr;
99 
101 typedef boost::shared_ptr<OSGGroupWrapper> OSGGroupWrapperPtr;
102 
104 typedef boost::shared_ptr<XMLTree> XMLTreePtr;
105 
106 } // end namespace
107 
108 #endif
109 
boost::shared_ptr< Primitive > PrimitivePtr
Primitive smart pointer.
Definition: Types.h:80
boost::shared_ptr< Simulator > SimulatorPtr
Simulator smart pointer.
Definition: Types.h:59
boost::shared_ptr< BV > BVPtr
Bounding volume (BV) smart pointer.
Definition: Types.h:92
boost::shared_ptr< RecurrentForce > RecurrentForcePtr
Recurrent force smart pointer.
Definition: Types.h:86
boost::shared_ptr< Base > BasePtr
Base smart pointer.
Definition: Types.h:83
std::pair< Point2d, Point2d > LineSeg2
Typedef to make specifying line segments easier.
Definition: Types.h:53
boost::shared_ptr< AABB > AABBPtr
Axis-aligned bounding box (AABB) smart pointer.
Definition: Types.h:95
boost::shared_ptr< OBB > OBBPtr
Oriented bounding box (OBB) smart pointer.
Definition: Types.h:98
An abstract bounding volume.
Definition: BV.h:38
boost::shared_ptr< ControlledBody > ControlledBodyPtr
Dynamic body smart pointer.
Definition: Types.h:89
boost::shared_ptr< TessellatedPolyhedron > TessellatedPolyhedronPtr
TessellatedPolyhedron smart pointer.
Definition: Types.h:56
boost::shared_ptr< RigidBody > RigidBodyPtr
Rigid body smart pointer.
Definition: Types.h:62
boost::shared_ptr< CollisionGeometry > CollisionGeometryPtr
Collision geometry smart pointer.
Definition: Types.h:77
boost::shared_ptr< XMLTree > XMLTreePtr
XML tree smart pointer.
Definition: Types.h:104
boost::shared_ptr< Joint > JointPtr
Reduced-coordinate articulated body joint smart pointer.
Definition: Types.h:74
Ravelin::Vector3d Point3d
Typedef to distinguish between a 3D vector and a point.
Definition: Types.h:47
boost::shared_ptr< ArticulatedBody > ArticulatedBodyPtr
Articulated body smart pointer.
Definition: Types.h:65
std::pair< Point3d, Point3d > LineSeg3
Typedef to make specifying line segments easier.
Definition: Types.h:50
boost::shared_ptr< OSGGroupWrapper > OSGGroupWrapperPtr
OSGGroupWrapper smart pointer.
Definition: Types.h:101
boost::shared_ptr< RCArticulatedBody > RCArticulatedBodyPtr
Reduced-coordinate articulated body smart pointer.
Definition: Types.h:68
Ravelin::Vector2d Point2d
Typedef to distinguish between a 2D vector and a point.
Definition: Types.h:41
boost::shared_ptr< MCArticulatedBody > MCArticulatedBodyPtr
Maximal-coordinate articulated body smart pointer.
Definition: Types.h:71