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