All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
BulletPlaneShape.hh
Go to the documentation of this file.
1 /*
2  * Copyright 2011 Nate Koenig
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 /* Desc: Plane shape
18  * Author: Nate Koenig
19  * Date: 14 Oct 2009
20  */
21 
22 #ifndef _BULLETPLANESHAPE_HH_
23 #define _BULLETPLANESHAPE_HH_
24 
25 #include <iostream>
26 
28 #include "physics/PlaneShape.hh"
29 
30 namespace gazebo
31 {
32  namespace physics
33  {
37 
40  {
42  public: BulletPlaneShape(CollisionPtr _parent) : PlaneShape(_parent) {}
43 
45  public: virtual ~BulletPlaneShape() {}
46 
48  public: void SetAltitude(const math::Vector3 &pos)
49  {
51  }
52 
54  public: void CreatePlane()
55  {
57  BulletCollisionPtr bParent;
58  bParent = boost::shared_dynamic_cast<BulletCollision>(
59  this->collisionParent);
60 
61  math::Vector3 n = this->GetNormal();
62  btVector3 vec(n.x, n.y, n.z);
63 
64  bParent->SetCollisionShape(new btStaticPlaneShape(vec, 0.0));
65  }
66  };
68  }
69 }
70 #endif