|
MULTIBODY SIMULATION SOFTWARE - API documentation |
#include <CHmarker.h>


Markers are auxiliary reference frames which belong to rigid bodies ChBody() , and move together with them. Most often, markers are used as references to build ChLink() constraints between two rigid bodies. The ChMarker objects allow also to user-define a motion law of marker respect to parent ChBody, if needed to represent imposed trajectories etc.
| ChBody* chrono::ChMarker::GetBody | ( | ) |
Gets the address of the parent rigid body.
| void chrono::ChMarker::SetBody | ( | ChBody * | newRB | ) |
Sets the parent rigid body.
| void chrono::ChMarker::Impose_Rel_Coord | ( | Coordsys | m_coord | ) |
Set body-relative coord. and update auxiliary variables Also, current position becomes the 'resting position' coordinates for the current time.
| void chrono::ChMarker::Impose_Abs_Coord | ( | Coordsys | m_coord | ) |
Set absolute coordinates and update auxiliary variables Also, current position becomes the 'resting position' coordinates for the current time.
| Coordsys chrono::ChMarker::GetRest_Coord | ( | ) |
Get the 'resting position' (that is, the position which the marker should have when the x,y,z motion laws are at time=0).
| ChFrameMoving<double>& chrono::ChMarker::GetAbsFrame | ( | ) |
Get reference to the inner 'absolute frame' auxiliary coordinates. This object (coordinates/speeds/accel. of marker expressed in absolute coordinates) is useful for performace reasons. Note! it is updated only after each Update() function.
| Coordsys chrono::ChMarker::GetAbsCoord | ( | ) |
Get the translation and rotation (as a ChCoordsys) of the marker respect to the absolute coordinates.
| Coordsys chrono::ChMarker::GetAbsCoord_dt | ( | ) |
Get the speed of translation and rotation (as a derived ChCoordsys) of the marker respect to the absolute coordinates.
| Coordsys chrono::ChMarker::GetAbsCoord_dtdt | ( | ) |
Get the acceleration of translation and rotation (as a derived ChCoordsys) of the marker respect to the absolute coordinates.
| void chrono::ChMarker::SetAbsCoord | ( | Coordsys | newpos | ) |
Set the translation and rotation (as a ChCoordsys) of the marker respect to the absolute coordinates. NOTE! inner use only, for the moment. Use Impose_Abs_Coord() if needed.
| void chrono::ChMarker::SetAbsCoord_dt | ( | Coordsys | newpos_dt | ) |
Set the speed of translation and rotation (as a ChCoordsys) of the marker respect to the absolute coordinates. NOTE! inner use only, for the moment.
| void chrono::ChMarker::SetAbsCoord_dtdt | ( | Coordsys | newpos_dtdt | ) |
Set the speed of translation and rotation (as a ChCoordsys) of the marker respect to the absolute coordinates. NOTE! inner use only, for the moment.
| Vector chrono::ChMarker::GetAbsWvel | ( | ) |
Get the angular speed respect to absolute coordinates, expressed in absolute coordinates.
| Vector chrono::ChMarker::GetAbsWacc | ( | ) |
Get the angular acceleration respect to absolute coordinates, expressed in absolute coordinates.
| void chrono::ChMarker::SetMotion_X | ( | ChFunction * | m_funct | ) |
Set the imposed motion law, for translation on X body axis.
| void chrono::ChMarker::SetMotion_Y | ( | ChFunction * | m_funct | ) |
Set the imposed motion law, for translation on Y body axis.
| void chrono::ChMarker::SetMotion_Z | ( | ChFunction * | m_funct | ) |
Set the imposed motion law, for translation on Z body axis.
| void chrono::ChMarker::SetMotion_ang | ( | ChFunction * | m_funct | ) |
Set the imposed motion law, for rotation about an axis.
| void chrono::ChMarker::SetMotion_axis | ( | Vector | m_axis | ) |
Set the axis of rotation, if rotation motion law is used.
| ChFunction* chrono::ChMarker::GetMotion_X | ( | ) |
The imposed motion law, for translation on X body axis.
| ChFunction* chrono::ChMarker::GetMotion_Y | ( | ) |
The imposed motion law, for translation on Y body axis.
| ChFunction* chrono::ChMarker::GetMotion_Z | ( | ) |
The imposed motion law, for translation on Z body axis.
| ChFunction* chrono::ChMarker::GetMotion_ang | ( | ) |
The imposed motion law, for rotation about an axis.
| Vector chrono::ChMarker::GetMotion_axis | ( | ) |
Get the axis of rotation, if rotation motion law is used.
| void chrono::ChMarker::SetMotionType | ( | eChMarkerMotion | m_motion | ) |
Sets the way the motion of this marker (if any) is handled (see the eChMarkerMotion enum options).
| eChMarkerMotion chrono::ChMarker::GetMotionType | ( | ) |
Gets the way the motion of this marker (if any) is handled (see the eChMarkerMotion enum options).
| void chrono::ChMarker::UpdateTime | ( | double | mytime | ) |
Updates the time.dependant variables (ex: ChFunction objects which impose the body-relative motion, etc.)
| void chrono::ChMarker::UpdateState | ( | ) |
Given current state, updates auxiliary variables (for example the abs_frame data, containing the absolute pos/speed/acc of the marker.
| void chrono::ChMarker::Update | ( | double | mytime | ) |
Both UpdateTime() and UpdateState() at once.
| void chrono::ChMarker::UpdateExternalGeometry | ( | ) |
Tells to the associated external object ChExternalObject() ,if any, that its 3D shape must be updated in order to syncronize to marker coordinates
| void chrono::ChMarker::UpdatedExternalTime | ( | double | prevtime, | |
| double | mtime | |||
| ) |
Someone (ex. an ChExternalObject() ) may send this message to the marker to tell that time has changed (even if simulation is not running! - so it is different from the usual UpdateTime() -)
Utilities for coordinate transformations
| void chrono::ChMarker::StreamOUT | ( | ChStreamOutAscii & | mstream | ) | [virtual] |
Method to allow serialization of transient data in ascii, as a readable item, for example "chrono::GetLog() << myobject;"
Reimplemented from chrono::ChObj.
| void chrono::ChMarker::StreamIN | ( | ChStreamInBinary & | mstream | ) | [virtual] |
Method to allow deserializing a persistent binary archive (ex: a file) into transient data.
Reimplemented from chrono::ChObj.
| void chrono::ChMarker::StreamOUT | ( | ChStreamOutBinary & | mstream | ) | [virtual] |
Method to allow serializing transient data into a persistent binary archive (ex: a file).
Reimplemented from chrono::ChObj.
CHRONO::ENGINE