NTRT Simulator
Version: Master
|
#include <tgBoxMoreAnchors.h>
Public Member Functions | |
tgBoxMoreAnchors (btRigidBody *pRigidBody, const tgTags &tags, const double length) | |
virtual | ~tgBoxMoreAnchors () |
virtual void | onVisit (const tgModelVisitor &v) const |
double | length () const |
virtual void | teardown () |
virtual double | mass () const |
virtual btVector3 | centerOfMass () const |
virtual btRigidBody * | getPRigidBody () |
virtual btVector3 | orientation () const |
virtual void | setup (tgWorld &world) |
virtual void | step (double dt) |
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 |
Protected Attributes | |
btRigidBody * | m_pRigidBody |
const double | m_mass |
This class is a child of tgBox, with nothing changed. The purpose of this class is to force the use of tgBoxMoreAnchorsInfo, since the code could potentially get messy if a regular tgBox was able to be created with a tgBoxMoreAnchorsInfo. More things may be added if needed? But for now, use it exactly the same as tgBox, just with the different Info.
Definition at line 44 of file tgBoxMoreAnchors.h.
tgBoxMoreAnchors::tgBoxMoreAnchors | ( | btRigidBody * | pRigidBody, |
const tgTags & | tags, | ||
const double | length | ||
) |
Use the config struct from tgBox. Only the one constructor (like tgBox.)
The constructor for this class will just call the constructor for the parent. However, we also need to assign m_length for this class too. See the .h file for a to-do about this use of private m_length.
Definition at line 41 of file tgBoxMoreAnchors.cpp.
|
virtual |
A class with a virtual memeber function requires a virtual destructor.
Definition at line 59 of file tgBoxMoreAnchors.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.
|
virtualinherited |
Return the center of mass of the rod, a vector in 3-space.
Definition at line 74 of file tgBaseRigid.cpp.
|
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.
|
inherited |
Return a std::vector of const pointers to all sub-models.
Definition at line 170 of file tgModel.cpp.
|
inlinevirtualinherited |
Getter for rigid body
Definition at line 76 of file tgBaseRigid.h.
|
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.
|
inline |
Since m_length is a private variable, it needs to be stored in this class and returned from here. : this is messy! Two copies of m_length are stored: one in the parent, and one in this class. Even though we'll make them the same, this is BAD, should do something like (for example) make length protected in the parent.
Definition at line 75 of file tgBoxMoreAnchors.h.
|
inlinevirtualinherited |
Return the rod's mass in application-dependent units.
Definition at line 65 of file tgBaseRigid.h.
|
virtual |
Almost all the other methods can be inherited directly from tgBox, no need to re-declare or re-define them.
Reimplemented from tgBox.
Definition at line 63 of file tgBoxMoreAnchors.cpp.
|
virtualinherited |
Return the rod's orientation in Euler angles.
Definition at line 87 of file tgBaseRigid.cpp.
|
virtualinherited |
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.
[in] | world | - the tgWorld the models will exist in. |
Reimplemented in TensegrityModel, tgSpringCableActuator, tgCompressionSpringActuator, tgUnidirComprSprActuator, tgKinematicActuator, tgBlockField, tgStairs, DuCTTTestModel, VerticalSpineModel, NestedBoxTestModel, NestedStructureTestModel, tgPrismatic, FlemonsArmModel, T6Model, tgBoxAnchorDebugModel, pidTestRig, CraterDeep, PrismModel, tgCraterDeep, ContactCableDemo, SuperBallModel, Crater, ScarrArmModel, PrismModel, tsTestRig, tgCraterShallow, Wall, T6Model, T12SuperBallPayload, CaterpillarModel, T6SphereModel, BigPuppy, T6Model, T6Model, Escape_T6Model, EscapeModel, SingleRibModel, SingleRibModel, T6Model, hillyMuscleNP, simpleMuscleNP, Hilbert2DModel, tgBasicActuator, BigDoxie, BigDoxieNoFeet, BigDoxieSpirals, MountainGoat, MountainGoatAchilles, MountainGoatFM0, BigPuppySymmetricSpiral2, BigPuppySymmetricSpiral2, BigPuppyNoFeet, BigPuppyRigidFeet, BigPuppySpineOnly, BigPuppySpineOnlyStats, BigPuppySymmetric, BigPuppySymmetricArching, BigPuppySymmetricSpiral1, BigPuppySymmetricSpiral2, BigPuppySymmetricSpiralMetrics, BigPuppySymmetricSpiralSegments, MountainGoatNL2, BigPuppy, BigFoot, BigPuppy, BigPuppy, BigPuppy, ContactTestModel, RBStringTest, BaseQuadModelLearning, BaseSpineModelLearning, VerticalSpineModelCableCollision, TetraSpineStaticModel_hf, StructureTestModel, FlemonsSpineModelGoal, OctahedralComplex, BaseSpineModelGoal, TetraSpineKinematic, TetraSpineGoal, TetraSpineCollisions, ConnectorTestModel, TetraSpineStaticModel, TetraSpineLearningModel, BuildTestModel, FlemonsSpineModelContact, FlemonsSpineModelMixed, RibModelMixedContact, FlemonsSpineModelLearningCL, FlemonsSpineModelLearning, and RibModel.
Definition at line 57 of file tgModel.cpp.
|
virtualinherited |
Advance the simulation.
[in] | dt | the number of seconds since the previous call; std::invalid_argument is thrown if dt is not positive |
std::invalid_argument | if dt is not positive |
Reimplemented in TensegrityModel, tgSpringCableActuator, NestedStructureTestModel, tgCompressionSpringActuator, tgUnidirComprSprActuator, ConnectorTestModel, BuildTestModel, ContactTestModel, tgKinematicActuator, StructureTestModel, tgBlockField, tgStairs, DuCTTTestModel, VerticalSpineModel, FlemonsArmModel, T6Model, tgBoxAnchorDebugModel, pidTestRig, PrismModel, NestedBoxTestModel, NestedStructureTestModel, SuperBallModel, ScarrArmModel, PrismModel, tsTestRig, T6Model, T12SuperBallPayload, ContactCableDemo, CaterpillarModel, T6SphereModel, BigPuppy, T6Model, T6Model, Escape_T6Model, EscapeModel, T6Model, tgBasicActuator, CraterDeep, tgCraterDeep, tgPrismatic, hillyMuscleNP, simpleMuscleNP, BigDoxie, BigDoxieNoFeet, BigDoxieSpirals, MountainGoat, MountainGoatAchilles, MountainGoatFM0, BigPuppySymmetricSpiral2, BigPuppySymmetricSpiral2, BigPuppyNoFeet, BigPuppyRigidFeet, BigPuppySpineOnly, BigPuppySpineOnlyStats, BigPuppySymmetric, BigPuppySymmetricArching, BigPuppySymmetricSpiral1, BigPuppySymmetricSpiral2, BigPuppySymmetricSpiralMetrics, BigPuppySymmetricSpiralSegments, MountainGoatNL2, Crater, tgCraterShallow, Wall, BigPuppy, BigFoot, BigPuppy, BigPuppy, BigPuppy, RBStringTest, BaseQuadModelLearning, BaseSpineModelLearning, TetraSpineStaticModel_hf, FlemonsSpineModelGoal, VerticalSpineModelCableCollision, OctahedralComplex, BaseSpineModelGoal, TetraSpineKinematic, TetraSpineGoal, TetraSpineCollisions, TetraSpineStaticModel, TetraSpineLearningModel, FlemonsSpineModelContact, FlemonsSpineModelMixed, RibModelMixedContact, FlemonsSpineModelLearningCL, FlemonsSpineModelLearning, and RibModel.
Definition at line 84 of file tgModel.cpp.
|
virtualinherited |
Sets the btRigidBody to NULL
Reimplemented from tgBaseRigid.
Definition at line 85 of file tgBox.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.
|
protectedinherited |
The rod's mass. The units are application dependent.
Definition at line 105 of file tgBaseRigid.h.
|
protectedinherited |
The Bullet Physics implementation of the rod.
Definition at line 102 of file tgBaseRigid.h.