NTRT Simulator  Version: Master
 All Classes Namespaces Files Functions Variables Typedefs Friends Pages
ContactCableDemo.h
Go to the documentation of this file.
1 /*
2 * Copyright © 2012, United States Government, as represented by the
3 * Administrator of the National Aeronautics and Space Administration.
4 * All rights reserved.
5 *
6 * The NASA Tensegrity Robotics Toolkit (NTRT) v1 platform is licensed
7 * under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0.
11 *
12 * Unless required by applicable law or agreed to in writing,
13 * software distributed under the License is distributed on an
14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
15 * either express or implied. See the License for the specific language
16 * governing permissions and limitations under the License.
17 */
18 
19 #ifndef CONTACT_CABLE_DEMO
20 #define CONTACT_CABLE_DEMO
21 
30 // This library
31 #include "core/tgModel.h"
32 #include "core/tgSubject.h"
33 
34 // The Bullet Physics Library
35 #include "LinearMath/btVector3.h"
36 
37 // The C++ Standard Library
38 #include <vector>
39 
40 // Forward declarations
42 class tgModelVisitor;
43 class tgWorld;
44 class tgBaseRigid;
45 
50 class ContactCableDemo : public tgSubject<ContactCableDemo>, public tgModel
51 {
52 public:
62  virtual ~ContactCableDemo();
71  virtual void setup(tgWorld& world);
76  virtual void teardown();
81  virtual void step(double dt);
89  virtual void onVisit(const tgModelVisitor& r) const;
90 
95  virtual double getEnergy() const;
96 
100  virtual btVector3 getMomentum() const;
101 
102  virtual btVector3 getVelocityOfBody(int body_num) const;
103 
104 private:
105  double totalTime;
106  std::vector<tgSpringCableActuator*> allMuscles;
107  std::vector<tgBaseRigid*> allRods;
108 
109 };
110 #endif // CONTACT_CABLE_DEMO
virtual void setup(tgWorld &world)
virtual btVector3 getMomentum() const
Definition of tgSubject class.
virtual void onVisit(const tgModelVisitor &r) const
virtual void step(double dt)
virtual double getEnergy() const
Contains the definition of class tgModel.
virtual void teardown()
virtual ~ContactCableDemo()