#include <NestedBoxTestModel.h>
The NestedBoxTestModel implements a tensegrity with rigid tetrahedrons and six strings between segments, also known as Tetraspine.
Definition at line 46 of file NestedBoxTestModel.h.
NestedBoxTestModel::NestedBoxTestModel |
( |
size_t |
segments | ) |
|
The only constructor. The model details are instantiated once setup is called typically when the model is added to a simulation.
- Parameters
-
[in] | segments,a | positive integer dictating how many rigid segments will be constructed. |
Definition at line 50 of file NestedBoxTestModel.cpp.
virtual NestedBoxTestModel::~NestedBoxTestModel |
( |
| ) |
|
|
inlinevirtual |
void tgModel::addChild |
( |
tgModel * |
pChild | ) |
|
|
inherited |
Add a sub-model to this model. The model takes ownership of the child sub-model and is responsible for deallocating it.
- Parameters
-
[in,out] | pChild | a pointer to a sub-model |
- Exceptions
-
std::invalid_argument | is pChild is NULL, this object, or already a descendant |
- Todo:
- Make sure that every child appears no more than once in the tree.
Definition at line 124 of file tgModel.cpp.
Attach an observer to the subject of the observer.
- Parameters
-
[in,out] | pObserver | a pointer to an observer for the subject; do nothing if the pointer is NULL |
template<typename T >
std::vector<T*> tgModel::find |
( |
const tgTagSearch & |
tagSearch | ) |
|
|
inlineinherited |
Get a vector of descendants sorted by type and a tagsearch. Useful for pulling out muscle groups, or similar.
- Parameters
-
[in] | tagSearch,a | tagSearch that contains the desired tags |
- Returns
- a std::vector of pointers to members that match the tag search and typename T
Definition at line 125 of file tgModel.h.
template<typename T >
std::vector<T*> tgModel::find |
( |
const std::string & |
tagSearch | ) |
|
|
inlineinherited |
Get a vector of descendants sorted by type and a tagsearch. Useful for pulling out muscle groups, or similar.
- Parameters
-
[in] | tagSearch,a | std::string& that contains the desired tags |
- Returns
- a std::vector of pointers to members that match the tag search and typename T
Definition at line 138 of file tgModel.h.
std::vector< tgModel * > tgModel::getDescendants |
( |
| ) |
const |
|
inherited |
Return a std::vector of const pointers to all sub-models.
- Todo:
- examine whether this should be public, and perhaps create a read only version
- Returns
- a std::vector of const pointers all sub-models.
- Todo:
- Unnecessary copying can be avoided by pasing the result collection in the recursive step.
Definition at line 172 of file tgModel.cpp.
const std::vector< tgSpringCableActuator * > & NestedBoxTestModel::getMuscles |
( |
const std::string & |
key | ) |
const |
Get a group of muscles according to the provided key. Groups are populated during setup.
- Parameters
-
[in] | key | - a std:string* used as a key to a std::map from a string to a vector of muscles |
- Returns
- a std::vector of pointers to the muscles found by the key
Definition at line 210 of file NestedBoxTestModel.cpp.
size_t NestedBoxTestModel::getSegments |
( |
| ) |
const |
|
inline |
Return a std::size_t indicating the number of segments in the tetraSpine.
- Returns
- a std::size_t with the value of m_segments
Definition at line 99 of file NestedBoxTestModel.h.
Call tgObserver<T>::onStep() on all observers in the order in which they were attached.
- Parameters
-
[in] | dt | the number of seconds since the previous call; do nothing if not positive |
Call tgModelVisitor::render() on self and all descendants.
- Parameters
-
Reimplemented in ConnectorTestModel, BuildTestModel, tgKinematicActuator, tgSphere, tgBox, tgRod, MuscleNPCons, tgBasicActuator, hillyMuscleNP, simpleMuscleNP, tgBaseRigid, and tgGhostModel.
Definition at line 107 of file tgModel.cpp.
void NestedBoxTestModel::setup |
( |
tgWorld & |
world | ) |
|
|
virtual |
Create the model. Place the rods and strings into the world that is passed into the simulation. This is triggered automatically when the model is added to the simulation, when tgModel::setup(world) is called (if this model is a child), and when reset is called. Also notifies controllers of setup.
- Parameters
-
[in] | world | - the world we're building into |
Reimplemented from tgModel.
Definition at line 140 of file NestedBoxTestModel.cpp.
void NestedBoxTestModel::step |
( |
const double |
dt | ) |
|
|
virtual |
Step the model, its children. Notifies controllers of step.
- Parameters
-
[in] | dt,the | timestep. Must be positive. |
Reimplemented from tgModel.
Definition at line 194 of file NestedBoxTestModel.cpp.
void tgModel::teardown |
( |
| ) |
|
|
virtualinherited |
Deletes the children (undoes setup)
Reimplemented in tgSpringCableActuator, ContactTestModel, tgKinematicActuator, tgSphere, tgBox, tgRod, tgCraterDeep, Wall, CraterDeep, tgCraterShallow, Crater, T6Model, pidTestRig, PrismModel, SuperBallModel, MuscleNPCons, tsTestRig, PrismModel, tgPrismatic, T6Model, T12SuperBallPayload, CaterpillarModel, T6SphereModel, T6Model, T6Model, Escape_T6Model, EscapeModel, T6Model, hillyMuscleNP, simpleMuscleNP, tgBasicActuator, TetraSpineStaticModel_hf, BaseSpineModelLearning, tgGhostModel, TetraSpineCollisions, tgBaseRigid, TetraSpineStaticModel, TetraSpineLearningModel, FlemonsSpineModelContact, FlemonsSpineModelLearningCL, FlemonsSpineModelLearning, and RibModel.
Definition at line 68 of file tgModel.cpp.
std::string tgModel::toString |
( |
std::string |
prefix = "" | ) |
const |
|
virtualinherited |
Returns the tag names of this model and its children
- Parameters
-
[in] | prefix | a string to append to |
- Returns
- the original string with this model and its children's tags appended
Definition at line 154 of file tgModel.cpp.
The documentation for this class was generated from the following files: