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