NTRT Simulator
Version: Master
|
#include <SuperBallModel.h>
Public Member Functions | |
SuperBallModel (tgWorld &world) | |
virtual | ~SuperBallModel () |
virtual void | setup (tgWorld &world) |
void | teardown () |
virtual void | step (double dt) |
virtual void | onVisit (tgModelVisitor &r) |
const std::vector < tgBasicActuator * > & | getAllMuscles () const |
std::vector< double > | getSensorInfo () |
std::vector< btVector3 > | getSensorPositions () |
std::vector< btVector3 > | getSensorOrientations () |
btVector3 | getCenter () |
btDynamicsWorld * | getWorld () |
void | fillNodeNumberingSchema (int a, int b, int c) |
void | fillNodeMappingFromBasePoints (int a, int b, int c) |
void | fillMusclesPerNode () |
const std::vector< std::vector < tgBasicActuator * > > & | getMusclesPerNodes () const |
int | getOtherEndOfTheRod (int i) |
void | attach (tgObserver< SuperBallModel > *pObserver) |
void | notifyStep (double dt) |
void | notifySetup () |
void | notifyTeardown () |
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 |
const std::vector < abstractMarker > & | getMarkers () const |
void | addMarker (abstractMarker a) |
virtual std::vector < tgSenseable * > | getSenseableDescendants () 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 |
Public Attributes | |
int | nodeMapping [13] |
int | nodeMappingReverse [13] |
int | muscleConnections [13][13] |
std::vector< std::vector < tgBasicActuator * > > | musclesPerNodes |
Class that creates the six strut "superball" model using tgcreator
Definition at line 45 of file SuperBallModel.h.
SuperBallModel::SuperBallModel | ( | tgWorld & | world | ) |
The only constructor. Utilizes default constructor of tgModel Configuration parameters are within the .cpp file in this case, not passed in.
Definition at line 114 of file SuperBallModel.cpp.
|
virtual |
Destructor. Deletes controllers, if any were added during setup. Teardown handles everything else.
Definition at line 119 of file SuperBallModel.cpp.
|
inherited |
Add a sub-model to this model. The model takes ownership of the child sub-model and is responsible for deallocating it.
[in,out] | pChild | a pointer to a sub-model |
std::invalid_argument | is pChild is NULL, this object, or already a descendant |
Definition at line 122 of file tgModel.cpp.
|
inherited |
Attach an observer to the subject of the observer.
[in,out] | pObserver | a pointer to an observer for the subject; do nothing if the pointer is NULL |
|
inlineinherited |
Get a vector of descendants sorted by type and a tagsearch. Useful for pulling out muscle groups, or similar.
[in] | tagSearch,a | tagSearch that contains the desired tags |
Definition at line 128 of file tgModel.h.
|
inlineinherited |
Get a vector of descendants sorted by type and a tagsearch. Useful for pulling out muscle groups, or similar.
[in] | tagSearch,a | std::string& that contains the desired tags |
Definition at line 141 of file tgModel.h.
const std::vector< tgBasicActuator * > & SuperBallModel::getAllMuscles | ( | ) | const |
Return a vector of all muscles for the controllers to work with.
Definition at line 349 of file SuperBallModel.cpp.
|
inherited |
Return a std::vector of const pointers to all sub-models.
Definition at line 170 of file tgModel.cpp.
|
virtualinherited |
From tgSenseable: need to return all the children of this class. Since tgModels are tgSenseables, just return getDescendants().
For tgSenseable: just return the results of getDescendants here. This should be OK, since a vector of tgModel* is also a vector of tgSenseable*.
Reimplemented from tgSenseable.
Definition at line 191 of file tgModel.cpp.
std::vector< double > SuperBallModel::getSensorInfo | ( | ) |
Returns the values from all the 12 height sensors.
Definition at line 203 of file SuperBallModel.cpp.
std::vector< btVector3 > SuperBallModel::getSensorOrientations | ( | ) |
Returns the vector from the center of the robot to the sensor.
Definition at line 393 of file SuperBallModel.cpp.
std::vector< btVector3 > SuperBallModel::getSensorPositions | ( | ) |
Returns the positions of the sensors
Definition at line 383 of file SuperBallModel.cpp.
|
inherited |
Call tgObserver<T>::onSetup() on all observers in the order in which they were attached.
|
inherited |
Call tgObserver<T>::onStep() on all observers in the order in which they were attached.
[in] | dt | the number of seconds since the previous call; do nothing if not positive |
|
inherited |
Call tgObserver<T>::onTeardown() on all observers in the order in which they were attached.
|
virtual |
Receives a tgModelVisitor and dispatches itself into the visitor's "render" function. This model will go to the default tgModel function, which does nothing.
[in] | r | - a tgModelVisitor which will pass this model back to itself |
Definition at line 344 of file SuperBallModel.cpp.
|
virtualinherited |
Call tgModelVisitor::render() on self and all descendants.
[in,out] | r | a reference to a tgModelVisitor |
Reimplemented in tgCompressionSpringActuator, tgUnidirComprSprActuator, ConnectorTestModel, BuildTestModel, tgKinematicActuator, tgSphere, tgBox, tgRod, ContactCableDemo, tgBasicActuator, hillyMuscleNP, simpleMuscleNP, tgBoxMoreAnchors, tgBaseRigid, and tgGhostModel.
Definition at line 107 of file tgModel.cpp.
|
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.
[in] | world | - the world we're building into |
Reimplemented from tgModel.
Definition at line 267 of file SuperBallModel.cpp.
|
virtual |
Step the model, its children. Notifies controllers of step.
[in] | dt,the | timestep. Must be positive. |
Reimplemented from tgModel.
Definition at line 329 of file SuperBallModel.cpp.
|
virtual |
Undoes setup. Deletes child models. Called automatically on reset and end of simulation. Notifies controllers of teardown
Reimplemented from tgModel.
Definition at line 354 of file SuperBallModel.cpp.
|
virtualinherited |
Returns the tag names of this model and its children
[in] | prefix | a string to append to |
Definition at line 152 of file tgModel.cpp.