Kodatuno.h

Summary
Kodatuno.h
Constants
General DefinesROTSURF 回転サーフェス(0) SWEEPSURF スイープサーフェス(1)
KODatUNOBODY関連関数を集めたクラスを継承
Functions
InitializeWinユーザーが独自に作成した関数とUserボタンとの関連付け及び、Userステータスの初期化を行う
DeleteWinKodatunoの終了処理
OpenFile拡張子IGSまたはigsのファイルを読み込むダイアログボックスを表示し、IGSファイルを読み込む. 読み込まれた立体情報はBODYに登録され、BODY描画フラグを立てる. また、読み込んだNURBSデータに縮退がある場合は、その補間もここで行われる
OpenFileファイルオープン(オーバーロード)
OpenInpFile拡張子INPまたはinpを持つインプットファイルのフルパス名を取得する
BodyListSelectBODYリストボックスにあるBODY名が選択された場合に、そのBODYの番号を得る
ReDrawUserFuncUser関数によって実行されたOpenGLによる描画はこの関数で行う. (注意)OpenGLが用意するAPIはこの関数にぶら下がっていなければならない
ReDrawUserCommandUserCommand実行時の再描画呼び出し
GetConsoleCharNumコンソールの現在の文字数を得る
SetConsoleCharNumコンソール文字数を保存する
ExecCommandコンソールから入力されたコマンドを解析し実行する
SetConsoleHistoryコマンド履歴を格納している配列に新たなコマンドを履歴として登録する
GetonsoleHistoryNumコマンド履歴数を取得
GetResizeWindowウィンドウがリサイズされたときに、そのウインドウサイズを読み込む
MouseEventマウスイベントが発生した場合に、押されたボタンに応じて処理を行う
MouseMotionEventマウス移動中のイベント処理
MouseWheelEventマウスホイールの処理
ChangeViewXX軸上の視点に切り替える
ChangeViewYY軸上の視点に切り替える
ChangeViewZZ軸上の視点に切り替える
ChangeViewXYZ鳥瞰視点に切り替える
ChangeViewUpCtrl+上矢印キーで15degづつBODYを回転させる
ChangeViewDownCtrl+下矢印キーで15degづつBODYを回転させる
ChangeViewLeftCtrl+左矢印キーで15degづつBODYを回転させる
ChangeViewRightCtrl+右矢印キーで15degづつBODYを回転させる
FitView倍率をデフォルトに戻す
SolidViewSolid表示
NoEdgeViewBODYをソリッド表示に切り替える
WireFlameViewBODYをWireFlame表示に切り替える
VoidViewBODYを非表示に切り替える
SelectAll全てセレクト状態にする
SelectionCancelエンティティがセレクション状態にある場合は、セレクションを全て解除する
ViewBlendingBODYを半透明にする
DeleteBody選択されているBODYを消去
OpenDelBtnOpen,Deleteボタンの表示属性の変更
ExecuteUserFuncMainUser関数を実行する
GetUserStatUserStatusを取得
UserViewCanccelUser関数の実行によって描画された画像を消去する
SetModelScale最適モデルスケールを取得する
GetModelScaleモデルスケールを取得する
SetToleranceトレランス値をセットする
GetToleranceトレランス値を取得する
GetShiftBodyBODYを平行移動
GetRotateBodyBODYを回転
ExpandBodyBODYを拡大
GenSurfaceセレクションされているNUBS曲線に対して、任意軸周りに任意角度だけ回転/任意軸方向に任意長さだけスイープさせたNURBS曲面を生成する.
GenNurbsCurveInputファイル(点列)を読み込み、指定した生成方法を用いてNURBS曲線を生成する
GenNurbsSurfaceInputファイル(点列)を読み込み、指定した生成方法を用いてNURBS曲面を生成する
GetSurfInfo選択されている曲面の情報をコンソール出力する
changeRank選択されている曲面のRankを変更する
ChangeBackColor背景の色を変更する
*SearchBodyListセレクションされているBODYの実体を得る
GetMeshInfoMesh情報を出力
DrawCharX文字’X’を描画
rawCharY文字’Y’を描画
DrawCharZ文字’Z’を描画
DispUVdirection選択されている曲面のU,V方向を表示する
DispUVinfo選択されている曲面のU,V平面情報を表示する
Describe_Main(Private)BODY描画メイン
DrawBODY(Private)BODYの描画をする
DrawAxis(Private)軸を描画する
DrawRubberband(Private)ラバーバンドを描画する
Draw_NurbsCurve(Private)NURBS曲線を描画する
Draw_NurbsSurface(Private)NURBS曲面を描画する
Draw_TrimSurface(Private)トリム面を描画する
Draw_Mesh(Private)メッシュを描画
UVWireView(Private)UVパラメータで分割されたワイヤーフレームを表示する
SetOpenGLStat(Private)OpenGLを初期化する
SetModelScale(Private)最適モデルスケールを取得する
SetMaxCoord(Private)BODYの最大長を設定する
DoSelect(Private)セレクション(マウスピッキング)を設定する
ClearSeldEntList(Private)セレクションリスト及びOBJECTを初期化する
DeleteBodySub(Private)選択されているBODYを消去する(Sub)
ClickPicking(Private)クリックによるマウスピッキングをする
DragPicking(Private)ドラッグによるマウスピッキングをする
ObjSelect(Private)オブジェクトの選択判別する
AddEntSymbolToObj(Private)OBJECT構造体に何番目の曲線or曲面かの情報を付加する
InitCmdFlags(Private)Cmd用フラグを全てKOD_FALSEに初期化する
SetNewObject(Private)ピックされたオブジェクトをOBJECTリストに登録する
DescribeCP(Private)コントポイントを描画
UVWireFlameviewFlagUVワイヤーフレーム表示フラグ
CPViewFlagコントロールポイント描画フラグ
UVDirFlagUV方向表示フラグ
UVviewFlagUV平面情報表示フラグ
User(Private)ユーザークラス
BodyList(Private)BODYリストの操作用インスタンス
SeldEntList(Private)セレクションされたエンティティを逐次格納していくリスト
CmdMap(Private)コマンドマップ
ConsoleCharNum(Private)コンソールに入力されている全ての文字数を保持
Focus_Body(Private)選択中のBODYを表す値
QFunc(Private)クォータニオンのインスタンス
RotMx(Private)クォータニオン→同時変換マトリックス
StartQ(Private)右クリックした瞬間の回転角を格納するクォータニオン
TargetQ(Private)ぐりぐりやっている途中のクォータニオン
ModelScale(Private)現在のモデルスケール
ModelScale1st(Private)モデルスケールの初期値
Tolerance(Private)NURBSを表現する時の面の粗さ
Vp(Private)ビューポイント
AxisScale(Private)軸描画のスケール
OpenGLInitFlag(Private)OpenGL初期設定済みフラグ
ExecUserFuncFlag(Private)UserFunc描画フラグ
ExecUserCommandFlag(Private)UserComand描画フラグ
DoSelectFlag(Private)セレクション実行フラグ
SweepSelectFlag(Private)スイープセレクションを開始したことを示すフラグ
ScreenHeight(Private)デフォルトスクリーンの高さ
ScreenEidth(Private)デフォルトスクリーンの幅
StartX(Private)ドラッグ開始位置X
StartY(Private)ドラッグ開始位置Y
OldPosX(Private)ウィンドウ再描画直前のX座標
OldPosY(Private)ウィンドウ再描画直前のY座標
CurrentX(Private)ドラッグ中の位置X
CurrentY(Private)ドラッグ中の位置Y
LBtnFlag(Private)右クリックしたことを示すフラグ
RBtnFlag(Private)右クリックしたことを示すフラグ
MBtnFlag(Private)中クリックしたことを示すフラグ
ShiftKeyFlag(Private)Shiftキーを押したことを示すフラグ
CtrlKeyFlag(Private)Ctrlキーを押したことを示すフラグ
AltKeyFlag(Private)Altキーを押したことを示すフラグ
EdgeViewFlag(Private)エッジ表示フラグ
WireFlameViewFlag(Private)ワイヤーフレーム表示フラグ
BlendViewFlag(Private)半透明表示フラグ
DrawBODYFlag(Private)BODY描画フラグ
DrawSurfFlag(Private)Surface描画フラグ
ReDrawBODYFlag(Private)BODY描画1発目を示すフラグ
SelectBuf(Private)セレクトバッファ
argc(Private)コマンド引数
argv(Private)コマンド引数
CmdStack(Private)コマンド履歴
CmdStackNum(Private)コマンド履歴数
CmdStackNow(Private)背景色
Variables
KodatunoKodatunoクラスのグローバル宣言
Functions
CmdVerInfコマンド(バージョン情報出力)
CmdFileOpenコマンド(ファイルオープン)
CmdUVWireコマンド(UVワイヤーフレーム表示)
CmdChScaleコマンド(スケール変更)
CmdGenRotSurfコマンド(回転サーフェス生成)
CmdGenSweepSurfコマンド(スイープサーフェス生成)
CmdGenNurbsCurveコマンド(Nurbs曲線生成)
CmdGenNurbsSurfaceコマンド(トレランス変更)
CmdMoveBodyコマンド(BODYの変更移動)
CmdRotateBodyコマンド(BODYの回転)
CmdCPViewコマンド(コントロールポイント描画)
CmdSurfInfoコマンド(曲面情報を出力)
CmdExpandコマンド(BODYの拡大)
CmdChRankコマンド(NURBS Rankの変更)
CmdChBkColコマンド(背景色変更)
CmdMeshInfコマンド(Mesh情報出力)
CmdUVdirコマンド(U,Vの方向を描画)
CmdUVdirコマンド(U,Vの方向を描画)

Constants

General Defines

ROTSURF 回転サーフェス(0) SWEEPSURF スイープサーフェス(1)

KODatUNO

class KODatUNO : public Describe_BODY

BODY関連関数を集めたクラスを継承

Summary
Functions
InitializeWinユーザーが独自に作成した関数とUserボタンとの関連付け及び、Userステータスの初期化を行う
DeleteWinKodatunoの終了処理
OpenFile拡張子IGSまたはigsのファイルを読み込むダイアログボックスを表示し、IGSファイルを読み込む. 読み込まれた立体情報はBODYに登録され、BODY描画フラグを立てる. また、読み込んだNURBSデータに縮退がある場合は、その補間もここで行われる
OpenFileファイルオープン(オーバーロード)
OpenInpFile拡張子INPまたはinpを持つインプットファイルのフルパス名を取得する
BodyListSelectBODYリストボックスにあるBODY名が選択された場合に、そのBODYの番号を得る
ReDrawUserFuncUser関数によって実行されたOpenGLによる描画はこの関数で行う. (注意)OpenGLが用意するAPIはこの関数にぶら下がっていなければならない
ReDrawUserCommandUserCommand実行時の再描画呼び出し
GetConsoleCharNumコンソールの現在の文字数を得る
SetConsoleCharNumコンソール文字数を保存する
ExecCommandコンソールから入力されたコマンドを解析し実行する
SetConsoleHistoryコマンド履歴を格納している配列に新たなコマンドを履歴として登録する
GetonsoleHistoryNumコマンド履歴数を取得
GetResizeWindowウィンドウがリサイズされたときに、そのウインドウサイズを読み込む
MouseEventマウスイベントが発生した場合に、押されたボタンに応じて処理を行う
MouseMotionEventマウス移動中のイベント処理
MouseWheelEventマウスホイールの処理
ChangeViewXX軸上の視点に切り替える
ChangeViewYY軸上の視点に切り替える
ChangeViewZZ軸上の視点に切り替える
ChangeViewXYZ鳥瞰視点に切り替える
ChangeViewUpCtrl+上矢印キーで15degづつBODYを回転させる
ChangeViewDownCtrl+下矢印キーで15degづつBODYを回転させる
ChangeViewLeftCtrl+左矢印キーで15degづつBODYを回転させる
ChangeViewRightCtrl+右矢印キーで15degづつBODYを回転させる
FitView倍率をデフォルトに戻す
SolidViewSolid表示
NoEdgeViewBODYをソリッド表示に切り替える
WireFlameViewBODYをWireFlame表示に切り替える
VoidViewBODYを非表示に切り替える
SelectAll全てセレクト状態にする
SelectionCancelエンティティがセレクション状態にある場合は、セレクションを全て解除する
ViewBlendingBODYを半透明にする
DeleteBody選択されているBODYを消去
OpenDelBtnOpen,Deleteボタンの表示属性の変更
ExecuteUserFuncMainUser関数を実行する
GetUserStatUserStatusを取得
UserViewCanccelUser関数の実行によって描画された画像を消去する
SetModelScale最適モデルスケールを取得する
GetModelScaleモデルスケールを取得する
SetToleranceトレランス値をセットする
GetToleranceトレランス値を取得する
GetShiftBodyBODYを平行移動
GetRotateBodyBODYを回転
ExpandBodyBODYを拡大
GenSurfaceセレクションされているNUBS曲線に対して、任意軸周りに任意角度だけ回転/任意軸方向に任意長さだけスイープさせたNURBS曲面を生成する.
GenNurbsCurveInputファイル(点列)を読み込み、指定した生成方法を用いてNURBS曲線を生成する
GenNurbsSurfaceInputファイル(点列)を読み込み、指定した生成方法を用いてNURBS曲面を生成する
GetSurfInfo選択されている曲面の情報をコンソール出力する
changeRank選択されている曲面のRankを変更する
ChangeBackColor背景の色を変更する
*SearchBodyListセレクションされているBODYの実体を得る
GetMeshInfoMesh情報を出力
DrawCharX文字’X’を描画
rawCharY文字’Y’を描画
DrawCharZ文字’Z’を描画
DispUVdirection選択されている曲面のU,V方向を表示する
DispUVinfo選択されている曲面のU,V平面情報を表示する
Describe_Main(Private)BODY描画メイン
DrawBODY(Private)BODYの描画をする
DrawAxis(Private)軸を描画する
DrawRubberband(Private)ラバーバンドを描画する
Draw_NurbsCurve(Private)NURBS曲線を描画する
Draw_NurbsSurface(Private)NURBS曲面を描画する
Draw_TrimSurface(Private)トリム面を描画する
Draw_Mesh(Private)メッシュを描画
UVWireView(Private)UVパラメータで分割されたワイヤーフレームを表示する
SetOpenGLStat(Private)OpenGLを初期化する
SetModelScale(Private)最適モデルスケールを取得する
SetMaxCoord(Private)BODYの最大長を設定する
DoSelect(Private)セレクション(マウスピッキング)を設定する
ClearSeldEntList(Private)セレクションリスト及びOBJECTを初期化する
DeleteBodySub(Private)選択されているBODYを消去する(Sub)
ClickPicking(Private)クリックによるマウスピッキングをする
DragPicking(Private)ドラッグによるマウスピッキングをする
ObjSelect(Private)オブジェクトの選択判別する
AddEntSymbolToObj(Private)OBJECT構造体に何番目の曲線or曲面かの情報を付加する
InitCmdFlags(Private)Cmd用フラグを全てKOD_FALSEに初期化する
SetNewObject(Private)ピックされたオブジェクトをOBJECTリストに登録する
DescribeCP(Private)コントポイントを描画
UVWireFlameviewFlagUVワイヤーフレーム表示フラグ
CPViewFlagコントロールポイント描画フラグ
UVDirFlagUV方向表示フラグ
UVviewFlagUV平面情報表示フラグ
User(Private)ユーザークラス
BodyList(Private)BODYリストの操作用インスタンス
SeldEntList(Private)セレクションされたエンティティを逐次格納していくリスト
CmdMap(Private)コマンドマップ
ConsoleCharNum(Private)コンソールに入力されている全ての文字数を保持
Focus_Body(Private)選択中のBODYを表す値
QFunc(Private)クォータニオンのインスタンス
RotMx(Private)クォータニオン→同時変換マトリックス
StartQ(Private)右クリックした瞬間の回転角を格納するクォータニオン
TargetQ(Private)ぐりぐりやっている途中のクォータニオン
ModelScale(Private)現在のモデルスケール
ModelScale1st(Private)モデルスケールの初期値
Tolerance(Private)NURBSを表現する時の面の粗さ
Vp(Private)ビューポイント
AxisScale(Private)軸描画のスケール
OpenGLInitFlag(Private)OpenGL初期設定済みフラグ
ExecUserFuncFlag(Private)UserFunc描画フラグ
ExecUserCommandFlag(Private)UserComand描画フラグ
DoSelectFlag(Private)セレクション実行フラグ
SweepSelectFlag(Private)スイープセレクションを開始したことを示すフラグ
ScreenHeight(Private)デフォルトスクリーンの高さ
ScreenEidth(Private)デフォルトスクリーンの幅
StartX(Private)ドラッグ開始位置X
StartY(Private)ドラッグ開始位置Y
OldPosX(Private)ウィンドウ再描画直前のX座標
OldPosY(Private)ウィンドウ再描画直前のY座標
CurrentX(Private)ドラッグ中の位置X
CurrentY(Private)ドラッグ中の位置Y
LBtnFlag(Private)右クリックしたことを示すフラグ
RBtnFlag(Private)右クリックしたことを示すフラグ
MBtnFlag(Private)中クリックしたことを示すフラグ
ShiftKeyFlag(Private)Shiftキーを押したことを示すフラグ
CtrlKeyFlag(Private)Ctrlキーを押したことを示すフラグ
AltKeyFlag(Private)Altキーを押したことを示すフラグ
EdgeViewFlag(Private)エッジ表示フラグ
WireFlameViewFlag(Private)ワイヤーフレーム表示フラグ
BlendViewFlag(Private)半透明表示フラグ
DrawBODYFlag(Private)BODY描画フラグ
DrawSurfFlag(Private)Surface描画フラグ
ReDrawBODYFlag(Private)BODY描画1発目を示すフラグ
SelectBuf(Private)セレクトバッファ
argc(Private)コマンド引数
argv(Private)コマンド引数
CmdStack(Private)コマンド履歴
CmdStackNum(Private)コマンド履歴数
CmdStackNow(Private)背景色
Variables
KodatunoKodatunoクラスのグローバル宣言
Functions
CmdVerInfコマンド(バージョン情報出力)
CmdFileOpenコマンド(ファイルオープン)
CmdUVWireコマンド(UVワイヤーフレーム表示)
CmdChScaleコマンド(スケール変更)
CmdGenRotSurfコマンド(回転サーフェス生成)
CmdGenSweepSurfコマンド(スイープサーフェス生成)
CmdGenNurbsCurveコマンド(Nurbs曲線生成)
CmdGenNurbsSurfaceコマンド(トレランス変更)
CmdMoveBodyコマンド(BODYの変更移動)
CmdRotateBodyコマンド(BODYの回転)
CmdCPViewコマンド(コントロールポイント描画)
CmdSurfInfoコマンド(曲面情報を出力)
CmdExpandコマンド(BODYの拡大)
CmdChRankコマンド(NURBS Rankの変更)
CmdChBkColコマンド(背景色変更)
CmdMeshInfコマンド(Mesh情報出力)
CmdUVdirコマンド(U,Vの方向を描画)
CmdUVdirコマンド(U,Vの方向を描画)

Functions

InitializeWin

void InitializeWin(int,
int)

ユーザーが独自に作成した関数とUserボタンとの関連付け及び、Userステータスの初期化を行う

DeleteWin

void DeleteWin()

Kodatunoの終了処理

OpenFile

int OpenFile()

拡張子IGSまたはigsのファイルを読み込むダイアログボックスを表示し、IGSファイルを読み込む. 読み込まれた立体情報はBODYに登録され、BODY描画フラグを立てる. また、読み込んだNURBSデータに縮退がある場合は、その補間もここで行われる

OpenFile

int OpenFile(char *)

ファイルオープン(オーバーロード)

OpenInpFile

std::string OpenInpFile()

拡張子INPまたはinpを持つインプットファイルのフルパス名を取得する

BodyListSelect

int BodyListSelect()

BODYリストボックスにあるBODY名が選択された場合に、そのBODYの番号を得る

ReDrawUserFunc

void ReDrawUserFunc()

User関数によって実行されたOpenGLによる描画はこの関数で行う. (注意)OpenGLが用意するAPIはこの関数にぶら下がっていなければならない

ReDrawUserCommand

void ReDrawUserCommand()

UserCommand実行時の再描画呼び出し

GetConsoleCharNum

int GetConsoleCharNum()

コンソールの現在の文字数を得る

SetConsoleCharNum

void SetConsoleCharNum(int)

コンソール文字数を保存する

ExecCommand

void ExecCommand(char *)

コンソールから入力されたコマンドを解析し実行する

SetConsoleHistory

void SetConsoleHistory(std::string)

コマンド履歴を格納している配列に新たなコマンドを履歴として登録する

GetonsoleHistoryNum

コマンド履歴数を取得

GetResizeWindow

void GetResizeWindow(int,
int)

ウィンドウがリサイズされたときに、そのウインドウサイズを読み込む

MouseEvent

void MouseEvent(long,
long,
short,
short)

マウスイベントが発生した場合に、押されたボタンに応じて処理を行う

MouseMotionEvent

void MouseMotionEvent(long,
long,
short,
short)

マウス移動中のイベント処理

MouseWheelEvent

void MouseWheelEvent(long)

マウスホイールの処理

ChangeViewX

void ChangeViewX()

X軸上の視点に切り替える

ChangeViewY

void ChangeViewY()

Y軸上の視点に切り替える

ChangeViewZ

void ChangeViewZ()

Z軸上の視点に切り替える

ChangeViewXYZ

void ChangeViewXYZ()

鳥瞰視点に切り替える

ChangeViewUp

bool ChangeViewUp()

Ctrl+上矢印キーで15degづつBODYを回転させる

ChangeViewDown

bool ChangeViewDown()

Ctrl+下矢印キーで15degづつBODYを回転させる

ChangeViewLeft

bool ChangeViewLeft()

Ctrl+左矢印キーで15degづつBODYを回転させる

ChangeViewRight

bool ChangeViewRight()

Ctrl+右矢印キーで15degづつBODYを回転させる

FitView

void FitView()

倍率をデフォルトに戻す

SolidView

void SolidView()

Solid表示

NoEdgeView

void NoEdgeView()

BODYをソリッド表示に切り替える

WireFlameView

void WireFlameView()

BODYをWireFlame表示に切り替える

VoidView

void VoidView()

BODYを非表示に切り替える

SelectAll

void SelectAll()

全てセレクト状態にする

SelectionCancel

void SelectionCancel()

エンティティがセレクション状態にある場合は、セレクションを全て解除する

ViewBlending

void ViewBlending()

BODYを半透明にする

DeleteBody

void DeleteBody()

選択されているBODYを消去

OpenDelBtn

void OpenDelBtn()

Open,Deleteボタンの表示属性の変更

ExecuteUserFuncMain

void ExecuteUserFuncMain(int)

User関数を実行する

GetUserStat

void GetUserStat(int *,
double [])

UserStatusを取得

UserViewCanccel

User関数の実行によって描画された画像を消去する

SetModelScale

void SetModelScale(double)

最適モデルスケールを取得する

GetModelScale

void GetModelScale()

モデルスケールを取得する

SetTolerance

void SetTolerance(double)

トレランス値をセットする

GetTolerance

void GetTolerance()

トレランス値を取得する

GetShiftBody

void GetShiftBody(Coord)

BODYを平行移動

GetRotateBody

void GetRotateBody(Coord,
double)

BODYを回転

ExpandBody

void ExpandBody(Coord)

BODYを拡大

GenSurface

int GenSurface(Coord,
double,
int)

セレクションされているNUBS曲線に対して、任意軸周りに任意角度だけ回転/任意軸方向に任意長さだけスイープさせたNURBS曲面を生成する.

GenNurbsCurve

int GenNurbsCurve( int,
char *,
 int)

Inputファイル(点列)を読み込み、指定した生成方法を用いてNURBS曲線を生成する

GenNurbsSurface

int GenNurbsSurface( int,
char *,
 int)

Inputファイル(点列)を読み込み、指定した生成方法を用いてNURBS曲面を生成する

GetSurfInfo

void GetSurfInfo()

選択されている曲面の情報をコンソール出力する

changeRank

選択されている曲面のRankを変更する

ChangeBackColor

void ChangeBackColor(double [])

背景の色を変更する

*SearchBodyList

BODY *SearchBodyList(BODYList *,
 int)

セレクションされているBODYの実体を得る

GetMeshInfo

void GetMeshInfo()

Mesh情報を出力

DrawCharX

void DrawCharX(double,
double)

文字’X’を描画

rawCharY

void DrawCharY(double,
double)

文字’Y’を描画

DrawCharZ

void DrawCharZ(double,
double)

文字’Z’を描画

DispUVdirection

void DispUVdirection()

選択されている曲面のU,V方向を表示する

DispUVinfo

void DispUVinfo()

選択されている曲面のU,V平面情報を表示する

Describe_Main

void Describe_Main()

(Private)BODY描画メイン

DrawBODY

void DrawBODY()

(Private)BODYの描画をする

DrawAxis

void DrawAxis(double,
double)

(Private)軸を描画する

DrawRubberband

void DrawRubberband(double,
double,
double,
double)

(Private)ラバーバンドを描画する

Draw_NurbsCurve

void Draw_NurbsCurve(BODY *)

(Private)NURBS曲線を描画する

Draw_NurbsSurface

void Draw_NurbsSurface(BODY *)

(Private)NURBS曲面を描画する

Draw_TrimSurface

(Private)トリム面を描画する

Draw_Mesh

void Draw_Mesh(BODY *)

(Private)メッシュを描画

UVWireView

void UVWireView()

(Private)UVパラメータで分割されたワイヤーフレームを表示する

SetOpenGLStat

void SetOpenGLStat()

(Private)OpenGLを初期化する

SetModelScale

void SetModelScale()

(Private)最適モデルスケールを取得する

SetMaxCoord

void SetMaxCoord()

(Private)BODYの最大長を設定する

DoSelect

void DoSelect(int,
int)

(Private)セレクション(マウスピッキング)を設定する

ClearSeldEntList

void ClearSeldEntList()

(Private)セレクションリスト及びOBJECTを初期化する

DeleteBodySub

void DeleteBodySub(BODY *,
 int)

(Private)選択されているBODYを消去する(Sub)

ClickPicking

void ClickPicking(GLuint SelectBuf[],
int hits)

(Private)クリックによるマウスピッキングをする

DragPicking

void DragPicking(GLuint SelectBuf[],
int hits)

(Private)ドラッグによるマウスピッキングをする

ObjSelect

int ObjSelect(GLuint [],
 int)

(Private)オブジェクトの選択判別する

AddEntSymbolToObj

int AddEntSymbolToObj()

(Private)OBJECT構造体に何番目の曲線or曲面かの情報を付加する

InitCmdFlags

void InitCmdFlags()

(Private)Cmd用フラグを全てKOD_FALSEに初期化する

SetNewObject

void SetNewObject(int,
int,
int)

(Private)ピックされたオブジェクトをOBJECTリストに登録する

DescribeCP

void DescribeCP()

(Private)コントポイントを描画

UVWireFlameviewFlag

UVワイヤーフレーム表示フラグ

CPViewFlag

int CPViewFlag

コントロールポイント描画フラグ

UVDirFlag

int UVDirFlag

UV方向表示フラグ

UVviewFlag

int UVviewFlag

UV平面情報表示フラグ

User

USER User

(Private)ユーザークラス

BodyList

BODYList BodyList

(Private)BODYリストの操作用インスタンス

SeldEntList

OBJECTList SeldEntList

(Private)セレクションされたエンティティを逐次格納していくリスト

CmdMap

CommandMap CmdMap[COMMANDNUMMAX]

(Private)コマンドマップ

ConsoleCharNum

int ConsoleCharNum

(Private)コンソールに入力されている全ての文字数を保持

Focus_Body

int Focus_Body

(Private)選択中のBODYを表す値

QFunc

QUATERNION QFunc

(Private)クォータニオンのインスタンス

RotMx

double RotMx[TMATELEMNUM]

(Private)クォータニオン→同時変換マトリックス

StartQ

Quat StartQ

(Private)右クリックした瞬間の回転角を格納するクォータニオン

TargetQ

Quat TargetQ

(Private)ぐりぐりやっている途中のクォータニオン

ModelScale

double ModelScale

(Private)現在のモデルスケール

ModelScale1st

double ModelScale1st

(Private)モデルスケールの初期値

Tolerance

double Tolerance

(Private)NURBSを表現する時の面の粗さ

Vp

int Vp[4]

(Private)ビューポイント

AxisScale

double AxisScale

(Private)軸描画のスケール

OpenGLInitFlag

int OpenGLInitFlag

(Private)OpenGL初期設定済みフラグ

ExecUserFuncFlag

int ExecUserFuncFlag[USERFUNCNUMMAX]

(Private)UserFunc描画フラグ

ExecUserCommandFlag

int ExecUserCommandFlag[USERCOMMANDNUM]

(Private)UserComand描画フラグ

DoSelectFlag

int DoSelectFlag

(Private)セレクション実行フラグ

SweepSelectFlag

int SweepSelectFlag

(Private)スイープセレクションを開始したことを示すフラグ

ScreenHeight

int ScreenHeight

(Private)デフォルトスクリーンの高さ

ScreenEidth

(Private)デフォルトスクリーンの幅

StartX

int StartX

(Private)ドラッグ開始位置X

StartY

int StartY

(Private)ドラッグ開始位置Y

OldPosX

int OldPosX

(Private)ウィンドウ再描画直前のX座標

OldPosY

int OldPosY

(Private)ウィンドウ再描画直前のY座標

CurrentX

int CurrentX

(Private)ドラッグ中の位置X

CurrentY

int CurrentY

(Private)ドラッグ中の位置Y

LBtnFlag

int LBtnFlag

(Private)右クリックしたことを示すフラグ

RBtnFlag

int RBtnFlag

(Private)右クリックしたことを示すフラグ

MBtnFlag

int MBtnFlag

(Private)中クリックしたことを示すフラグ

ShiftKeyFlag

int ShiftKeyFlag

(Private)Shiftキーを押したことを示すフラグ

CtrlKeyFlag

int CtrlKeyFlag

(Private)Ctrlキーを押したことを示すフラグ

AltKeyFlag

int AltKeyFlag

(Private)Altキーを押したことを示すフラグ

EdgeViewFlag

int EdgeViewFlag

(Private)エッジ表示フラグ

WireFlameViewFlag

int WireFlameViewFlag

(Private)ワイヤーフレーム表示フラグ

BlendViewFlag

int BlendViewFlag

(Private)半透明表示フラグ

DrawBODYFlag

int DrawBODYFlag

(Private)BODY描画フラグ

DrawSurfFlag

int DrawSurfFlag

(Private)Surface描画フラグ

ReDrawBODYFlag

int ReDrawBODYFlag

(Private)BODY描画1発目を示すフラグ

SelectBuf

GLuint SelectBuf[MAXSELECT]

(Private)セレクトバッファ

argc

int argc

(Private)コマンド引数

argv

char *argv[MAXCOMMANDOPNUM]

(Private)コマンド引数

CmdStack

char CmdStack[HISTORYNUMMAX][256]

(Private)コマンド履歴

CmdStackNum

int CmdStackNum

(Private)コマンド履歴数

CmdStackNow

int CmdStackNow

(Private)背景色

Variables

Kodatuno

extern KODatUNO Kodatuno

Kodatunoクラスのグローバル宣言

Functions

CmdVerInf

void CmdVerInf( int,
char *[])

コマンド(バージョン情報出力)

CmdFileOpen

void CmdFileOpen( int,
char *[])

コマンド(ファイルオープン)

CmdUVWire

void CmdUVWire( int,
char *[])

コマンド(UVワイヤーフレーム表示)

CmdChScale

void CmdChScale( int,
char *[])

コマンド(スケール変更)

CmdGenRotSurf

void CmdGenRotSurf( int,
char *[])

コマンド(回転サーフェス生成)

CmdGenSweepSurf

void CmdGenSweepSurf( int,
char *[])

コマンド(スイープサーフェス生成)

CmdGenNurbsCurve

void CmdGenNurbsCurve( int,
char *[])

コマンド(Nurbs曲線生成)

CmdGenNurbsSurface

void CmdGenNurbsSurface( int,
char *[])

コマンド(トレランス変更)

CmdMoveBody

void CmdMoveBody( int,
char *[])

コマンド(BODYの変更移動)

CmdRotateBody

void CmdRotateBody(int ,
char *[])

コマンド(BODYの回転)

CmdCPView

void CmdCPView(int ,
char *[])

コマンド(コントロールポイント描画)

CmdSurfInfo

void CmdSurfInfo( int,
char *[])

コマンド(曲面情報を出力)

CmdExpand

void CmdExpand( int,
char *[])

コマンド(BODYの拡大)

CmdChRank

void CmdChRank( int,
char *[])

コマンド(NURBS Rankの変更)

CmdChBkCol

void CmdChBkCol( int,
char *[])

コマンド(背景色変更)

CmdMeshInf

void CmdMeshInf( int,
char *[])

コマンド(Mesh情報出力)

CmdUVdir

void CmdUVdir( int,
char *[])

コマンド(U,Vの方向を描画)

CmdUVdir

コマンド(U,Vの方向を描画)

class KODatUNO : public Describe_BODY
BODY関連関数を集めたクラスを継承
void InitializeWin(int,
int)
ユーザーが独自に作成した関数とUserボタンとの関連付け及び、Userステータスの初期化を行う
void DeleteWin()
Kodatunoの終了処理
int OpenFile()
拡張子IGSまたはigsのファイルを読み込むダイアログボックスを表示し、IGSファイルを読み込む. 読み込まれた立体情報はBODYに登録され、BODY描画フラグを立てる. また、読み込んだNURBSデータに縮退がある場合は、その補間もここで行われる
std::string OpenInpFile()
拡張子INPまたはinpを持つインプットファイルのフルパス名を取得する
int BodyListSelect()
BODYリストボックスにあるBODY名が選択された場合に、そのBODYの番号を得る
void ReDrawUserFunc()
User関数によって実行されたOpenGLによる描画はこの関数で行う. (注意)OpenGLが用意するAPIはこの関数にぶら下がっていなければならない
void ReDrawUserCommand()
UserCommand実行時の再描画呼び出し
int GetConsoleCharNum()
コンソールの現在の文字数を得る
void SetConsoleCharNum(int)
コンソール文字数を保存する
void ExecCommand(char *)
コンソールから入力されたコマンドを解析し実行する
void SetConsoleHistory(std::string)
コマンド履歴を格納している配列に新たなコマンドを履歴として登録する
void GetResizeWindow(int,
int)
ウィンドウがリサイズされたときに、そのウインドウサイズを読み込む
void MouseEvent(long,
long,
short,
short)
マウスイベントが発生した場合に、押されたボタンに応じて処理を行う
void MouseMotionEvent(long,
long,
short,
short)
マウス移動中のイベント処理
void MouseWheelEvent(long)
マウスホイールの処理
void ChangeViewX()
X軸上の視点に切り替える
void ChangeViewY()
Y軸上の視点に切り替える
void ChangeViewZ()
Z軸上の視点に切り替える
void ChangeViewXYZ()
鳥瞰視点に切り替える
bool ChangeViewUp()
Ctrl+上矢印キーで15degづつBODYを回転させる
bool ChangeViewDown()
Ctrl+下矢印キーで15degづつBODYを回転させる
bool ChangeViewLeft()
Ctrl+左矢印キーで15degづつBODYを回転させる
bool ChangeViewRight()
Ctrl+右矢印キーで15degづつBODYを回転させる
void FitView()
倍率をデフォルトに戻す
void SolidView()
Solid表示
void NoEdgeView()
BODYをソリッド表示に切り替える
void WireFlameView()
BODYをWireFlame表示に切り替える
void VoidView()
BODYを非表示に切り替える
void SelectAll()
全てセレクト状態にする
void SelectionCancel()
エンティティがセレクション状態にある場合は、セレクションを全て解除する
void ViewBlending()
BODYを半透明にする
void DeleteBody()
選択されているBODYを消去
void OpenDelBtn()
Open,Deleteボタンの表示属性の変更
void ExecuteUserFuncMain(int)
User関数を実行する
void GetUserStat(int *,
double [])
UserStatusを取得
void SetModelScale(double)
最適モデルスケールを取得する
void GetModelScale()
モデルスケールを取得する
void SetTolerance(double)
トレランス値をセットする
void GetTolerance()
トレランス値を取得する
void GetShiftBody(Coord)
BODYを平行移動
void GetRotateBody(Coord,
double)
BODYを回転
void ExpandBody(Coord)
BODYを拡大
int GenSurface(Coord,
double,
int)
セレクションされているNUBS曲線に対して、任意軸周りに任意角度だけ回転/任意軸方向に任意長さだけスイープさせたNURBS曲面を生成する.
int GenNurbsCurve( int,
char *,
 int)
Inputファイル(点列)を読み込み、指定した生成方法を用いてNURBS曲線を生成する
int GenNurbsSurface( int,
char *,
 int)
Inputファイル(点列)を読み込み、指定した生成方法を用いてNURBS曲面を生成する
void GetSurfInfo()
選択されている曲面の情報をコンソール出力する
void ChangeBackColor(double [])
背景の色を変更する
BODY *SearchBodyList(BODYList *,
 int)
セレクションされているBODYの実体を得る
void GetMeshInfo()
Mesh情報を出力
void DrawCharX(double,
double)
文字’X’を描画
void DrawCharY(double,
double)
文字’Y’を描画
void DrawCharZ(double,
double)
文字’Z’を描画
void DispUVdirection()
選択されている曲面のU,V方向を表示する
void DispUVinfo()
選択されている曲面のU,V平面情報を表示する
void Describe_Main()
(Private)BODY描画メイン
void DrawBODY()
(Private)BODYの描画をする
void DrawAxis(double,
double)
(Private)軸を描画する
void DrawRubberband(double,
double,
double,
double)
(Private)ラバーバンドを描画する
void Draw_NurbsCurve(BODY *)
(Private)NURBS曲線を描画する
void Draw_NurbsSurface(BODY *)
(Private)NURBS曲面を描画する
void Draw_Mesh(BODY *)
(Private)メッシュを描画
void UVWireView()
(Private)UVパラメータで分割されたワイヤーフレームを表示する
void SetOpenGLStat()
(Private)OpenGLを初期化する
void SetMaxCoord()
(Private)BODYの最大長を設定する
void DoSelect(int,
int)
(Private)セレクション(マウスピッキング)を設定する
void ClearSeldEntList()
(Private)セレクションリスト及びOBJECTを初期化する
void DeleteBodySub(BODY *,
 int)
(Private)選択されているBODYを消去する(Sub)
void ClickPicking(GLuint SelectBuf[],
int hits)
(Private)クリックによるマウスピッキングをする
void DragPicking(GLuint SelectBuf[],
int hits)
(Private)ドラッグによるマウスピッキングをする
int ObjSelect(GLuint [],
 int)
(Private)オブジェクトの選択判別する
int AddEntSymbolToObj()
(Private)OBJECT構造体に何番目の曲線or曲面かの情報を付加する
void InitCmdFlags()
(Private)Cmd用フラグを全てKOD_FALSEに初期化する
void SetNewObject(int,
int,
int)
(Private)ピックされたオブジェクトをOBJECTリストに登録する
void DescribeCP()
(Private)コントポイントを描画
int CPViewFlag
コントロールポイント描画フラグ
int UVDirFlag
UV方向表示フラグ
int UVviewFlag
UV平面情報表示フラグ
USER User
(Private)ユーザークラス
BODYList BodyList
(Private)BODYリストの操作用インスタンス
OBJECTList SeldEntList
(Private)セレクションされたエンティティを逐次格納していくリスト
CommandMap CmdMap[COMMANDNUMMAX]
(Private)コマンドマップ
int ConsoleCharNum
(Private)コンソールに入力されている全ての文字数を保持
int Focus_Body
(Private)選択中のBODYを表す値
QUATERNION QFunc
(Private)クォータニオンのインスタンス
double RotMx[TMATELEMNUM]
(Private)クォータニオン→同時変換マトリックス
Quat StartQ
(Private)右クリックした瞬間の回転角を格納するクォータニオン
Quat TargetQ
(Private)ぐりぐりやっている途中のクォータニオン
double ModelScale
(Private)現在のモデルスケール
double ModelScale1st
(Private)モデルスケールの初期値
double Tolerance
(Private)NURBSを表現する時の面の粗さ
int Vp[4]
(Private)ビューポイント
double AxisScale
(Private)軸描画のスケール
int OpenGLInitFlag
(Private)OpenGL初期設定済みフラグ
int ExecUserFuncFlag[USERFUNCNUMMAX]
(Private)UserFunc描画フラグ
int ExecUserCommandFlag[USERCOMMANDNUM]
(Private)UserComand描画フラグ
int DoSelectFlag
(Private)セレクション実行フラグ
int SweepSelectFlag
(Private)スイープセレクションを開始したことを示すフラグ
int ScreenHeight
(Private)デフォルトスクリーンの高さ
int StartX
(Private)ドラッグ開始位置X
int StartY
(Private)ドラッグ開始位置Y
int OldPosX
(Private)ウィンドウ再描画直前のX座標
int OldPosY
(Private)ウィンドウ再描画直前のY座標
int CurrentX
(Private)ドラッグ中の位置X
int CurrentY
(Private)ドラッグ中の位置Y
int LBtnFlag
(Private)右クリックしたことを示すフラグ
int RBtnFlag
(Private)右クリックしたことを示すフラグ
int MBtnFlag
(Private)中クリックしたことを示すフラグ
int ShiftKeyFlag
(Private)Shiftキーを押したことを示すフラグ
int CtrlKeyFlag
(Private)Ctrlキーを押したことを示すフラグ
int AltKeyFlag
(Private)Altキーを押したことを示すフラグ
int EdgeViewFlag
(Private)エッジ表示フラグ
int WireFlameViewFlag
(Private)ワイヤーフレーム表示フラグ
int BlendViewFlag
(Private)半透明表示フラグ
int DrawBODYFlag
(Private)BODY描画フラグ
int DrawSurfFlag
(Private)Surface描画フラグ
int ReDrawBODYFlag
(Private)BODY描画1発目を示すフラグ
GLuint SelectBuf[MAXSELECT]
(Private)セレクトバッファ
int argc
(Private)コマンド引数
char *argv[MAXCOMMANDOPNUM]
(Private)コマンド引数
char CmdStack[HISTORYNUMMAX][256]
(Private)コマンド履歴
int CmdStackNum
(Private)コマンド履歴数
int CmdStackNow
(Private)背景色
extern KODatUNO Kodatuno
Kodatunoクラスのグローバル宣言
void CmdVerInf( int,
char *[])
コマンド(バージョン情報出力)
void CmdFileOpen( int,
char *[])
コマンド(ファイルオープン)
void CmdUVWire( int,
char *[])
コマンド(UVワイヤーフレーム表示)
void CmdChScale( int,
char *[])
コマンド(スケール変更)
void CmdGenRotSurf( int,
char *[])
コマンド(回転サーフェス生成)
void CmdGenSweepSurf( int,
char *[])
コマンド(スイープサーフェス生成)
void CmdGenNurbsCurve( int,
char *[])
コマンド(Nurbs曲線生成)
void CmdGenNurbsSurface( int,
char *[])
コマンド(トレランス変更)
void CmdMoveBody( int,
char *[])
コマンド(BODYの変更移動)
void CmdRotateBody(int ,
char *[])
コマンド(BODYの回転)
void CmdCPView(int ,
char *[])
コマンド(コントロールポイント描画)
void CmdSurfInfo( int,
char *[])
コマンド(曲面情報を出力)
void CmdExpand( int,
char *[])
コマンド(BODYの拡大)
void CmdChRank( int,
char *[])
コマンド(NURBS Rankの変更)
void CmdChBkCol( int,
char *[])
コマンド(背景色変更)
void CmdMeshInf( int,
char *[])
コマンド(Mesh情報出力)
void CmdUVdir( int,
char *[])
コマンド(U,Vの方向を描画)