|
| TemplateDegreeOfFreedomPtr ()=default |
| Default constructor. More...
|
|
| TemplateDegreeOfFreedomPtr (DegreeOfFreedomT *_ptr) |
| Typical constructor. More...
|
|
template<class OtherDegreeOfFreedomT , class OtherBodyNodeT > |
| TemplateDegreeOfFreedomPtr (const TemplateDegreeOfFreedomPtr< OtherDegreeOfFreedomT, OtherBodyNodeT > &_dofp) |
| Constructor that takes in a strong DegreeOfFreedomPtrs. More...
|
|
TemplateDegreeOfFreedomPtr & | operator= (DegreeOfFreedomT *_ptr) |
| Assignment operator. More...
|
|
template<class OtherDegreeOfFreedomT , class OtherBodyNodeT > |
TemplateDegreeOfFreedomPtr & | operator= (const TemplateDegreeOfFreedomPtr< OtherDegreeOfFreedomT, OtherBodyNodeT > &_dofp) |
| Assignment operator for DegreeOfFreedomPtrs. More...
|
|
| operator DegreeOfFreedomT * () const |
| Implicit conversion. More...
|
|
DegreeOfFreedomT & | operator* () const |
| Dereferencing operator. More...
|
|
DegreeOfFreedomT * | operator-> () const |
| Dereferencing operation. More...
|
|
DegreeOfFreedomT * | get () const |
| Get the raw DegreeOfFreedom pointer. More...
|
|
TemplateBodyNodePtr< BodyNodeT > | getBodyNodePtr () const |
| Get the BodyNode that this DegreeOfFreedomPtr is tied to. More...
|
|
std::size_t | getLocalIndex () const |
| Get the local generalized coordinate index that this DegreeOfFreedomPtr is tied to. More...
|
|
void | set (DegreeOfFreedomT *_ptr) |
| Set the DegreeOfFreedom for this DegreeOfFreedomPtr. More...
|
|
|
template<class OtherDofT , class OtherBodyNodeT > |
bool | operator== (const TemplateDegreeOfFreedomPtr< OtherDofT, OtherBodyNodeT > &_rhs) const |
| Equality. More...
|
|
template<class OtherDofT , class OtherBodyNodeT > |
bool | operator!= (const TemplateDegreeOfFreedomPtr< OtherDofT, OtherBodyNodeT > &_rhs) const |
| Inequality. More...
|
|
template<class OtherDofT , class OtherBodyNodeT > |
bool | operator< (const TemplateDegreeOfFreedomPtr< OtherDofT, OtherBodyNodeT > &_rhs) const |
| Less than. More...
|
|
template<class OtherDofT , class OtherBodyNodeT > |
bool | operator> (const TemplateDegreeOfFreedomPtr< OtherDofT, OtherBodyNodeT > &_rhs) const |
| Greater than. More...
|
|
template<class OtherDofT , class OtherBodyNodeT > |
bool | operator<= (const TemplateDegreeOfFreedomPtr< OtherDofT, OtherBodyNodeT > &_rhs) const |
| Less than or equal to. More...
|
|
template<class OtherDofT , class OtherBodyNodeT > |
bool | operator>= (const TemplateDegreeOfFreedomPtr< OtherDofT, OtherBodyNodeT > &_rhs) const |
| Greater than or equal to. More...
|
|
template<class DegreeOfFreedomT, class BodyNodeT>
class dart::dynamics::TemplateDegreeOfFreedomPtr< DegreeOfFreedomT, BodyNodeT >
TemplateDegreeOfFreedomPtr is a templated class that enables users to create a reference-counting DegreeOfFreedomPtr.
Holding onto a DegreeOfFreedomPtr will ensure that the BodyNode (and by extension, Skeleton) corresponding to a DegreeOfFreedom does not get deleted. However, the DegreeOfFreedom itself will be deleted if the parent Joint of the BodyNode is changed to a Joint type that has a small number of DegreesOfFreedom than the local of the DegreeOfFreedom that this DegreeOfFreedomPtr referred to. In such a case, this will trigger and assertion in debug mode, or have a nullptr value if not in debug mode.