diff --git a/include/osgViewer/ViewerEventHandlers b/include/osgViewer/ViewerEventHandlers index 67ff59262..1d98359cf 100644 --- a/include/osgViewer/ViewerEventHandlers +++ b/include/osgViewer/ViewerEventHandlers @@ -236,6 +236,8 @@ public: void setKeyEventTogglePlayback(int key) { _keyEventTogglePlayback = key; } int getKeyEventTogglePlayback() const { return _keyEventTogglePlayback; } + void setAutoIncrementFilename( bool autoinc = true ) { _autoinc = autoinc?0:-1; } + virtual void getUsage(osg::ApplicationUsage &usage) const; bool handle(const osgGA::GUIEventAdapter &ea, osgGA::GUIActionAdapter &aa); @@ -243,6 +245,7 @@ public: protected: std::string _filename; + int _autoinc; std::ofstream _fout; int _keyEventToggleRecord; diff --git a/src/osgViewer/ViewerEventHandlers.cpp b/src/osgViewer/ViewerEventHandlers.cpp index 7d02f5af1..08e3e06d2 100644 --- a/src/osgViewer/ViewerEventHandlers.cpp +++ b/src/osgViewer/ViewerEventHandlers.cpp @@ -15,9 +15,12 @@ #include #include +#include #include #include +#include + #include #include @@ -368,6 +371,7 @@ bool ThreadingHandler::handle(const osgGA::GUIEventAdapter &ea, osgGA::GUIAction RecordCameraPathHandler::RecordCameraPathHandler(const std::string& filename): _filename(filename), + _autoinc( -1 ), _keyEventToggleRecord('z'), _keyEventTogglePlayback('Z'), _currentlyRecording(false), @@ -448,8 +452,17 @@ bool RecordCameraPathHandler::handle(const osgGA::GUIEventAdapter &ea, osgGA::GU if (!_filename.empty()) { - osg::notify(osg::NOTICE)<<"Recording camera path to file "<<_filename<