MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
LineWidth.h
1 /********************************************************************/
2 /* Copyright (c) 2015 DG Technologies Inc. and Yuzi Mizuno */
3 /* All rights reserved. */
4 /********************************************************************/
5 
6 #ifndef _MGLineWidth_HH_
7 #define _MGLineWidth_HH_
8 
9 #include "mgGL/GLAttrib.h"
10 
11 class MGOfstream;
12 class MGIfstream;
13 
14 //
15 //Define MGLineWidth Class.
16 
21 
24 class MG_DLL_DECLR MGLineWidth:public MGGLAttrib{
25 
26 public:
27 
28 enum MODE{
31  ENABLED=1
32 };
33 
34 MGLineWidth(MODE m=UNDEFINED):MGGLAttrib(static_cast<int>(m)){;};
35 MGLineWidth(float width):MGGLAttrib(ENABLED),m_line_width(width){;};
36 
38 MGLineWidth& operator=(const MGGel& gel2);
39 MGLineWidth& operator=(const MGLineWidth& gel2);
40 
42 bool operator<(const MGLineWidth& gel2)const;
43 bool operator<(const MGGel& gel2)const;
44 
46 
48 MGLineWidth* clone()const;
49 
51 void exec()const;
52 
54 void exec(mgVBO& vbo)const;
55 
56 void set_width(float width);
57 float get_width()const{return m_line_width;};
58 
61  mgVBO& vbo,
62  bool no_color=false
63 )const{exec(vbo);};
64 
66 float get_maximum_width()const;
67 
69 bool is_highlight_attrib()const{return true;};
70 
72 void render(mgVBO& vbo)const{exec(vbo);};
73 
75 void set_draw_attrib_mask(unsigned int& mask)const{set_Amask(mask,LINE_BIT);};
76 
78 void reset_draw_attrib_mask(unsigned int& mask)const{reset_Amask(mask,LINE_BIT);};
79 
81 void set_render_attrib_mask(unsigned int& mask)const{set_Amask(mask,LINE_BIT);};
82 
84 void reset_render_attrib_mask(unsigned int& mask)const{reset_Amask(mask,LINE_BIT);};
85 
87 long identify_type() const{return MGLINE_WIDTH_TID;};
88 
89 std::string whoami()const{return "LineWidth";};
90 
92 void ReadMembers(MGIfstream& buf);
94 void WriteMembers(MGOfstream& buf)const;
95 
97 std::ostream& out(std::ostream&) const;
98 
99 private:
100 
101  float m_line_width;
102 
103 };
104  // end of GLAttrib group
106 #endif //#ifndef _MGLineWidth_HH_
MODE
Definition: LineWidth.h:28
void reset_Amask(unsigned int &mask, MGGLAttrib::ATTRIB_MASK bit)
MGGLAttrib is an abstract class which defines the enum of undefined or disabled.
Definition: GLAttrib.h:35
void set_Amask(unsigned int &mask, MGGLAttrib::ATTRIB_MASK bit)
Set or reset the bit of mask.
bool is_highlight_attrib() const
Test if this is highlight attrib or not.
Definition: LineWidth.h:69
Definition: GLAttrib.h:41
virtual bool operator<(const MGGel &gel2) const
MGLineWidth(float width)
Definition: LineWidth.h:35
virtual MGGLAttrib * clone() const =0
Generate a newed clone object.
virtual void WriteMembers(MGOfstream &buf) const
Write all member data.
void reset_draw_attrib_mask(unsigned int &mask) const
Turn off the appropriate mask bit for this attribute. See glPushAttrib().
Definition: LineWidth.h:78
float get_width() const
Definition: LineWidth.h:57
virtual void ReadMembers(MGIfstream &buf)
Read all member data.
MGIfstream is a class to read the serialized data generated by MGOfstream.
Definition: Ifstream.h:30
virtual MGGLAttrib & operator=(const MGGLAttrib &gel2)
Definition: GLAttrib.h:70
Definition: GLAttrib.h:40
MGGel is an abstract class which represents a group element.
Definition: Gel.h:53
long identify_type() const
Return This object's typeID.
Definition: LineWidth.h:87
virtual std::ostream & out(std::ostream &) const
Output virtual function.
void reset_render_attrib_mask(unsigned int &mask) const
Turn off the appropriate mask bit for this attribute. See glPushAttrib().
Definition: LineWidth.h:84
MGOfstream is a class to serialize all of the subclasses of MGGel.
Definition: Ofstream.h:31
void render(mgVBO &vbo) const
render GLAttribute process.
Definition: LineWidth.h:72
void drawAttrib(mgVBO &vbo, bool no_color=false) const
draw GLAttribute process.
Definition: LineWidth.h:60
void set_draw_attrib_mask(unsigned int &mask) const
Turn on the appropriate mask bit for this attribute. See glPushAttrib().
Definition: LineWidth.h:75
void set_render_attrib_mask(unsigned int &mask) const
Turn on the appropriate mask bit for this attribute. See glPushAttrib().
Definition: LineWidth.h:81
OpenGL 4 用描画のためのクラス, in other words, display list.
Definition: VBO.h:76
MGLineWidth(MODE m=UNDEFINED)
Definition: LineWidth.h:34
std::string whoami() const
Definition: LineWidth.h:89
MGLineWidth defines line width of a curve.
Definition: LineWidth.h:24