NTRT Simulator
 All Classes Files Functions Variables Typedefs Friends Pages
tgRBStringInfo.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 TG_RB_STRING_INFO_H
20 #define TG_RB_STRING_INFO_H
21 
32 // This library
33 #include "tgRBString.h"
34 
35 class tgWorld;
36 class CPGEquations;
37 class tgNode;
38 
40 {
41 public:
42 
43  tgRBStringInfo(const tgRBString::Config& config);
44 
45  tgRBStringInfo(const tgRBString::Config& config, tgTags tags);
46 
47  tgRBStringInfo(const tgRBString::Config& config, const tgPair& pair);
48 
49  virtual ~tgRBStringInfo()
50  {}
51 
56  {
57  return new tgRBStringInfo(m_config, pair);
58  }
59 
60  // Anything to do here?
61  void initConnector(tgWorld& world) {}
62 
63  virtual tgModel* createModel(tgWorld& world);
64 
65  const int getSegments() const
66  {
67  return m_config.m_segments;
68  }
69 
70  // This isn't called by anything. Will we really need it for connectors?
71  double getMass()
72  {
73  // @todo: add up the rigid bodies
74  return 0;
75  }
76 
77 protected:
78 
79  void buildModel(tgWorld& world, tgModel* thisString);
80 
81  tgRBString::Config m_config;
82 
83 };
84 
85 #endif // TG_RB_STRING_INFO_H
Definition of class tgConnectorInfo.
Definition: tgPair.h:47
Definition: tgNode.h:43
Contains the definition of class tgRBString. A string with small rigid bodies to create contact dynam...
virtual tgConnectorInfo * createConnectorInfo(const tgPair &pair)
Definition: tgTags.h:43