#pragma once #include #include #include class TrackPoint { public: TrackPoint(const osg::Vec3 point, const osg::Vec3 normal, const osg::Vec3 normalModifier); osg::Vec3 getTranslation(); osg::Vec3 getRotation(); osg::Vec3 getNormal(); osg::Vec3 getNormalModifier(); osg::Vec3 getTrackPoint(); void updateNormalModifier(osg::Vec3 normalModifier); void updatePositions(osg::Vec3 origin); protected: osg::ref_ptr _translationGroup; osg::ref_ptr _rotationGroup; osg::ref_ptr _originFixGroup; osg::Vec3 _trackOrigin; osg::Vec3 _origin; osg::Vec3 _normal; osg::Vec3 _normalModifier; };