|
MGCL V10
V10
MGCL V10
|
mgVBOに対して描画データ作成後の情報を保持するためのクラス. [詳解]
公開メンバ関数 | |
| mgVBOLeaf () | |
| mgVBOLeaf (GLfloat size, MGColor &color) | |
| mgVBOLeaf (const mgVBOLeaf &vbol) | |
| mgVBOLeaf (const mgVBOLeafBuilder &builder) | |
| ~mgVBOLeaf () | |
| bool | is_made (MGCL::VIEWMODE viewMode=MGCL::DONTCARE) |
| void | make_display_list (MGCL::VIEWMODE vmode=MGCL::DONTCARE) |
| void | draw (MGCL::VIEWMODE viewMode=MGCL::DONTCARE) |
| void | redraw (MGCL::VIEWMODE viewMode=MGCL::DONTCARE) |
| virtual void | selectionDraw (MGCL::VIEWMODE viewMode=MGCL::DONTCARE) |
| void | setDrawType (mgGLSL::DrawType drawType) |
| DrawTypeをセットする [詳解] | |
| mgGLSL::DrawType | getDrawType () const |
| void | setTexture (mgTexture *texture) |
| const mgTexture * | getTexture () const |
| Textureをset/getする。 [詳解] | |
| mgTexture * | getTexture () |
| bool | texture_is_bound () const |
| Test if a texture is binded. [詳解] | |
| void | updateVertex (unsigned ID, const MGPosition &P) |
| void | updateVertices (unsigned startID, const std::vector< MGPosition > &Ps) |
| void | updateVertices (unsigned startID, const MGBPointSeq &Ps) |
| void | updateVertices (unsigned startID, unsigned numVertices, const float *area) |
| unsigned | getVerticesNumber () const |
| Vertexの数を求める [詳解] | |
| unsigned | getDName () const |
| virtual GLuint | getSelectionName () const |
| void | setPolygonMode (GLenum mode) |
| void | setStaticAttribColor (const MGColor &color) |
| void | setPrimitiveMode (GLenum primitiveMode) |
| void | setLightMode (int mode) |
| Set light mode. mode=-1:undefined, =0:disabled, =1:enabled. [詳解] | |
| void | setLineStipple (short int factor, GLushort pattern) |
| void | setStaticAttribLineWidth (GLfloat size) |
| void | setStaticAttribPointSize (GLfloat size) |
| size<=0. はundefinedを示す [詳解] | |
基底クラス mgVBOElement に属する継承公開メンバ関数 | |
| mgVBOElement () | |
| virtual | ~mgVBOElement () |
| virtual mgVBO * | vboPointer () |
| When this is a mgVBOPointer, return the vbo pointer referenced. [詳解] | |
| virtual const mgVBOLeaf * | leafPointer () |
| When this is a mgVBOLeaf, return the mgVBOLeaf pointer. [詳解] | |
| virtual void | set_display () |
| set_display/set_no_display controls if this mgVBO be displayed or not. [詳解] | |
| virtual void | set_no_display () |
| virtual bool | getNoDisplayMode () const |
| bool | is_no_display () const |
| bool | is_display () const |
その他の継承メンバ | |
基底クラス mgVBOElement に属する継承静的公開メンバ関数 | |
| static void | setDrawParam (const MGDrawParam &dpara) |
| static MGDrawParam & | getDrawParam () |
| static void | setHilightColor (const MGColor &hcolor) |
| static const MGColor & | getHilightColor () |
| static void | setDefaultPointSize (GLfloat psize) |
| static GLfloat | getDefaultPointSize () |
基底クラス mgVBOElement に属する継承限定公開変数類 | |
| bool | m_no_display:1 |
mgVBOに対して描画データ作成後の情報を保持するためのクラス.
mgVBOはmgVBOLeafとmgVBO自身をelementとして保持する。 mgVBOをelementとするのはMGGroupまたはMGShellのメンバーデータの表示情報を 保持するため
| mgVBOLeaf::mgVBOLeaf | ( | ) |
| mgVBOLeaf::mgVBOLeaf | ( | GLfloat | size, |
| MGColor & | color | ||
| ) |
| mgVBOLeaf::mgVBOLeaf | ( | const mgVBOLeaf & | vbol | ) |
| mgVBOLeaf::mgVBOLeaf | ( | const mgVBOLeafBuilder & | builder | ) |
| mgVBOLeaf::~mgVBOLeaf | ( | ) |
|
virtual |
描画関数draw()は、is_made()であれば、作成し、表示処理をする。 is_made()(描画データ作成済み)であれば、すでに作成されたmgVBOElementの描画を行う。 mgVBOLeafでは常に作成すみであり表示処理をおこなう。
mgVBOElementを実装しています。
|
inlinevirtual |
Obtain display list name. 0(null) はこのmgVBOElementはmgVBOLeafであり、名前をもたないことを示す。 名前はmgVBOだけが持つ
mgVBOElementを実装しています。
|
inline |
|
inlinevirtual |
Selectionに設定する名前を求める。=0のとき、名前の設定処理をしない。 0(null) はこのmgVBOElementはmgVBOLeafであり、名前をもたないことを示す。 名前はmgVBOだけが持つ
mgVBOElementを実装しています。
| const mgTexture* mgVBOLeaf::getTexture | ( | ) | const |
Textureをset/getする。
| mgTexture* mgVBOLeaf::getTexture | ( | ) |
|
inline |
Vertexの数を求める
|
inlinevirtual |
Cloned mgVBOLeaf has only static attributes copied. All the other data are initialized. このmgVBOElementがnull(いまだdraw/make_display_list()処理されていない)かを判定 mgVBOはm_gelに対するmake_display_list()処理がなされていないときfalseが返される mgVBOLeafはmake_display_list()されたときのみ存在するため常にtrueが返る。
mgVBOElementを実装しています。
|
inlinevirtual |
すでに作成済みであっても強制的に再作成を行う。 mgVBOLeafは作成済みの場合のみ存在するため何もしない。
mgVBOElementを実装しています。
|
inlinevirtual |
draw()はmgVBOLeafが作成済み(not null)であれば作成処理を行わないが、 redraw()は強制的に再作成を行い描画処理をおこなう。 mgVBOLeafでは常に作成すみであり表示処理をおこなう。
mgVBOElementを実装しています。
|
virtual |
描画関数selectionDraw()は、Object選択のための表示処理をする。 通常のdrawとの相違:///Colorとしてm_bufferIDを用い、size処理以外の attributesの処理(normal, texture, color)をしない。
mgVBOElementを実装しています。
|
inline |
DrawTypeをセットする
| void mgVBOLeaf::setLightMode | ( | int | mode | ) |
Set light mode. mode=-1:undefined, =0:disabled, =1:enabled.
| void mgVBOLeaf::setLineStipple | ( | short int | factor, |
| GLushort | pattern | ||
| ) |
Line stipple属性をセットする。 When factor=0 is input, line pattern is disabled. This means the line is solid. When factor<0, the stipple attribute is undefined. This means the attribute is defined by the environment. When factor<=0, pattern is unnecessary.
| void mgVBOLeaf::setPolygonMode | ( | GLenum | mode | ) |
m_primitiveMode=GL_QUAD_STRIP, GL_TRIANGLES, GL_TRIANGLE_STRIP, GL_TRIANGLE_FAN のときにのみ有効でそのPolygonMode(GL_POINT, GL_LINE, GL_FILL)を指定する. setPolygonModeしていないmgVBOLeafはGL_FILLとされる。
|
inline |
|
inline |
| void mgVBOLeaf::setStaticAttribLineWidth | ( | GLfloat | size | ) |
| void mgVBOLeaf::setStaticAttribPointSize | ( | GLfloat | size | ) |
size<=0. はundefinedを示す
| void mgVBOLeaf::setTexture | ( | mgTexture * | texture | ) |
Textureをset/getする。 textureは参照するのみ
| bool mgVBOLeaf::texture_is_bound | ( | ) | const |
Test if a texture is binded.
| void mgVBOLeaf::updateVertex | ( | unsigned | ID, |
| const MGPosition & | P | ||
| ) |
作成済のmgVBOLeafのIDの位置のVertex dataをPのデータに置き換える。 0<= ID <getVerticesNumber();
| void mgVBOLeaf::updateVertices | ( | unsigned | startID, |
| const std::vector< MGPosition > & | Ps | ||
| ) |
作成済のmgVBOLeafのstartIDの位置からnum個のVertex dataをPsのデータに 置き換える。 0<= startID , startID+num<=getVerticesNumber(). Here num=Ps.size();
| void mgVBOLeaf::updateVertices | ( | unsigned | startID, |
| const MGBPointSeq & | Ps | ||
| ) |
作成済のmgVBOLeafのstartIDの位置からnum個のVertex dataをPsのデータに 置き換える。 0<= startID , startID+num<=getVerticesNumber(). Here num=Ps.length();
| void mgVBOLeaf::updateVertices | ( | unsigned | startID, |
| unsigned | numVertices, | ||
| const float * | area | ||
| ) |
作成済のmgVBOLeafのstartIDの位置からnumVertices個の頂点dataをareaのデータに 置き換える。 0<= startID , startID+numVertices<=getVerticesNumber(). areaの配列の長さ=numVertices*3となる