Jafar
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | Private Attributes
jafar::ddfsimu::AccelMotion Class Reference

Simulate an accelerated motion. More...


Detailed Description

Simulate an accelerated motion.

Author:
Pierre Lamon

Definition at line 34 of file accelmotion.hpp.

#include <accelmotion.hpp>

Inheritance diagram for jafar::ddfsimu::AccelMotion:
Inheritance graph
[legend]

List of all members.

Public Types

enum  SAMPLE_TYPE { SAMPLE_ACC = 1 << 0, SAMPLE_VEL = 1 << 1, SAMPLE_POS = 1 << 2 }
enum  SV_IDX_TYPE {
  SV_X, SV_VX, SV_AX, SV_Y,
  SV_VY, SV_AY, SV_Z, SV_VZ,
  SV_AZ, SV_BAX, SV_BAY, SV_BAZ
}

Public Member Functions

 AccelMotion (std::string name)
std::string const & GetName () const
void GetName (char *name) const
void * GetInstance ()
void SetInitialConditions (VEC const &v0, VEC const &p0)
void GetInitialPosition (VEC &p) const
void GetInitialVelocity (VEC &v) const
VEC const & GetInitialPosition () const
VEC const & GetInitialVelocity () const
VEC GetFinalPosition ()
unsigned short GetProfileSize () const
VEC const & GetAccel (unsigned short idx) const
AccProfileItem const * GetAccelItem (unsigned short idx) const
void AddToAccelProfile (AccProfileItem const &item)
void AddToAccelProfile (double t, VEC const &a)
void SortAccelProfile ()
bool IsProfileSorted () const
void ComputeVelocityAndPos (double time, VEC &velocity, VEC &position) const
void PrintInitialConditions () const
void PrintAccelProfile ()
double FillArrayWithSamples (float *pArray, unsigned short samples, SAMPLE_TYPE type, AXIS_TYPE axis)
VEC GetAccelAtTimeT (double t) const
VEC GetInitialAccel () const
VEC ComputePositionAtTimeT (double t) const
double GetMaxTime () const
double GetMinTimeSec () const
time GetMinTime () const
double GetTimeSpan () const
virtual double GetMinTimeSlice () const
virtual unsigned short GetMinSamplesNr () const
void ComputeExtremeValues ()
bool IsExtremeComputed ()
ExtValStruct GetExtremeValues (AXIS_TYPE type)
ExtValStruct GetExtremeValues (AccelMotion &r, AXIS_TYPE type=AXIS_TYPE(AXIS_Z+1))
void PrintExtreme (AXIS_TYPE type)
void PrintExtreme (ExtValStruct &extval)
void FillProfile (unsigned short buf_size, double data[][4])
void ClearProfile ()
void GdheTrajCmd (unsigned short nbpoints, std::string *str)
unsigned short FillGdheTrajectory (unsigned short nbpoints, float traj[][3], bool purge=true, double time_span=-1.0)
void FillState (VEC const &pos, VEC const &vel, VEC const &acc, VEC &state)
void FillState (time const &t, VEC &state)
void FillStateVelocity (time const &t, VEC &state)

Protected Attributes

VEC m_vel_init
VEC m_pos_init

Private Member Functions

void ComputeVelAndConstAcc (double const time, VEC const &a, VEC const &v_init, VEC const &p_init, VEC *vel, VEC *pos=NULL)
VEC ComputeVelocityAtTimeT (AccProfileItem const &acc_t, AccProfileItem const &acc_t1, VEC const &v0, double T) const
VEC ComputePositionAtTimeT (AccProfileItem const &acc_t, AccProfileItem const &acc_t1, VEC const &v0, VEC const &x0, double T) const
void SetVarVECtor (SAMPLE_TYPE type, double x, double y, double z)
void ToggleExtComputedFlag (bool val)
void UpdateMinMax (ExtValStruct *pextval, VEC &accel, VEC &vel, VEC &pos)

Private Attributes

AccelProfile m_accel_profile
bool m_profile_sorted
ExtValStruct m_extval [4]
std::string m_name

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Wed Oct 15 2014 00:37:33 for Jafar by doxygen 1.7.6.1
LAAS-CNRS