SimbodySphereShape.hh
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 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
18#ifndef _SIMBODY_SPHERE_SHAPE_HH_
19#define _SIMBODY_SPHERE_SHAPE_HH_
20
22#include "gazebo/util/system.hh"
23
24namespace gazebo
25{
26 namespace physics
27 {
31
33 class GZ_PHYSICS_VISIBLE SimbodySphereShape : public SphereShape
34 {
37 public: explicit SimbodySphereShape(CollisionPtr _parent)
38 : SphereShape(_parent) {}
39
41 public: virtual ~SimbodySphereShape() {}
42
43 // Documentation inherited.
44 public: virtual void SetRadius(double _radius)
45 {
46 if (_radius < 0)
47 {
48 gzerr << "Sphere shape does not support negative radius\n";
49 return;
50 }
51 if (ignition::math::equal(_radius, 0.0))
52 {
53 // Warn user, but still create shape with very small value
54 // otherwise later resize operations using setLocalScaling
55 // will not be possible
56 gzwarn << "Setting sphere shape's radius to zero \n";
57 _radius = 1e-4;
58 }
59
60 SphereShape::SetRadius(_radius);
61 SimbodyCollisionPtr bParent;
62 bParent = boost::dynamic_pointer_cast<SimbodyCollision>(
63 this->collisionParent);
64
65 // set collision shape
66 }
67 };
69 }
70}
71#endif
CollisionPtr collisionParent
This shape's collision parent.
Definition Shape.hh:73
Simbody sphere collision.
Definition SimbodySphereShape.hh:34
virtual void SetRadius(double _radius)
Set the size.
Definition SimbodySphereShape.hh:44
SimbodySphereShape(CollisionPtr _parent)
Constructor.
Definition SimbodySphereShape.hh:37
virtual ~SimbodySphereShape()
Destructor.
Definition SimbodySphereShape.hh:41
Sphere collision shape.
Definition SphereShape.hh:34
virtual void SetRadius(double _radius)
Set the size.
#define gzerr
Output an error message.
Definition Console.hh:50
#define gzwarn
Output a warning message.
Definition Console.hh:47
boost::shared_ptr< SimbodyCollision > SimbodyCollisionPtr
Definition SimbodyTypes.hh:44
boost::shared_ptr< Collision > CollisionPtr
Definition PhysicsTypes.hh:113
Forward declarations for the common classes.
Definition Animation.hh:27