描画ライブラリ
【Describe_BODY.h】
BODY描画用モジュールを提供します。
■シンボル
#define COMMAND_DRAW_BODY 1 BODY描画用ディスプレイリストの登録番号
#define COMMAND_DRAW_USER 2 Userメイン関数によってコールされたOpenGL描画関数用ディスプレイリストの登録番号
#define COMMAND_DRAW_USER_COMMAND 100 User CommandによってコールされたOpenGL描画関数用ディスプレイリストの登録番号
■インクルードライブラリ
"BODY.h" "NURBS_Func.h"
■型定義
なし
■クラス
Descirbe_BODY
<継承>
なし
■関数(Class Describe_BODY)
public
Describe_BODY()
~Describe_BODY()
- <説明>
- コンストラクタ/デストラクタ
- <引数>
- なし
- <戻り値>
- なし
public
static void DrawBody(BODY *Body)
- <説明>
- BODYを描画する。
- <引数>
- *Body: BODY構造体へのポインタ
- <戻り値>
- なし
public
static void DrawCompositeCurve(COMPC *CompC)
- <説明>
- 複合曲線を描画する。
- <引数>
- COMPC CompC: 複合曲線へのポインタ
- <戻り値>
- なし
public
static void DrawLine(LINE_ Line)
- <説明>
- 線分を描画する。
- <引数>
- LINE_ Line: 描画する線分構造体
- <戻り値>
- なし
public
static void DrawCircleArc(CIRA Cira)
- <説明>
- 円・円弧の描画
- <引数>
- CIRA Cira: 描画する円・円弧構造体
- <戻り値>
- なし
public
static void DrawNurbsCurve(NURBSC)
- <説明>
- NURBS曲線を描画する。
- <引数>
- NURBSC *NurbsC: 描画するNURBS曲線構造体
- <戻り値>
- なし
public
static void DrawTrimdNurbsSurfe(NURBSS *NurbsS)
- <説明>
- トリム面を持つNURBS曲面を描画する。
- <引数>
- NURBSS *NurbsS: 描画するNURBS曲面のポインタ
- <戻り値>
- なし
public
static void DrawNurbsSurfe(NURBSS NurbsS)
- <説明>
- トリム面を持たないNURBS曲面を描画する。
- <引数>
- NURBSS NurbsS: 描画するNURBS曲面構造体
- <戻り値>
- なし
public
static void DrawCurveOnParamSurfe(CONPS *ConpS)
- <説明>
- 面上線を描画する。
- <引数>
- CONPS *ConpS: 描画する面上線のポインタ
- <戻り値>
- なし
public
static void DrawTrimdSurf(TRMS TrmS)
- <説明>
- トリム面を描画する。上述のDrawTrimdNurbsSurfe()はこの関数からのみ唯一呼び出される。
また、上述のDrawCurveOnParamSurfe()もこの関数からのみ唯一呼び出される。
- <引数>
- TRMS TrmS: 描画するトリム面構造体
- <戻り値>
- なし
public
static void DrawNurbsCurve_Param(NURBSC *NurbsC)
- <説明>
- トリムを構成する2DパラメトリックNURBS曲線要素を描画する。上述のDrawCompositeCurve()はこの関数からのみ唯一呼び出される。
- <引数>
- NURBSC *NurbsC: 描画する2DパラメトリックNURBS曲線のポインタ
- <戻り値>
- なし
public
static void Draw_Lines(BODY *Body)
- <説明>
- BODYに含まれる線分を全て描画
- <引数>
- *Body:BODY構造体へのポインタ
- <戻り値>
- なし
public
static void Draw_CircleArcs(BODY *Body)
- <説明>
- BODYに含まれる円,円弧を全て描画
- <引数>
- *Body:BODY構造体へのポインタ
- <戻り値>
- なし
public
static void Draw_NurbsCurves(BODY *Body)
- <説明>
- BODYに含まれるNURBS曲線を全て描画
- <引数>
- *Body:BODY構造体へのポインタ
- <戻り値>
- なし
public
static void Draw_NurbsSurfaces(BODY *Body)
- <説明>
- BODYに含まれるNURBS曲面を全て描画
- <引数>
- *Body:BODY構造体へのポインタ
- <戻り値>
- なし
public
static void Draw_TrimSurfes(BODY *Body)
- <説明>
- BODYに含まれるトリム面を全て描画
- <引数>
- *Body:BODY構造体へのポインタ
- <戻り値>
- なし
public
static void SetNurbsStat()
- <説明>
- 本クラスのコンストラクタにて唯一呼び出される。NURBS描画エラーコールバック関数の定義を行う。
- <引数>
- なし
- <戻り値>
- なし
public
static void SetNurbsSTolerance(GLfloat)
- <説明>
- NURBS曲面を描画する際のトレランスを指定する。
- <引数>
- GLfloat t: トレランス値。gluNurbsProperty()関数のPropertyにGLU_SAMPLING_TOLERANCEを指定した場合のvalue値を示す。
値が小さいほど滑らかな描画となる。デフォルトでは20が指定されている。
- <戻り値>
- なし
public
static void NURBS_Err(GLenum)
- <説明>
- NURBS描画エラーコールバック関数。
- <引数>
- GLenum error_code: OpenGLが提供するNURBS描画関数内で発生したエラーコード
- <戻り値>
- なし
public
static void SetNurbsSProperty(GLenum,GLfloat)
- <説明>
- NURBS曲面の描画形式を変更する。
- <引数>
- GLenum prop: gluNurbsProperty()関数のProperty値を指定。
GLfloat val: gluNurbsProperty()関数のValue値を指定。
- <戻り値>
- なし
public
static void DrawMesh(MESH *mesh,int flag)
- <説明>
- メッシュの描画
- <引数>
- MESH *mesh: Meshクラスのオブジェクトへのポインタ
int flag: KOD_TRUEの場合,スケルトン表示. KOD_FALSEの場合,面表示
- <戻り値>
- なし
■変数(Class Describe_BODY)
protected
GLUnurbsObj *NurbsSurf NURBS曲面用オブジェクト
GLUnurbsObj *NurbsCurve NURBS曲線用オブジェクト