ODESphereShape.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2012-2015 Open Source Robotics Foundation
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 #ifndef _ODESPHERESHAPE_HH_
18 #define _ODESPHERESHAPE_HH_
19 
24 #include "gazebo/util/system.hh"
25 
26 namespace gazebo
27 {
28  namespace physics
29  {
32  {
35  public: explicit ODESphereShape(ODECollisionPtr _parent)
36  : SphereShape(_parent) {}
37 
39  public: virtual ~ODESphereShape() {}
40 
41  // Documentation inherited.
42  public: virtual void SetRadius(double _radius)
43  {
44  SphereShape::SetRadius(_radius);
45  ODECollisionPtr oParent;
46  oParent =
47  boost::dynamic_pointer_cast<ODECollision>(this->collisionParent);
48 
49  // Create the sphere geometry
50  if (oParent->GetCollisionId() == NULL)
51  oParent->SetCollision(dCreateSphere(0, _radius), true);
52  else
53  dGeomSphereSetRadius(oParent->GetCollisionId(), _radius);
54  }
55  };
56  }
57 }
58 #endif
Base class for all ODE collisions.
Definition: ODECollision.hh:39
ODESphereShape(ODECollisionPtr _parent)
Constructor.
Definition: ODESphereShape.hh:35
default namespace for gazebo
virtual void SetRadius(double _radius)
Set the size.
Definition: ODESphereShape.hh:42
void SetCollision(dGeomID _collisionId, bool _placeable)
Set the encapsulated collsion object.
#define NULL
Definition: CommonTypes.hh:30
boost::shared_ptr< ODECollision > ODECollisionPtr
Definition: ODETypes.hh:36
A ODE sphere shape.
Definition: ODESphereShape.hh:31
virtual void SetRadius(double _radius)
Set the size.
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported.
Definition: system.hh:48
virtual ~ODESphereShape()
Destructor.
Definition: ODESphereShape.hh:39
Sphere collision shape.
Definition: SphereShape.hh:38