17 #ifndef _ODEPLANESHAPE_HH_
18 #define _ODEPLANESHAPE_HH_
48 boost::dynamic_pointer_cast<
ODECollision>(this->collisionParent);
50 double altitude = pose.
pos.
z;
52 if (oParent->GetCollisionId() ==
NULL)
53 oParent->SetCollision(dCreatePlane(oParent->GetSpaceId(),
54 n.
x, n.
y, n.
z, altitude),
false);
56 dGeomPlaneSetParams(oParent->GetCollisionId(),
57 n.
x, n.
y, n.
z, altitude);
66 boost::dynamic_pointer_cast<
ODECollision>(this->collisionParent);
70 dGeomPlaneGetParams(odeParent->GetCollisionId(), vec4);
73 vec4[3] = vec4[0] * _pos.
x + vec4[1] * _pos.
y + vec4[2] * _pos.
z;
75 dGeomPlaneSetParams(odeParent->GetCollisionId(), vec4[0], vec4[1],
double x
X location.
Definition: Vector3.hh:311
double y
Y location.
Definition: Vector3.hh:314
virtual void SetAltitude(const math::Vector3 &_pos)
Set the altitude of the plane.
Definition: ODEPlaneShape.hh:61
Encapsulates a position and rotation in three space.
Definition: Pose.hh:37
The Vector3 class represents the generic vector containing 3 elements.
Definition: Vector3.hh:39
Base class for all ODE collisions.
Definition: ODECollision.hh:41
boost::shared_ptr< ODECollision > ODECollisionPtr
Definition: ODETypes.hh:39
virtual void CreatePlane()
Create the plane.
double z
Z location.
Definition: Vector3.hh:317
ODEPlaneShape(CollisionPtr _parent)
Constructor.
Definition: ODEPlaneShape.hh:36
An ODE Plane shape.
Definition: ODEPlaneShape.hh:32
virtual void CreatePlane()
Create the plane.
Definition: ODEPlaneShape.hh:43
Vector3 pos
The position.
Definition: Pose.hh:252
virtual void SetAltitude(const math::Vector3 &_pos)
Set the altitude of the plane.
#define NULL
Definition: CommonTypes.hh:31
virtual ~ODEPlaneShape()
Destructor.
Definition: ODEPlaneShape.hh:40
Collision for an infinite plane.
Definition: PlaneShape.hh:41
boost::shared_ptr< Collision > CollisionPtr
Definition: PhysicsTypes.hh:113