|
| FlemonsSpineModel (int segments) |
|
virtual void | setup (tgWorld &world) |
|
virtual void | step (double dt) |
|
const std::vector< double > | getSegmentCOM (const int n) const |
|
void | changeMuscle (double length, double dt) |
|
const std::vector
< tgLinearString * > | getMuscles (std::string key) |
|
const int | getSegments () const |
|
void | attach (tgObserver< FlemonsSpineModel > *pObserver) |
|
void | notifyStep (double dt) |
|
void | notifySetup () |
|
void | notifyTeardown () |
|
virtual void | teardown () |
|
virtual void | onVisit (const tgModelVisitor &r) const |
|
void | addChild (tgModel *pChild) |
|
virtual std::string | toString (std::string prefix="") const |
|
template<typename T > |
std::vector< T * > | find (const tgTagSearch &tagSearch) |
|
template<typename T > |
std::vector< T * > | find (const std::string &tagSearch) |
|
std::vector< tgModel * > | getDescendants () const |
|
void | addTags (const std::string &space_separated_tags) |
|
void | addTags (const tgTags &tags) |
|
bool | hasTag (const std::string tag) const |
|
bool | hasAllTags (std::string tags) |
|
bool | hasAnyTags (const std::string tags) |
|
bool | hasNoTags () |
|
tgTags & | getTags () |
|
const tgTags & | getTags () const |
|
void | setTags (tgTags tags) |
|
std::string | getTagStr (std::string delim=" ") const |
|
Definition at line 33 of file FlemonsSpineModel.h.
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 126 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 129 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 142 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 174 of file tgModel.cpp.
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 |
void FlemonsSpineModel::setup |
( |
tgWorld & |
world | ) |
|
|
virtual |
Setup takes a tgWorld and passes it to any children for their own setup functions. All subclasses should call this at the appropriate time (usually end of setup) within their own setup function.
- Parameters
-
[in] | world | - the tgWorld the models will exist in. |
Reimplemented from tgModel.
Definition at line 45 of file FlemonsSpineModel.cpp.
void FlemonsSpineModel::step |
( |
double |
dt | ) |
|
|
virtual |
Advance the simulation.
- Parameters
-
[in] | dt | the number of seconds since the previous call; std::invalid_argument is thrown if dt is not positive |
- Exceptions
-
std::invalid_argument | if dt is not positive |
- Note
- This is not necessarily const for every child.
Reimplemented from tgModel.
Definition at line 167 of file FlemonsSpineModel.cpp.
void tgModel::teardown |
( |
| ) |
|
|
virtualinherited |
Deletes the children (undoes setup)
Reimplemented in tgBaseString, ContactTestModel, tgRod, tgRBString, tgLinearString, PrismModel, T6Model, BaseSpineModelLearning, TetraSpineLearningModel, FlemonsSpineModelLearningCL, FlemonsSpineModelLearning, and RibModel.
Definition at line 73 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 156 of file tgModel.cpp.
The documentation for this class was generated from the following files: