public
static void SetNurbsSProperty(GLenum,GLfloat)
- <説明>
- NURBS曲面の描画形式を変更する。
- <引数>
- GLenum prop: gluNurbsProperty()関数のProperty値を指定。
GLfloat val: gluNurbsProperty()関数のValue値を指定。
- <戻り値>
- なし
■変数(Class Describe_BODY)
protected
GLUnurbsObj *NurbsSurf NURBS曲面用オブジェクト
GLUnurbsObj *NurbsCurve NURBS曲線用オブジェクト
GLfloat uKnot[KNOTNUMMAX] NURBS描画用U方向ノットベクトルバッファ
GLfloat vKnot[KNOTNUMMAX] NURBS描画用V方向ノットベクトルバッファ
GLfloat CCtlp[CTLPNUMMAX][4] NURBS曲線描画用コントロールポイントバッファ
GLfloat SCtlp[CTLPNUMMAX][CTLPNUMMAX][4] NURBS曲面描画用コントロールポイントバッファ
BODY操作ライブラリ
【BODY_Handler.h】
BODYの各種操作モジュールを提供します。
■シンボル
なし
■インクルードライブラリ
"Describe_BODY.h" "NURBS_Func.h"
■型定義
なし
■クラス
BODY_Handler
<継承>
Describe_BODY
■関数(Class BODY_Handler)
public
InitCurveColor();
InitSurfaceColor();
<説明>
コンストラクタ
ユーザが独自に作成した関数とUserボタンとの関連付け及び、Userステータスの初期化を行う。
<引数>
なし
<戻り値>
なし
public
void Change StatColor(float *Col, float r, float g, flaot b, float a);
<説明>
エンティティの表示色を変更する
<引数>
Col:変更したいエンティティのColorステータス
r:変更したいエンティティのColorステータスのR値
g:変更したいエンティティのColorステータスのG値
b:変更したいエンティティのColorステータスのB値
a:変更したいエンティティのColorステータスのa値
<戻り値>
なし
public
BODY *SearchBodyList(BODYList *BodyList, int Key);
<説明>
セレクションされているBODYの実体を得る
<引数>
*BodyList:サーチしたいBODYのリストを指定
Key:サーチしたいBODY番号を指定
<戻り値>
BODYへのポインタ
public
void Init_body(BODY *Body);
<説明>
BOYD構造体を初期化する。
Body->MaxCoord = 1.0;
Body->TypeNum[i] = 0;
<引数>
*Body:初期化したいBODY構造体へのポインタ
<戻り値>
なし
public
void BODY_Handler::RegistNurbsCtoBody(BODYList *BodyList,BODY *Body,NURBSC Nurb,char BodyName[])
void BODY_Handler::RegistNurbsCtoBodyN(BODYList *BodyList,BODY *Body,NURBSC Nurb[],char BodyName[],int N)
<説明>
1つ/N個のNURBS曲線を新たなBODYとして登録する
<引数>
*BodyList:サーチしたいBODYのリストを指定
*Body : 新たなBody構造体のポインタ
Nurb : 登録するNURBS曲線
BodyName[] : Bodyリストウィンドウに登録するBody名
N : 登録するNURBS曲線の個数
<戻り値>
なし
public
void BODY_Handler::RegistNurbsStoBody(BODYList *BodyList,BODY *Body,NURBSS Nurb,char BodyName[])
void BODY_Handler::RegistNurbsStoBodyN(BODYList *BodyList,BODY *Body,NURBSS Nurb[],char BodyName[],int N)
<説明>
1つ/N個のNURBS曲面を新たなBODYとして登録する
<引数>
*BodyList:サーチしたいBODYのリストを指定
*Body : 新たなBody構造体のポインタ
Nurb : 登録するNURBS曲面
BodyName[] : Bodyリストウィンドウに登録するBody名
N : 登録するNURBS曲面の個数
<戻り値>
なし
public
void BODY_Handler::RotBody(BODY *Body,Coord Axis,double deg)
<説明>
1つのBODYを指定した軸周りに指定した角度回転させる
<引数>
*Body:回転させるBODYへのポインタ
Axis:回転軸
deg:回転角
<戻り値>
なし
public
void BODY_Handler::ShiftBody(BODY *Body,Coord d)
<説明>
1つのBODYを指定した量だけ平行移動量する
<引数>
*Body:平行移動量させるBODYへのポインタ
d:平行移動量
<戻り値>
なし
public
void New_body(BODY *Body, int TypeNum[]);
void Free_body(BODY *Body, int TypeNum[]);
<説明>
BODY構造体内要素の各エンティティのメモリー確保/解放
<引数>
Body:Body構造体のポインタ
TypeNum[i]:メモリー確保したい各エンティティの数を格納した配列
iはenum型で定義されたエンティティのシンボル値と同じ。
ex)TypeNum[10] = TypeNum[_NURBSC]であり、NURBS曲線エンティティの数が格納されていること。
<戻り値>
なし