NTRT Simulator  Version: Master
 All Classes Namespaces Files Functions Variables Typedefs Friends Pages
NestedStructureTestModel.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 NESTED_STRUCTURE_TEST_MODEL_H
20 #define NESTED_STRUCTURE_TEST_MODEL_H
21 
29 // This library
30 #include "core/tgModel.h"
31 #include "core/tgSubject.h"
32 // The C++ Standard Library
33 #include <map>
34 #include <set>
35 #include <string>
36 #include <vector>
37 
38 // Forward declarations
39 class tgBasicActuator;
40 
46 class NestedStructureTestModel: public tgSubject<NestedStructureTestModel>, public tgModel
47 {
48 public:
49 
53  typedef std::map<std::string, std::vector<tgBasicActuator*> > ActuatorMap;
54 
61  NestedStructureTestModel(size_t segments);
62 
67  {}
68 
77  virtual void setup(tgWorld& world);
78 
83  virtual void step(const double dt);
84 
92  const std::vector<tgBasicActuator*>& getActuators (const std::string& key) const;
93 
99  size_t getSegments() const
100  {
101  return m_segments;
102  }
103 
104 private:
105 
110  std::vector<tgBasicActuator*> allActuators;
111 
116  ActuatorMap actuatorMap;
117 
121  const size_t m_segments;
122 };
123 
124 #endif
std::map< std::string, std::vector< tgBasicActuator * > > ActuatorMap
Definition of tgSubject class.
Contains the definition of class tgModel.
const std::vector< tgBasicActuator * > & getActuators(const std::string &key) const