OpenSceneGraph/examples/osgviewerMFC
Robert Osfield c913f00d21 From Michael Hartman, "CMakeLists.txt:
Changed this back to setup_example since WIN32 flag is now supported.

 

MFC_OSG.h:

   Added flag to indicate when the rendering thread has exited.

 

MFC_OSG.cpp:

   Code modifications to support rendering flag thread exit.

 

MFC_OSG_MDIView.cpp:

   Change to OnDestroy function to wait until we get render thread exit flag is true before we close the window.

 

 

Main Exit Process:

   User presses escape button

   Viewer captures escape button and stops threading etc.

   Viewer sets Done when shutdown is complete

   MFC Render Thread monitors viewer->done for true

   MFC Render Thread exits while loop and sets MFC Done flag

   MFC View Window monitors MFC Done flag and then closes/destroys the window

"
2007-06-01 21:28:18 +00:00
..
res
ChildFrm.cpp
ChildFrm.h
CMakeLists.txt From Michael Hartman, "CMakeLists.txt: 2007-06-01 21:28:18 +00:00
MainFrm.cpp
MainFrm.h
MFC_OSG_MDI.cpp
MFC_OSG_MDI.h
MFC_OSG_MDI.rc
MFC_OSG_MDIDoc.cpp
MFC_OSG_MDIDoc.h
MFC_OSG_MDIView.cpp From Michael Hartman, "CMakeLists.txt: 2007-06-01 21:28:18 +00:00
MFC_OSG_MDIView.h
MFC_OSG.cpp From Michael Hartman, "CMakeLists.txt: 2007-06-01 21:28:18 +00:00
MFC_OSG.h From Michael Hartman, "CMakeLists.txt: 2007-06-01 21:28:18 +00:00
ReadMe.txt
Resource.h
stdafx.cpp
stdafx.h

This project is a very simple implementation of the Microsoft Multiple Document/View Architecture.
The only changes needed to compile the project should be to modify the include paths for headers
and librarys.  This project was written to show how to implement the new osgViewer library with MFC.

There is only one problem that I have seen to this point and that is when you have multiple OSG documents 
open and then you close one of them then all remaining OSG documents quit rendering.  I have a small work 
around in the code that calls AfxMessageBox when the closing windows tread exits and this keeps the other
windows rendering correctly.   Not sure what the problem is at this point so if anyone finds the cause and 
has a fix please update the code.