##

ODEBoxShape.hh
Go to the documentation of this file.
/*
* Copyright (C) 2012 Open Source Robotics Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef _ODEBOXSHAPE_HH_
#define _ODEBOXSHAPE_HH_
#include "gazebo/physics/ode/ODEPhysics.hh"
#include "gazebo/physics/ode/ODETypes.hh"
#include "gazebo/physics/ode/ODECollision.hh"
#include "gazebo/physics/PhysicsTypes.hh"
#include "gazebo/physics/BoxShape.hh"
#include "gazebo/util/system.hh"
namespace gazebo
{
namespace physics
{
class GZ_PHYSICS_VISIBLE ODEBoxShape : public BoxShape
{
public: explicit ODEBoxShape(ODECollisionPtr _parent)
: BoxShape(_parent) {}
public: virtual ~ODEBoxShape() {}
// Documentation inherited.
public: virtual void SetSize(const ignition::math::Vector3d &_size)
{
BoxShape::SetSize(_size);
ODECollisionPtr oParent;
oParent = boost::dynamic_pointer_cast<ODECollision>(
this->collisionParent);
if (oParent->GetCollisionId() == nullptr)
{
oParent->SetCollision(
dCreateBox(0, _size.X(), _size.Y(), _size.Z()), true);
}
else
{
dGeomBoxSetLengths(oParent->GetCollisionId(),
_size.X(), _size.Y(), _size.Z());
}
}
};
}
}
#endif
gazebo
Forward declarations for the common classes.
Definition: Animation.hh:26
gazebo::physics::ODEBoxShape::SetSize
virtual void SetSize(const ignition::math::Vector3d &_size)
Set the size of the box.
Definition: ODEBoxShape.hh:47
gazebo::physics::ODECollisionPtr
boost::shared_ptr< ODECollision > ODECollisionPtr
Definition: ODETypes.hh:39
system.hh
PhysicsTypes.hh
default namespace for gazebo
ODECollision.hh
BoxShape.hh
gazebo::physics::BoxShape
Box geometry primitive.
Definition: BoxShape.hh:34
gazebo::physics::ODEBoxShape
ODE Box shape.
Definition: ODEBoxShape.hh:36
gazebo::physics::Shape::collisionParent
CollisionPtr collisionParent
This shape's collision parent.
Definition: Shape.hh:73
gazebo::physics::ODEBoxShape::~ODEBoxShape
virtual ~ODEBoxShape()
Destructor.
Definition: ODEBoxShape.hh:44
ODEPhysics.hh
ODETypes.hh
ODE wrapper forward declarations and typedefs.
gazebo::physics::ODEBoxShape::ODEBoxShape
ODEBoxShape(ODECollisionPtr _parent)
Constructor.
Definition: ODEBoxShape.hh:40
gazebo::physics::BoxShape::SetSize
virtual void SetSize(const ignition::math::Vector3d &_size)
Set the size of the box.