TrackPointRenderer.hpp 714 B

1234567891011121314151617181920212223242526
  1. #pragma once
  2. // Include modules
  3. #include "enums.hpp"
  4. #include "OSGWidget.hpp"
  5. #include "PointShape.hpp"
  6. #include "TrackPoint.hpp"
  7. // Include dependencies
  8. #include <osg/Group>
  9. class TrackPointRenderer {
  10. public:
  11. TrackPointRenderer(OSGWidget* osgWidget, osg::ref_ptr<osg::Group> renderRoot);
  12. ~TrackPointRenderer();
  13. void render(ActiveTrackingSystem activeTrackingSystem);
  14. std::vector<PointShape*> getShapes();
  15. void clear();
  16. private:
  17. PointShape* addPointShape(TrackPoint* point, ActiveTrackingSystem activeTrackingSystem);
  18. void commonSetupPointShape(PointShape* shape, TrackPoint* point, int id);
  19. OSGWidget* _osgWidget;
  20. osg::ref_ptr<osg::Group> _renderRoot;
  21. std::vector<PointShape*> _shapes;
  22. };