MGCL V10  V10
MGCL V10
 全て クラス 名前空間 関数 変数 型定義 列挙型 列挙値 フレンド グループ ページ
mgVBOByScreen クラス

mgVBOByScreen is a VBO to draw pictures in screen coordinates of a constant z value. [詳解]

mgVBOByScreen の継承関係図
mgVBO mgVBOElement

公開メンバ関数

 mgVBOByScreen (float z=-1.f)
 construct given z(in NDC). [詳解]
 
void convert2NormalizedWorld (const int xyS[2], float &x, float &y)
 Convert screen coordinates to normalized world coordinates. [詳解]
 
void convert2NormalizedWorld (float x0, float y0, float &x, float &y)
 Convert screen coordinates to normalized world coordinates. [詳解]
 
float getHeight () const
 
float getWidth () const
 
void set_viewport (const int vport[4])
 screen data をセットする [詳解]
 
void set_ZValue (float z)
 
void Vertex (const int v[2])
 頂点の座標値を指定する [詳解]
 
void Vertex (int x, int y)
 
void Vertex (const MGPosition &v)
 頂点の座標値を指定する [詳解]
 
void Vertex (float x, float y, float z=0.0f)
 
void Vertex3d (double x, double y, double z=0.0)
 
void Vertex2fv (const float v[2])
 
void Vertex3fv (const float v[3])
 
void Vertex2dv (const double v[2])
 
void Vertex3dv (const double v[3])
 
- 基底クラス mgVBO に属する継承公開メンバ関数
 mgVBO ()
 非MGAttribedGel用のconstructor. [詳解]
 
 mgVBO (const MGAttribedGel &gel)
 MGAttribedGel用のconstructor. [詳解]
 
 mgVBO (const mgVBO &vbo)
 MGAttribedGel用のconstructor. [詳解]
 
mgVBOoperator= (const mgVBO &vbo)
 Assignment. [詳解]
 
virtual ~mgVBO ()
 
void initializeVBO (MGCL::VIEWMODE viewMode=MGCL::DONTCARE)
 
bool buildVBOHierarchy (mgVBO &parent, std::vector< mgVBO * > &vbos)
 
virtual void make_display_list (MGCL::VIEWMODE vmode=MGCL::DONTCARE)
 
virtual void draw (MGCL::VIEWMODE viewMode=MGCL::DONTCARE)
 
virtual void redraw (MGCL::VIEWMODE viewMode=MGCL::DONTCARE)
 
virtual void selectionDraw (MGCL::VIEWMODE viewMode=MGCL::DONTCARE)
 
void highlight ()
 highlight属性で表示する [詳解]
 
virtual void clearElements (mgVBO::ELEMENT_TARGET target=BOTH)
 Clear all the data. [詳解]
 
virtual void clearStaticAttributes ()
 Static Attributes をすべてdefaultにもどす(display/noDisplayは対象外) [詳解]
 
mgVBOElementback () const
 
mgVBOElementfront () const
 
iterator begin_element ()
 
iterator end_element ()
 
const_iterator begin_element () const
 
const_iterator end_element () const
 
int elementNumber () const
 
void pop_back_element ()
 
void push_back_element (mgVBOElement *elm)
 
unsigned getDName () const
 
MGAttribedGelgel () const
 
virtual GLuint getSelectionName () const
 
virtual bool is_made (MGCL::VIEWMODE viewMode=MGCL::DONTCARE)
 
bool is_InBegin ()
 
virtual void Begin (GLenum type, ELEMENT_TARGET target=WIRE)
 
virtual mgVBOLeafEnd (GLenum polygonMode=GL_FILL)
 
void setDirty (bool is_dirty=true, mgVBO::ELEMENT_TARGET target=BOTH) const
 
void setDrawType (mgGLSL::DrawType drawType)
 
void setTexture (mgTexture *texture)
 
void Color (const MGColor &colr)
 頂点ごとの色を指定する [詳解]
 
void Color3fv (const float colr[3])
 
void Color3dv (const double colr[3])
 
void Color4fv (const float colr[4])
 
void Color4ubv (const unsigned char rgba[4])
 
void Normal (const MGVector &norml)
 頂点ごとのnormalを指定する [詳解]
 
void Normal (float x, float y, float z)
 
void Normal3d (double x, double y, double z)
 
void Normal3fv (const float norml[3])
 
void Normal3dv (const double norml[3])
 
void TexCoord (const MGPosition &v)
 頂点ごとのTextureの座標値を指定する [詳解]
 
void TexCoord (float x, float y)
 
void TexCoord2d (double x, double y)
 
void TexCoord2fv (const float v[2])
 
void TexCoord2dv (const double v[2])
 
void setStaticAttribColor (const MGColor &color)
 Static attributeを設定する。 [詳解]
 
void setStaticAttribColor (const float color[4])
 
void setStaticAttribColor (float r, float g, float b)
 
void setStaticAttribLineWidth (GLfloat size)
 
void setStaticAttribPointSize (GLfloat size)
 size<=0. はundefinedを示す [詳解]
 
void setLineStipple (short int factor, GLushort pattern=0)
 size<=0. はundefinedを示す [詳解]
 
void LineWidth (GLfloat size)
 
void disableLinePattern ()
 Line patternをdisableにして実線とする [詳解]
 
void drawGel (const MGAttribedGel &gel)
 gelのmgVBOPointerを作成しmgVBOElementとして追加する。 [詳解]
 
void drawVBOLeaf (const mgVBOLeaf &leaf, ELEMENT_TARGET target=SHADING)
 gelのmgVBOLeafPointerを作成しmgVBOElementとして追加する。 [詳解]
 
void deleteGel (const MGAttribedGel &gel)
 gelのmgVBOPointerをメンバーから外す [詳解]
 
void drawArrow (const MGPosition pos[4])
 
void drawBox (const MGBox &box)
 Draw an object of class MGBox, by wireframe. [詳解]
 
void drawPointSeq (const MGBPointSeq &bp, bool draw_points=true)
 
void drawPointSeq (const MGSPointSeq &sp, bool draw_points=true)
 
void draw3DVertex (const MGObject &obj)
 
void draw3DVertex_in_star (const MGComplex &obj)
 
void draw3DVertex_in_star (const MGCellBase &obj)
 
void drawWire_in_star (const MGComplex &obj)
 
void drawWire_in_star (const MGCellBase &obj)
 
double drawCurvaGraph (const MGCurve &curve, double scale, int density, bool use_radius, bool getLength=false)
 
void drawPoint (double x, double y, double z, double size=-1.)
 
void drawPoint (const MGPosition &pos, double size=-1.)
 
void drawPointInverseColor (double x, double y, double z, double size=-1.)
 
void drawPointInverseColor (const MGPosition &pos, double size=-1.)
 
void drawPointWithColor (double x, double y, double z, double outerSize, double innerSize, const MGColor *colorInner=0, const MGColor *colorOuter=0)
 
void drawPointWithColor (const MGPosition &pos, double outerSize, double innerSize, const MGColor *colorInner=0, const MGColor *colorOuter=0)
 
void drawPoints (const MGColor &boundary_color, const MGColor &inner_color, const std::vector< MGPosition > &ipos, double size=-1.)
 
void drawPolyline (const MGBPointSeq &line, bool closed=false)
 
void drawPolyline (const std::vector< MGPosition > &line, bool closed=false)
 
void drawStraight (const MGPosition &end, const MGPosition &start)
 Draw a line from start to end. [詳解]
 
void drawObjInParameterSpace (const MGObject &obj)
 
void drawRectangle (const MGBox &box)
 Draw the rectangle of a box. [詳解]
 
void drawSurfaceCurvature (const mgTL2Triangles &tld, MGCL::SURFACE_CURVATURE_KIND kind, double lower, double upper)
 OpenGL display for the tessellation lines drawn in world view. [詳解]
 
void drawSurfaceCurvature (const std::vector< mgTL2Triangles > &tldvec, MGCL::SURFACE_CURVATURE_KIND kind, double lower, double upper)
 
void drawShade (const mgTL2Triangles &tris, ELEMENT_TARGET target=SHADING, GLenum polygonMode=GL_FILL)
 OpenGL shading display of a tesselated data tris. [詳解]
 
void drawShade (const std::vector< mgTL2Triangles > &trisVector, ELEMENT_TARGET target=SHADING, GLenum polygonMode=GL_FILL)
 OpenGL shading display of a tesselated data tris. [詳解]
 
void drawSTL (const MGStl &stl, ELEMENT_TARGET target=SHADING, GLenum polygonMode=GL_FILL)
 MGStlオブジェクトを描画する [詳解]
 
void setDrawParam (const MGDrawParam &dpara)
 
GLfloat getPointSize () const
 
GLfloat getLineWidth () const
 
const MGColorstaticColor () const
 
MGColorstaticColor ()
 
void setLightMode (int mode)
 Set light mode. mode=-1:undefined, =0:disabled, =1:enabled. [詳解]
 
int getLightMode ()
 
- 基底クラス mgVBOElement に属する継承公開メンバ関数
 mgVBOElement ()
 
virtual ~mgVBOElement ()
 
virtual mgVBOvboPointer ()
 When this is a mgVBOPointer, return the vbo pointer referenced. [詳解]
 
virtual const mgVBOLeafleafPointer ()
 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
 

限定公開変数類

float m_centerX
 
float m_centerY
 Viewport data of the screen. [詳解]
 
float m_widthHalf
 
float m_heightHalf
 
float m_z
 
- 基底クラス mgVBO に属する継承限定公開変数類
unsigned m_dname
 
MGAttribedGelm_gel
 name to register in MGDNameControl. [詳解]
 
MGPvector< mgVBOElement > * m_target_elements
 When m_gel=0, this mgVBO is not for an MGAttribedGel but a temporary or non gel's VBO. [詳解]
 
bool m_elementsDirty:1
 
MGPvector< mgVBOElementm_elements
 =true if dirty and need to remake. [詳解]
 
bool m_elementsShadeDirty:1
 
MGPvector< mgVBOElementm_elementsShade
 =true if dirty and need to remake. [詳解]
 
MGColor m_colorStatic
 
GLfloat m_lineWidthStatic
 The color of the following Begin()(mgVBOLeaf generated) is set to this color. [詳解]
 
GLfloat m_pointSizeStatic
 
short int m_stippleFactor
 
GLushort m_LineStipplePattern
 
int m_lightMode
 m_LineStipplePatternindicates the pattern. [詳解]
 
mgGLSL::CoordinateType m_coordinateType
 <0: undefined, =0:Light is disabled, >0:Light is enabled. [詳解]
 
std::auto_ptr< mgVBOLeafBuilder > m_builder
 
- 基底クラス mgVBOElement に属する継承限定公開変数類
bool m_no_display:1
 

その他の継承メンバ

- 基底クラス mgVBO に属する継承公開型
enum  ELEMENT_TARGET { WIRE =0, SHADING =1, BOTH }
 
typedef MGPvector< mgVBOElementcontainer_type
 
typedef container_type::iterator iterator
 
typedef
container_type::const_iterator 
const_iterator
 
- 基底クラス mgVBOElement に属する継承静的公開メンバ関数
static void setDrawParam (const MGDrawParam &dpara)
 
static MGDrawParamgetDrawParam ()
 
static void setHilightColor (const MGColor &hcolor)
 
static const MGColorgetHilightColor ()
 
static void setDefaultPointSize (GLfloat psize)
 
static GLfloat getDefaultPointSize ()
 
- 基底クラス mgVBO に属する継承限定公開メンバ関数
void execStaticColorAttrib ()
 
virtual void execStaticGLAttrib ()
 
virtual void execModelTypeAttrib ()
 
void setDlName (unsigned name)
 
void setGel (const MGAttribedGel *gel)
 
void setElementTarget (ELEMENT_TARGET target)
 Set Elements target. [詳解]
 

詳解

mgVBOByScreen is a VBO to draw pictures in screen coordinates of a constant z value.

All of the input coordinates(except z) are treated as screen coordinates whose screen data is set by set_viewport. The origin is (x,y) and the size is (width, height). Here (x,y,width,height) are the values set by set_viewport(). All of the coordinates are converted to the normalized device coordinate(NDC) whose range is(-1,-1) to (1,1). Only z value given by the constructor or se_ZValue is the NDC.

構築子と解体子

mgVBOByScreen::mgVBOByScreen ( float  z = -1.f)
inline

construct given z(in NDC).

関数詳解

void mgVBOByScreen::convert2NormalizedWorld ( const int  xyS[2],
float &  x,
float &  y 
)

Convert screen coordinates to normalized world coordinates.

引数
xySinout opject target to convert.
xconverted normalized world coordinates, x.
yconverted normalized world coordinates, y.
void mgVBOByScreen::convert2NormalizedWorld ( float  x0,
float  y0,
float &  x,
float &  y 
)

Convert screen coordinates to normalized world coordinates.

引数
x0inout opject target to convert, x.
y0inout opject target to convert, y.
xconverted normalized world coordinates, x.
yconverted normalized world coordinates, y.
float mgVBOByScreen::getHeight ( ) const
inline
float mgVBOByScreen::getWidth ( ) const
inline
void mgVBOByScreen::set_viewport ( const int  vport[4])

screen data をセットする

void mgVBOByScreen::set_ZValue ( float  z)
inline

All of the points' z value of Vertex() after set_ZValue is invoked will be this value.

void mgVBOByScreen::Vertex ( const int  v[2])

頂点の座標値を指定する

void mgVBOByScreen::Vertex ( int  x,
int  y 
)
void mgVBOByScreen::Vertex ( const MGPosition v)
virtual

頂点の座標値を指定する

mgVBOを再実装しています。

void mgVBOByScreen::Vertex ( float  x,
float  y,
float  z = 0.0f 
)
virtual

mgVBOを再実装しています。

void mgVBOByScreen::Vertex2dv ( const double  v[2])
virtual

mgVBOを再実装しています。

void mgVBOByScreen::Vertex2fv ( const float  v[2])
virtual

mgVBOを再実装しています。

void mgVBOByScreen::Vertex3d ( double  x,
double  y,
double  z = 0.0 
)
virtual

mgVBOを再実装しています。

void mgVBOByScreen::Vertex3dv ( const double  v[3])
virtual

mgVBOを再実装しています。

void mgVBOByScreen::Vertex3fv ( const float  v[3])
virtual

mgVBOを再実装しています。

メンバ詳解

float mgVBOByScreen::m_centerX
protected
float mgVBOByScreen::m_centerY
protected

Viewport data of the screen.

float mgVBOByScreen::m_heightHalf
protected
float mgVBOByScreen::m_widthHalf
protected
float mgVBOByScreen::m_z
protected

このクラス詳解は次のファイルから抽出されました: