#include <suTrackObjectSet.h>
Inheritance diagram for suTrackObjectSet:

Public Member Functions | |
| suTrackObjectSet () | |
| Construct a default track object set for a specified model. | |
| suTrackObjectSet (const char *aFileName) | |
| Construct a track object set from file. | |
| virtual | ~suTrackObjectSet () |
| Destructor. | |
| suTrackObject * | appendTrackObject (suTrackObject *aObject) |
| Append a track object to the set. | |
| suTrackObject * | setTrackObject (int aIndex, suTrackObject *aObject) |
| Set the track object at an index. | |
| suTrackObject * | getTrackObject (int aIndex) const |
| Get the track object at an index. | |
| void | setModel (rdModel *aModel) |
| Set the model for which the tracking is performed. | |
| rdModel * | getModel () const |
| Get the model for which the tracking is performed. | |
| void | setFunctions (rdFunctionSet &aFuncSet) |
| Set the functions for the track objects. | |
| void | setFunctionsForVelocity (rdFunctionSet &aFuncSet) |
| Set the velocity functions for the track objects. | |
| void | setFunctionsForAcceleration (rdFunctionSet &aFuncSet) |
| Set the acceleration functions for the track objects. | |
| rdArray< double > & | getPositionErrorsLast () |
| Get the last position errors. | |
| rdArray< double > & | getPositionErrors () |
| Get the position errors. | |
| rdArray< double > & | getVelocityErrorsLast () |
| Get the last velocity errors. | |
| rdArray< double > & | getVelocityErrors () |
| Get the velocity errors. | |
| rdArray< double > & | getWeights () |
| Get the array of weights for the desired accelerations. | |
| rdArray< double > & | getDesiredAccelerations () |
| Get the desired accelerations. | |
| rdArray< double > & | getAccelerations () |
| Get the accelerations. | |
| void | recordErrorsAsLastErrors () |
| Record the current position errors of all track objects as the last errors that were achieved during a simulation. | |
| void | computeErrors (double aT) |
| Compute the errors for all track objects. | |
| void | computeDesiredAccelerations (double aT) |
| Compute the desired acceleration(s) for each track object. | |
| void | computeAccelerations () |
| Compute the acceleration(s) for each track object. | |
| void | updateObject (bool aDeep=true) |
| Update this object based on its XML node. | |
| void | updateNode (bool aDeep=true) |
| Update the XML node representing this object. | |
| void | generateNode (IDOM_Element *aParent) |
| Generate an XML node representing this object. | |
Static Public Member Functions | |
| void | RegisterType (const suTrackObject &aObject) |
| Register a supported object type. | |
Protected Attributes | |
| rdObjectArray | _defaultObjects |
| Expandable array of default objects. | |
| rdModel * | _model |
| Model for which the tracking is conducted. | |
| rdArray< double > | _pErrLast |
| Array of last position errors. | |
| rdArray< double > | _pErr |
| Array of position errors. | |
| rdArray< double > | _vErrLast |
| Array of last velocity errors. | |
| rdArray< double > | _vErr |
| Array of velocity errors. | |
| rdArray< double > | _w |
| Array of weights of the desired acceleration. | |
| rdArray< double > | _aDes |
| Array of desired accelerations. | |
| rdArray< double > | _a |
| Array of accelerations. | |
Private Member Functions | |
| void | setNull () |
| Set the data members of this actuator to their null values. | |
| void | constructDefaultObjects () |
| Construct the default objects. | |
Static Private Attributes | |
| rdObjectArray | _ObjectTypes |
| Expandable array of supported object types. | |
|
|
Construct a default track object set for a specified model.
|
|
|
Construct a track object set from file.
|
|
|
Append a track object to the set. This method should always return NULL. If it does not return NULL, it means that an object was already stored at what was thought to be the first empty location.
|
|
|
Compute the acceleration(s) for each track object. The methods rdModel::deriv() or rdModel::computeAccelerations must be called before this method is called for the results to be valid. |
|
|
Compute the desired acceleration(s) for each track object.
|
|
|
Compute the errors for all track objects.
|
|
|
Generate an XML node representing this object.
Reimplemented from rdObject. |
|
|
Get the accelerations.
|
|
|
Get the desired accelerations.
|
|
|
Get the model for which the tracking is performed.
|
|
|
Get the position errors.
|
|
|
Get the last position errors.
|
|
|
Get the track object at an index.
|
|
|
Get the velocity errors.
|
|
|
Get the last velocity errors.
|
|
|
Get the array of weights for the desired accelerations.
|
|
|
Record the current position errors of all track objects as the last errors that were achieved during a simulation. This method assumes that the position errors have already been computed. |
|
|
Register a supported object type. Any object type that is supported can be written to and read from an XML file. The object must have implemented the following methods to be supported: 1) copy constructor (e.g., rdForce::rdForce(const rdForce &aForce)) 2) virtual suTrackObject* copy() const, 3) virtual suTrackObject* copy(IDOM_Element*) const, 4) suTrackObject& operator=() (!! with the appropriate return type), 5) virtual void updateObject(bool aDeep=true), 6) virtual void updateNode(bool aDeep=true), and 7) virtual void generateNode(IDOM_Element *aParent). Because this method is static, registration of object types needs to be done only once per process and an suTrackObjectSet does not need to be instantiated to do so. This method makes a copy of the specified object, so the caller may continue to use the spacified object for whatever purpose.
|
|
|
Set the functions for the track objects. Functions are set based on the correspondence of the function and the track object. For example, a track object with the name "x" will search for a function or functions with the name "x". For track objects that require 3 functions, such as suTrackPoint objects, the assumption is that there will be three consecutive functions named "x" in the function set. If the correct number of functions is not found, the track object is disabled.
|
|
|
Set the acceleration functions for the track objects. Functions are set based on the correspondence of the function and the track object. For example, a track object with the name "x" will search for a function or functions with the name "x". For track objects that require 3 functions, such as suTrackPoint objects, the assumption is that there will be three consecutive functions named "x" in the function set. If the correct number of functions is not found, the track object is disabled.
|
|
|
Set the velocity functions for the track objects. Functions are set based on the correspondence of the function and the track object. For example, a track object with the name "x" will search for a function or functions with the name "x". For track objects that require 3 functions, such as suTrackPoint objects, the assumption is that there will be three consecutive functions named "x" in the function set. If the correct number of functions is not found, the track object is disabled.
|
|
|
Set the model for which the tracking is performed. The model is set all suTrackObjects that are currently being managed by this set.
|
|
||||||||||||
|
Set the track object at an index. Sending in NULL for the suTrackObject pointer essentially removes the object at aIndex from the array. Note that the caller is responsible for deleting any objects that are removed from this list in this way. For this reason, the object pointer previously held at aIndex is returned by this method. It is also permissible to send in any positive value for aIndex, and there can be gaps in the array of actuators. However, it is advisible to use appendTrackObject(suTrackObject*) when adding an actutor so the array of actuators remains contiguous.
|
|
|
Update this object based on its XML node.
Reimplemented from rdObjectArray. |
1.3