/********************************************************************/ /* Copyright (c) 2017 System fugen G.K. and Yuzi Mizuno */ /* All rights reserved. */ /********************************************************************/ #ifndef _MGLineWidth_HH_ #define _MGLineWidth_HH_ #include "mgGL/GLAttrib.h" class MGOfstream; class MGIfstream; // //Define MGLineWidth Class. /** @addtogroup GLAttrib * @{ */ ///MGLineWidth defines line width of a curve. ///Line width is defined by a float data. class MG_DLL_DECLR MGLineWidth:public MGGLAttrib{ public: enum MODE{ UNDEFINED=MGGLAttrib::UNDEFINED, DISABLED=MGGLAttrib::DISABLED, ENABLED=1 }; MGLineWidth(MODE m=UNDEFINED):MGGLAttrib(static_cast(m)){;}; MGLineWidth(float width):MGGLAttrib(ENABLED),m_line_width(width){;}; ///Assignment MGLineWidth& operator=(const MGGel& gel2); MGLineWidth& operator=(const MGLineWidth& gel2); ///comparison bool operator<(const MGLineWidth& gel2)const; bool operator<(const MGGel& gel2)const; ////////////Member Function//////////// ///Generate a newed clone object. MGLineWidth* clone()const; ///Invoke appropriate OpenGL fucntion to the drawing environment. void exec()const; ///Invoke appropriate OpenGL fucntion to this attribute. void exec(mgVBO& vbo)const; void set_width(float width); float get_width()const{return m_line_width;}; ///draw GLAttribute process. void drawAttrib( mgVBO& vbo,///