OptiTrackPoint.cpp 972 B

12345678910111213141516171819202122232425262728293031
  1. // Include own headers
  2. #include "OptiTrackPoint.hpp"
  3. OptiTrackPoint::OptiTrackPoint(const osg::Vec3 point, const osg::Vec3 normal, const osg::Vec3 normalModifier, const float normalRotation, const bool compensation, const double length, const double radius): TrackPoint(point, normal, normalModifier, normalRotation, compensation) {
  4. _length = length;
  5. _radius = radius;
  6. updateShift();
  7. }
  8. double OptiTrackPoint::getLength() {
  9. return _length;// + MeshTools::compensationLength(_normal, _normalModifier, _radius);
  10. }
  11. double OptiTrackPoint::getRadius() {
  12. return _radius;
  13. }
  14. OptiTrackSettings OptiTrackPoint::getOptiTrackSettings() {
  15. return OptiTrackSettings {_length, _radius};
  16. }
  17. void OptiTrackPoint::updateOptiTrackSettings(OptiTrackSettings settings) {
  18. _length = settings.length;
  19. _radius = settings.radius;
  20. updateShift();
  21. }
  22. void OptiTrackPoint::updateShift() {
  23. osg::Vec3 shift = _normal.operator*(_length);
  24. _trackOrigin = shift.operator+(_origin);
  25. }