TrackPointRenderer.cpp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // Include own header
  2. #include "TrackPointRenderer.hpp"
  3. // Include modules
  4. #include "OptiTrackPoint.hpp"
  5. #include "MainWindow.hpp"
  6. // Include dependencies
  7. TrackPointRenderer::TrackPointRenderer(OSGWidget* osgWidget, osg::ref_ptr<osg::Group> renderRoot) {
  8. _osgWidget = osgWidget;
  9. _renderRoot = renderRoot;
  10. }
  11. TrackPointRenderer::~TrackPointRenderer() {
  12. }
  13. void TrackPointRenderer::render(ActiveTrackingSystem activeTrackingSystem) {
  14. switch(activeTrackingSystem) {
  15. case OptiTrack: {
  16. std::vector<OptiTrackPoint*> points = MainWindow::getInstance()->getStore()->getOptiTrackPoints();
  17. _shapes.clear();
  18. for (OptiTrackPoint* point: points) {
  19. PointShape* newShape = new PointShape(_renderRoot, activeTrackingSystem, point->getTranslation(), point->getNormal(), point->getNormalModifier());
  20. newShape->setupOptiTrack(point->getOptiTrackSettings());
  21. newShape->setColor(osg::Vec4(0.0f, 1.0f, 0.0f, 0.2f));
  22. newShape->rotateToNormalVector(point->getNormal());
  23. _shapes.push_back(newShape);
  24. }
  25. break;
  26. }
  27. case EMFTrack: {
  28. break;
  29. }
  30. case SteamVRTrack: {
  31. break;
  32. }
  33. }
  34. }