/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _mgOpenGLView_HH_ #define _mgOpenGLView_HH_ class MGBox; class MGGroup; class MGObject; class MGGLAttrib; class MGAttribedGel; class MGGelPositions; class MGStraight; class MGEdge; class mgVBO; #include #include #include #include #include #include "mg/Types.h" #include "mg/Pvector.h" #include "mg/PickObjects.h" #include "mg/Position.h" #include "mg/Straight.h" #include "mg/Group.h" #include "mgGL/Color.h" #include "mgGL/sysGLList.h" #include "mgGL/glViewAttrib.h" #include "mgGL/ConstructionPlane.h" #include "mgGL/glslprogram.h" /** @addtogroup DisplayHandling * @{ */ ///Defines OpenGL display class for MGCL objects. ///MGOpenGLView provides various functions to draw or render pictures ///of MGCL objects in MFC's CGLView windows. class MG_DLL_DECLR MGOpenGLView{ friend class MGglViewAttrib; public: //////////////////////////////PUBLIC MEMBER DATA///////////// ///System display list manager. mgSysGLList m_sysgllist; //////////////////////////////////METHOD///////////////////// MGOpenGLView( bool perspective=true ///& selected/// m_command_drawersCommon; ///Current command's picture drawer. ///MGOpenGLView will invoke the drawer after m_command_drawersCommon. std::list m_command_drawersSpecific; ///Extract selectionName data from the frame buffer drawn by selectionDraw(); void extractSelected( const int viewport[4],///Viewport of the selection target window. std::set& selected///Selected name data will be returned. /// This data consist of the data set by selectionDraw. ); ///Draw std::list. void drawCommandDrawer( std::list& drawers ); ///Constructglm::lookAtMatrix from eye_position() and view_up_vector(). void setLookAtMat(); }; unsigned OpenGLStartDisplayName(); /////////////////////////////////////////////////////////////////////////////////////// /** @} */ // end of DisplayHandling group #endif