All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PhysicsTypes.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2011 Nate Koenig
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 
18 #include <vector>
19 #include <boost/shared_ptr.hpp>
20 
24 namespace gazebo
25 {
27  namespace physics
28  {
29  class Base;
30  class Entity;
31  class World;
32  class Model;
33  class Actor;
34  class Link;
35  class Collision;
36  class Joint;
37  class Contact;
38  class PhysicsEngine;
39  class Mass;
40  class Road;
41  class Shape;
42  class RayShape;
43  class MultiRayShape;
44  class Inertial;
45  class SurfaceParams;
46  class BoxShape;
47  class CylinderShape;
48  class SphereShape;
49  class MeshShape;
51 
52  typedef boost::shared_ptr<Base> BasePtr;
53  typedef boost::shared_ptr<Contact> ContactPtr;
54  typedef boost::shared_ptr<Entity> EntityPtr;
55  typedef boost::shared_ptr<World> WorldPtr;
56  typedef boost::shared_ptr<Model> ModelPtr;
57  typedef boost::shared_ptr<Actor> ActorPtr;
58  typedef boost::shared_ptr<Link> LinkPtr;
59  typedef boost::shared_ptr<Collision> CollisionPtr;
60  typedef boost::shared_ptr<Joint> JointPtr;
61  typedef boost::shared_ptr<PhysicsEngine> PhysicsEnginePtr;
62  typedef boost::shared_ptr<Shape> ShapePtr;
63  typedef boost::shared_ptr<RayShape> RayShapePtr;
64  typedef boost::shared_ptr<HeightmapShape> HeightmapShapePtr;
65  typedef boost::shared_ptr<MultiRayShape> MultiRayShapePtr;
66  typedef boost::shared_ptr<Inertial> InertialPtr;
67  typedef boost::shared_ptr<Road> RoadPtr;
68  typedef boost::shared_ptr<SurfaceParams> SurfaceParamsPtr;
69 
70  typedef boost::shared_ptr<BoxShape> BoxShapePtr;
71  typedef boost::shared_ptr<CylinderShape> CylinderShapePtr;
72  typedef boost::shared_ptr<SphereShape> SphereShapePtr;
73  typedef boost::shared_ptr<MeshShape> MeshShapePtr;
74 
75  typedef std::vector<BasePtr> Base_V;
76  typedef std::vector<ModelPtr> Model_V;
77  typedef std::vector<ActorPtr> Actor_V;
78  typedef std::vector<JointPtr> Joint_V;
79  typedef std::vector<LinkPtr> Link_V;
80  typedef std::vector<CollisionPtr> Collision_V;
81 
82  #ifndef GZ_COLLIDE_BITS
83 
86  #define GZ_ALL_COLLIDE 0x0FFFFFFF
87 
90  #define GZ_NONE_COLLIDE 0x00000000
91 
94  #define GZ_FIXED_COLLIDE 0x00000001
95 
98  #define GZ_SENSOR_COLLIDE 0x00000003
99 
102  #define GZ_GHOST_COLLIDE 0x10000000
103 
104  #endif
105  }
106 }