#pragma once #include <osg/ref_ptr> #include <osg/Vec3> #include <osg/MatrixTransform> class TrackPoint { public: TrackPoint(osg::Vec3 point, osg::Vec3 normal); osg::ref_ptr<osg::MatrixTransform> getUppermostRoot(); osg::Vec3 getTranslation(); osg::Vec3 getRotation(); osg::Vec3 getTrackPoint(); protected: osg::ref_ptr<osg::MatrixTransform> _translationGroup; osg::ref_ptr<osg::MatrixTransform> _rotationGroup; osg::ref_ptr<osg::MatrixTransform> _originFixGroup; private: osg::Vec3 _origin; osg::Vec3 _normal; osg::Vec3 _trackOrigin; };