![]() |
VR-Link C# API Documentation
|
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 |
|
inline |
References makVrl.Smoother.dfltSmoothPeriod(), makVrl.Smoother.myA1, makVrl.Smoother.myA2, makVrl.Smoother.myHalfSmoothTime, makVrl.Smoother.myIsDirty, makVrl.Smoother.myLastDrOri, makVrl.Smoother.myLastDrPos, makVrl.Smoother.myLastSetOriTime, makVrl.Smoother.myLastSetTime, makVrl.Smoother.myLastSmoothOriTime, makVrl.Smoother.myLastSmoothTbTime, makVrl.Smoother.myOriIsDirty, makVrl.Smoother.myOriTau, makVrl.Smoother.myPostSmoothOriTime, makVrl.Smoother.myPostSmoothTime, makVrl.Smoother.mySmoothEnable, makVrl.Smoother.mySmoothOmegaMx, makVrl.Smoother.mySmoothOri, makVrl.Smoother.mySmoothPos, makVrl.Smoother.mySmoothRotAxis, makVrl.Smoother.mySmoothRotRate, makVrl.Smoother.mySmoothTb, makVrl.Smoother.mySmoothVel, makVrl.Smoother.myTau, makVrl.Smoother.myTau2, makVrl.Smoother.myTau2Inv, makVrl.Smoother.myTauSq4, makVrl.Smoother.myTauSq4Inv, makVrl.Smoother.myTbIsDirty, makVrl.Smoother.myV1, makVrl.Smoother.myX1, and makVrl.Smoother.setSmoothPeriod().
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.Smoother.myLastSetOriTime, makVrl.Smoother.myPostSmoothOriTime, and makVrl.Smoother.smoothBodyToGeoc().
Referenced by makVrl.Smoother.resetOriSmoother().
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.TaitBryan.BodyToRef_to_Euler(), makVrl.DeadReckoner.DREuler, makVrl.Smoother.myLastSetOriTime, makVrl.Smoother.myLastSmoothTbTime, makVrl.Smoother.myPostSmoothOriTime, makVrl.Smoother.mySmoothOri, makVrl.Smoother.mySmoothTb, and makVrl.Smoother.smoothBodyToGeoc().
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.Smoother.myLastSetTime, makVrl.Smoother.myPostSmoothTime, and makVrl.Smoother.smoothPosition().
Referenced by makVrl.Smoother.resetPosSmoother().
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.Smoother.myLastSetTime, makVrl.Smoother.myPostSmoothTime, and makVrl.Smoother.smoothVelocity().
Referenced by makVrl.Smoother.resetPosSmoother().
|
inlinestaticprivate |
References makVrl.Smoother.theDfltSmoothPeriod.
Referenced by makVrl.Smoother.Smoother().
|
inlineprivate |
References makVrl.DeadReckoner.accel, makVrl.DeadReckoner.locationAtTimeOfValidity, makVrl.Smoother.myA1, makVrl.Smoother.myA2, makVrl.Smoother.myHalfSmoothTime, makVrl.Smoother.myIsDirty, makVrl.Smoother.myLastDrPos, makVrl.Smoother.myLastDrVel, makVrl.Smoother.myLastSetTime, makVrl.Smoother.myTau2, makVrl.Smoother.myTau2Inv, makVrl.Smoother.myTauSq4, makVrl.Smoother.myTauSq4Inv, makVrl.Smoother.myV1, makVrl.Smoother.myX1, and makVrl.DeadReckoner.velocityAtTimeOfValidity.
Referenced by makVrl.Smoother.smoothPosition(), and makVrl.Smoother.smoothVelocity().
|
inlineprivate |
References makVrl.DeadReckoner.bodyToGeocAtTimeOfValidity, makVrl.Smoother.myLastDrOri, makVrl.Smoother.myOriIsDirty, makVrl.Smoother.myOriTau, makVrl.Smoother.mySmoothOmegaMx, makVrl.Smoother.mySmoothRotAxis, makVrl.Smoother.mySmoothRotRate, makVrl.Smoother.rotAngleAndAxisFromRotMatrix(), makVrl.Smoother.rotMatrixFromRotRatesAndTime(), makVrl.DeadReckoner.rotVel, and makVrl.Matrix3d.Transpose().
Referenced by makVrl.Smoother.smoothBodyToGeoc().
|
inlinestatic |
References makVrl.Smoother.theMasterSmoothEnable.
Referenced by makVrl.Smoother.resetOriSmoother(), and makVrl.Smoother.resetPosSmoother().
|
inlinevirtual |
References makVrl.Smoother.approxBodyToGeoc(), makVrl.DeadReckoner.DRBodyToGeoc, makVrl.Smoother.masterSmoothEnable(), makVrl.Smoother.myLastDrOri, makVrl.Smoother.myLastSetOriTime, makVrl.Smoother.myOriIsDirty, makVrl.Smoother.myOriTau, makVrl.Smoother.myPostSmoothOriTime, makVrl.Smoother.smoothEnable, makVrl.Smoother.theTimeTolerance, and makVrl.Matrix3d.Zero.
Referenced by makVrl.Smoother.setOrientation(), and makVrl.Smoother.setRotationalVelocity().
|
inlinevirtual |
References makVrl.Smoother.approxLocation(), makVrl.Smoother.approxVelocity(), makVrl.Smoother.masterSmoothEnable(), makVrl.Smoother.myIsDirty, makVrl.Smoother.myLastDrPos, makVrl.Smoother.myLastDrVel, makVrl.Smoother.myLastSetTime, makVrl.Smoother.myPostSmoothTime, makVrl.Smoother.mySmoothPos, makVrl.Smoother.myTau, makVrl.Smoother.smoothEnable, makVrl.Smoother.theTimeTolerance, and makVrl.Vector3d.Zero.
Referenced by makVrl.Smoother.setAcceleration(), makVrl.Smoother.setLocation(), and makVrl.Smoother.setVelocity().
|
inlineprivate |
Referenced by makVrl.Smoother.initSmoothOriParams().
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
|
inlineprivate |
References makVrl.Vector3f.Length.
Referenced by makVrl.Smoother.initSmoothOriParams().
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.Smoother.resetPosSmoother().
|
inlinestaticprivate |
References makVrl.Smoother.smoothPeriod(), and makVrl.Smoother.theDfltSmoothPeriod.
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.Smoother.resetPosSmoother().
|
inlinestatic |
References makVrl.Smoother.theMasterSmoothEnable.
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.Smoother.resetOriSmoother().
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.Smoother.resetOriSmoother().
|
inlinevirtual |
References makVrl.Smoother.myTau, makVrl.Smoother.myTau2, makVrl.Smoother.myTau2Inv, makVrl.Smoother.myTauSq4, and makVrl.Smoother.myTauSq4Inv.
Referenced by makVrl.Smoother.Smoother().
|
inlinevirtual |
Reimplemented from makVrl.DeadReckoner.
References makVrl.Smoother.resetPosSmoother().
|
inline |
References makVrl.Smoother.initSmoothOriParams(), makVrl.Smoother.myLastDrOri, makVrl.Smoother.myLastSetOriTime, makVrl.Smoother.myLastSmoothOriTime, makVrl.Smoother.myOriIsDirty, makVrl.Smoother.mySmoothOmegaMx, makVrl.Smoother.mySmoothOri, makVrl.Smoother.mySmoothRotAxis, and makVrl.Smoother.mySmoothRotRate.
Referenced by makVrl.Smoother.approxBodyToGeoc(), and makVrl.Smoother.approxEuler().
|
inlinevirtual |
References makVrl.Smoother.myTau.
Referenced by makVrl.Smoother.setDfltSmoothPeriod().
|
inline |
References makVrl.Smoother.initSmootherParams(), makVrl.Smoother.isDirty, makVrl.Smoother.myA1, makVrl.Smoother.myA2, makVrl.Smoother.myHalfSmoothTime, makVrl.Smoother.myLastDrPos, makVrl.Smoother.myLastDrVel, makVrl.Smoother.myLastSetTime, makVrl.Smoother.mySmoothPos, makVrl.Smoother.myV1, and makVrl.Smoother.myX1.
Referenced by makVrl.Smoother.approxLocation().
|
inline |
References makVrl.Smoother.initSmootherParams(), makVrl.Smoother.isDirty, makVrl.Smoother.myA1, makVrl.Smoother.myA2, makVrl.Smoother.myHalfSmoothTime, makVrl.Smoother.myLastDrVel, makVrl.Smoother.myLastSetTime, makVrl.Smoother.mySmoothVel, and makVrl.Smoother.myV1.
Referenced by makVrl.Smoother.approxVelocity().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by makVrl.Smoother.smoothBodyToGeoc(), and makVrl.Smoother.Smoother().
|
private |
Referenced by makVrl.Smoother.approxEuler(), and makVrl.Smoother.Smoother().
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by makVrl.Smoother.Smoother().
|
private |
|
private |
Referenced by makVrl.Smoother.approxEuler(), makVrl.Smoother.smoothBodyToGeoc(), and makVrl.Smoother.Smoother().
|
private |
Referenced by makVrl.Smoother.resetPosSmoother(), makVrl.Smoother.Smoother(), and makVrl.Smoother.smoothPosition().
|
private |
|
private |
|
private |
Referenced by makVrl.Smoother.approxEuler(), and makVrl.Smoother.Smoother().
|
private |
Referenced by makVrl.Smoother.Smoother(), and makVrl.Smoother.smoothVelocity().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Referenced by makVrl.Smoother.Smoother().
|
private |
|
private |
|
staticprivate |
Referenced by makVrl.Smoother.dfltSmoothPeriod(), and makVrl.Smoother.setDfltSmoothPeriod().
|
staticprivate |
Referenced by makVrl.Smoother.masterSmoothEnable(), and makVrl.Smoother.setMasterSmoothEnable().
|
staticprivate |
Referenced by makVrl.Smoother.resetOriSmoother(), and makVrl.Smoother.resetPosSmoother().
|
getset |
|
getset |
|
getset |
|
getset |
Referenced by makVrl.Smoother.smoothPosition(), and makVrl.Smoother.smoothVelocity().
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
Referenced by makVrl.Smoother.resetOriSmoother(), and makVrl.Smoother.resetPosSmoother().
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |
|
getset |