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となる