MobilizedBody::Custom Class Reference

#include <MobilizedBody.h>

Inheritance diagram for MobilizedBody::Custom:

MobilizedBody PIMPLHandle MobilizedBody::FunctionBased PseudorotationMobilizer RiboseNu3Mobilizer

List of all members.


Detailed Description

The handle class MobilizedBody::Custom (dataless) and its companion class MobilizedBody::Custom::Implementation can be used together to define new MobilizedBody types with arbitrary properties.

To use it, create a class that extends MobilizedBody::Custom::Implementation. You can then create an instance of it and pass it to the MobilizedBody::Custom constructor:

 MobilizedBody::Custom myMobilizedBody(new MyMobilizedBodyImplementation(args));
 

Alternatively, you can also create a new Handle class which is a subclass of MobilizedBody::Custom and which creates the Implementation itself in its constructors.

 class MyMobilizedBody : public MobilizedBody::Custom {
 public:
   MyMobilizedBody(args) : MobilizedBody::Custom(new MyForceImplementation(args)) {
   }
 }
 

This allows an end user to simply write

 MyMobilizedBody(args);
 

and not worry about implementation classes or creating objects on the heap. If you do this, your MobilizedBody::Custom subclass must not have any data members or virtual methods. If it does, it will not work correctly. Instead, store all data in the Implementation subclass.

Public Member Functions

 Custom (MobilizedBody &parent, Implementation *implementation, const Body &body)
 Custom (MobilizedBody &parent, Implementation *implementation, const Transform &inbFrame, const Body &body, const Transform &outbFrame)
 SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS (Custom, CustomImpl, MobilizedBody)

Protected Member Functions

const ImplementationgetImplementation () const
ImplementationupdImplementation ()

Classes

class  Implementation


Constructor & Destructor Documentation

Custom ( MobilizedBody parent,
Implementation implementation,
const Body body 
) [explicit]

Custom ( MobilizedBody parent,
Implementation implementation,
const Transform inbFrame,
const Body body,
const Transform outbFrame 
) [explicit]


Member Function Documentation

SimTK_INSERT_DERIVED_HANDLE_DECLARATIONS ( Custom  ,
CustomImpl  ,
MobilizedBody   
)

const Implementation& getImplementation (  )  const [protected]

Implementation& updImplementation (  )  [protected]


The documentation for this class was generated from the following file:

Generated on Fri Sep 26 07:44:32 2008 for SimTKcore by  doxygen 1.5.6