VR-Link C# API Documentation
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros Pages
List of all members | Public Member Functions | Static Public Member Functions | Properties | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes
makVrl.Smoother Class Reference
+ Inheritance diagram for makVrl.Smoother:
+ Collaboration diagram for makVrl.Smoother:

Public Member Functions

 Smoother ()
override void setLocation (Vector3d loc, double timeNow)
override Vector3d approxLocation (double curTime)
override void setVelocity (Vector3f vel, double curTime)
override Vector3f approxVelocity (double curTime)
override void setOrientation (TaitBryan ori, double t)
override TaitBryan approxEuler (double curTime)
override void setAcceleration (Vector3f acc, double curTime)
override Vector3f acceleration (double t)
override void setRotationalVelocity (Vector3f bodyRates, double curTime)
override Vector3f rotationalVelocity (double t)
override Matrix3d approxBodyToGeoc (double t)
virtual void setSmoothPeriod (double t)
virtual double smoothPeriod ()
Vector3d smoothPosition (double t)
Vector3f smoothVelocity (double t)
Matrix3d smoothBodyToGeoc (double t)
virtual void resetPosSmoother (double t)
virtual void resetOriSmoother (double t)
- Public Member Functions inherited from makVrl.DeadReckoner
 DeadReckoner ()
virtual bool isRotational ()
virtual Vector3f deadReckonedVelocity (double curTime)
virtual Vector3d deadReckonedLocation (double curTime)
virtual Matrix3d deadReckonedBodyToGeoc (double curTime)
virtual TaitBryan deadReckonedEuler (double curTime)
virtual void deadReckonLoc (double curTime)
virtual void deadReckonBodyToGeoc (double curTime)
virtual void deadReckonEuler (double curTime)
virtual void deadReckonOrientation (double dt, Matrix3d old_b2w, Vector3f drr, double drrTheta, out Matrix3d new_b2w)
virtual void deadReckonPosition (double dt, Vector3d oldPos, Vector3f oldVel, Vector3f accel, ref Vector3f newVel, ref Vector3d newPos)

Static Public Member Functions

static void setMasterSmoothEnable (bool onOff)
static bool masterSmoothEnable ()
- Static Public Member Functions inherited from makVrl.DeadReckoner
static bool isRotational (DeadReckonTypes algorithm)
static void deadReckonPosition (double dt, DeadReckonTypes algorithm, Vector3d oldPos, Vector3d oldVel, Vector3d accel, ref Vector3d newVel, ref Vector3d newPos)
static void deadReckonOrientation (double dt, DeadReckonTypes algorithm, Matrix3d old_b2w, Vector3f drr, double drrTheta, out Matrix3d new_b2w)

Properties

Vector3d lastDrPos [get, set]
Vector3d smoothPos [get, set]
Vector3f lastDrVel [get, set]
Vector3f smoothVel [get, set]
Vector3d X1 [get, set]
Vector3f V1 [get, set]
Vector3f A1 [get, set]
Vector3f A2 [get, set]
double tau [get, set]
double tau2 [get, set]
double tau2Inv [get, set]
double tauSq4 [get, set]
double tauSq4Inv [get, set]
double lastSetTime [get, set]
double postSmoothTime [get, set]
double halfSmoothTime [get, set]
double lastSetOriTime [get, set]
double oriTau [get, set]
double postSmoothOriTime [get, set]
double lastSmoothOriTime [get, set]
double lastSmoothTbTime [get, set]
double smoothRotRate [get, set]
Matrix3d lastDrOri [get, set]
Matrix3d smoothOri [get, set]
Matrix3d smoothOmegaMx [get, set]
Vector3d smoothRotAxis [get, set]
TaitBryan smoothTb [get, set]
bool isDirty [get, set]
bool oriIsDirty [get, set]
bool tbIsDirty [get, set]
bool smoothEnable [get, set]
- Properties inherited from makVrl.DeadReckoner
virtual Vector3d locationAtTimeOfValidity [get, set]
virtual Vector3f velocityAtTimeOfValidity [get, set]
virtual double timeOfLastLocationValidity [get, set]
virtual double timeOfLastOrientationValidity [get, set]
Matrix3d bodyToGeocAtTimeOfValidity [get, set]
TaitBryan orientationAtTimeOfValidity [get, set]
virtual Vector3d DRLoc [get, set]
virtual Vector3f DRVel [get, set]
virtual double DRPosTime [get, set]
Matrix3d DRBodyToGeoc [get, set]
virtual double DRBodyToGeocTime [get, set]
virtual TaitBryan DREuler [get, set]
virtual double DREulerTime [get, set]
virtual Vector3f accel [get, set]
virtual Vector3f rotVel [get, set]
virtual DeadReckonTypes algorithm [get, set]
virtual double DRRTheta [get, set]
virtual Vector3f DRRVec [get, set]
- Properties inherited from makVrl.Approximator
DeadReckonTypes algorithm [get, set]
double timeOfLastLocationValidity [get, set]
double timeOfLastOrientationValidity [get, set]
Vector3d locationAtTimeOfValidity [get, set]
Vector3f velocityAtTimeOfValidity [get, set]
TaitBryan orientationAtTimeOfValidity [get, set]

Private Member Functions

void initSmootherParams ()
void initSmoothOriParams ()
void rotMatrixFromRotRatesAndTime (out Matrix3d m, out Matrix3d mo, out Vector3d n, out double w, Vector3f r, double t)
void rotAngleAndAxisFromRotMatrix (Vector3d n, double phi, Matrix3d m)

Static Private Member Functions

static void setDfltSmoothPeriod (double smoothPeriod)
static double dfltSmoothPeriod ()

Private Attributes

Vector3d myLastDrPos
Vector3f myLastDrVel
Vector3d mySmoothPos
Vector3f mySmoothVel
Vector3d myX1
Vector3f myV1
Vector3f myA1
Vector3f myA2
double myTau
double myTau2
double myTau2Inv
double myTauSq4
double myTauSq4Inv
double myLastSetTime
double myPostSmoothTime
double myHalfSmoothTime
double myOriTau
double myLastSetOriTime
double myPostSmoothOriTime
double myLastSmoothOriTime
double myLastSmoothTbTime
double mySmoothRotRate
Matrix3d myLastDrOri
Matrix3d mySmoothOri
Matrix3d mySmoothOmegaMx
Vector3d mySmoothRotAxis
TaitBryan mySmoothTb
bool myIsDirty
bool myOriIsDirty
bool myTbIsDirty
bool mySmoothEnable

Static Private Attributes

static double theTimeTolerance = 1.0E-3
static bool theMasterSmoothEnable = true
static double theDfltSmoothPeriod = 1.0

Additional Inherited Members

- Static Public Attributes inherited from makVrl.DeadReckoner
static int drTick = 0
static int DRVelTick = 0
static int DRAccTick = 0

Constructor & Destructor Documentation

makVrl.Smoother.Smoother ( )
inline

Member Function Documentation

override Vector3f makVrl.Smoother.acceleration ( double  t)
inlinevirtual

Reimplemented from makVrl.DeadReckoner.

override Matrix3d makVrl.Smoother.approxBodyToGeoc ( double  t)
inlinevirtual
override TaitBryan makVrl.Smoother.approxEuler ( double  curTime)
inlinevirtual
override Vector3d makVrl.Smoother.approxLocation ( double  curTime)
inlinevirtual
override Vector3f makVrl.Smoother.approxVelocity ( double  curTime)
inlinevirtual
static double makVrl.Smoother.dfltSmoothPeriod ( )
inlinestaticprivate
void makVrl.Smoother.initSmootherParams ( )
inlineprivate
void makVrl.Smoother.initSmoothOriParams ( )
inlineprivate
static bool makVrl.Smoother.masterSmoothEnable ( )
inlinestatic
virtual void makVrl.Smoother.resetOriSmoother ( double  t)
inlinevirtual
virtual void makVrl.Smoother.resetPosSmoother ( double  t)
inlinevirtual
void makVrl.Smoother.rotAngleAndAxisFromRotMatrix ( Vector3d  n,
double  phi,
Matrix3d  m 
)
inlineprivate
override Vector3f makVrl.Smoother.rotationalVelocity ( double  t)
inlinevirtual

Reimplemented from makVrl.DeadReckoner.

void makVrl.Smoother.rotMatrixFromRotRatesAndTime ( out Matrix3d  m,
out Matrix3d  mo,
out Vector3d  n,
out double  w,
Vector3f  r,
double  t 
)
inlineprivate
override void makVrl.Smoother.setAcceleration ( Vector3f  acc,
double  curTime 
)
inlinevirtual
static void makVrl.Smoother.setDfltSmoothPeriod ( double  smoothPeriod)
inlinestaticprivate
override void makVrl.Smoother.setLocation ( Vector3d  loc,
double  timeNow 
)
inlinevirtual
static void makVrl.Smoother.setMasterSmoothEnable ( bool  onOff)
inlinestatic
override void makVrl.Smoother.setOrientation ( TaitBryan  ori,
double  t 
)
inlinevirtual
override void makVrl.Smoother.setRotationalVelocity ( Vector3f  bodyRates,
double  curTime 
)
inlinevirtual
virtual void makVrl.Smoother.setSmoothPeriod ( double  t)
inlinevirtual
override void makVrl.Smoother.setVelocity ( Vector3f  vel,
double  curTime 
)
inlinevirtual
Matrix3d makVrl.Smoother.smoothBodyToGeoc ( double  t)
inline
virtual double makVrl.Smoother.smoothPeriod ( )
inlinevirtual
Vector3d makVrl.Smoother.smoothPosition ( double  t)
inline
Vector3f makVrl.Smoother.smoothVelocity ( double  t)
inline

Member Data Documentation

Vector3f makVrl.Smoother.myA1
private
Vector3f makVrl.Smoother.myA2
private
double makVrl.Smoother.myHalfSmoothTime
private
bool makVrl.Smoother.myIsDirty
private
Matrix3d makVrl.Smoother.myLastDrOri
private
Vector3d makVrl.Smoother.myLastDrPos
private
Vector3f makVrl.Smoother.myLastDrVel
private
double makVrl.Smoother.myLastSetOriTime
private
double makVrl.Smoother.myLastSetTime
private
double makVrl.Smoother.myLastSmoothOriTime
private
double makVrl.Smoother.myLastSmoothTbTime
private
bool makVrl.Smoother.myOriIsDirty
private
double makVrl.Smoother.myOriTau
private
double makVrl.Smoother.myPostSmoothOriTime
private
double makVrl.Smoother.myPostSmoothTime
private
bool makVrl.Smoother.mySmoothEnable
private
Matrix3d makVrl.Smoother.mySmoothOmegaMx
private
Matrix3d makVrl.Smoother.mySmoothOri
private
Vector3d makVrl.Smoother.mySmoothPos
private
Vector3d makVrl.Smoother.mySmoothRotAxis
private
double makVrl.Smoother.mySmoothRotRate
private
TaitBryan makVrl.Smoother.mySmoothTb
private
Vector3f makVrl.Smoother.mySmoothVel
private
double makVrl.Smoother.myTau
private
double makVrl.Smoother.myTau2
private
double makVrl.Smoother.myTau2Inv
private
double makVrl.Smoother.myTauSq4
private
double makVrl.Smoother.myTauSq4Inv
private
bool makVrl.Smoother.myTbIsDirty
private
Vector3f makVrl.Smoother.myV1
private
Vector3d makVrl.Smoother.myX1
private
double makVrl.Smoother.theDfltSmoothPeriod = 1.0
staticprivate
bool makVrl.Smoother.theMasterSmoothEnable = true
staticprivate
double makVrl.Smoother.theTimeTolerance = 1.0E-3
staticprivate

Property Documentation

Vector3f makVrl.Smoother.A1
getset
Vector3f makVrl.Smoother.A2
getset
double makVrl.Smoother.halfSmoothTime
getset
bool makVrl.Smoother.isDirty
getset
Matrix3d makVrl.Smoother.lastDrOri
getset
Vector3d makVrl.Smoother.lastDrPos
getset
Vector3f makVrl.Smoother.lastDrVel
getset
double makVrl.Smoother.lastSetOriTime
getset
double makVrl.Smoother.lastSetTime
getset
double makVrl.Smoother.lastSmoothOriTime
getset
double makVrl.Smoother.lastSmoothTbTime
getset
bool makVrl.Smoother.oriIsDirty
getset
double makVrl.Smoother.oriTau
getset
double makVrl.Smoother.postSmoothOriTime
getset
double makVrl.Smoother.postSmoothTime
getset
bool makVrl.Smoother.smoothEnable
getset
Matrix3d makVrl.Smoother.smoothOmegaMx
getset
Matrix3d makVrl.Smoother.smoothOri
getset
Vector3d makVrl.Smoother.smoothPos
getset
Vector3d makVrl.Smoother.smoothRotAxis
getset
double makVrl.Smoother.smoothRotRate
getset
TaitBryan makVrl.Smoother.smoothTb
getset
Vector3f makVrl.Smoother.smoothVel
getset
double makVrl.Smoother.tau
getset
double makVrl.Smoother.tau2
getset
double makVrl.Smoother.tau2Inv
getset
double makVrl.Smoother.tauSq4
getset
double makVrl.Smoother.tauSq4Inv
getset
bool makVrl.Smoother.tbIsDirty
getset
Vector3f makVrl.Smoother.V1
getset
Vector3d makVrl.Smoother.X1
getset

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

Document ID: Generated on Fri Dec 2 02:42:08 EST 2016 from SVN revision 171416
Copyright © 2005-2016 VT MÄK. All Rights Reserved (www.mak.com)