IGES_Parser.h | |
Constants | |
General Defines | |
GlobalParam | グローバル部の必要パラメータ構造体 |
DirectoryParam | ディレクトリ部の必要パラメータ構造体 |
IGES_PARSER | IGESパーサー用クラス |
Functions | |
IGES_PARSER | IGES_PARSERクラスのコンストラクタ |
IGES_Parser_Main | IGESファイルのパーサmain |
Optimize4OpenGL | 読み込んだIGESファイルをOpenGL用に最適化する(ExpandKnotRange(), ModifyParamConect(), CheckDegenracy(), CheckCWforTrim()を実行) |
ExpandKnotRange | 隣り合うノットベクトルの差がMIN_KNOT_RANGE以上になるよう範囲を変更する |
ModifyParamConect | パラメトリック平面内のトリム曲線同士のつながりをチェック、修正する |
CheckDegenracy | 縮退(2Dパラメトリック曲線の始点と終点が一致しているか)のチェック |
CheckCWforTrim | トリムに使われている複合曲線からなる多角形が時計回りか反時計回りかを調べ、外周トリムは反時計回り、内周トリムは時計周りになるように変更する |
NormalizeKnotRange | ノットベクトルの範囲を0~valへ(ノットの正規化) |
GetSectionLine | 各セクションのライン数を調べる |
GetStartSection | スタート部の読み込み |
GetGlobalSection | グローバル部の読み込み |
GetDirectorySection | ディレクトリ部の読み込み |
GetStatusNumber | ディレクトリ部の情報#9を取得 |
GetParameterSection | パラメータ部の読み込み |
GetTerminateSection | ターミネート部の読み込み(スケルトン) |
GetType | 各エンティティタイプの数を記憶する |
GetCirAPara | Type100 円・円弧の読み込み |
GetCompCPara | Type102 複合曲線の読み込み |
GetConAPara | Type104 円錐曲線の読み込み |
GetLinePara | Type110 線分の読み込み |
GetTMatPara | Type124 変換行列の読み込み |
GetNurbsCPara | Type126 NRBS曲線の読み込み |
GetNurbsSPara | Type128 NRBS曲面の読み込み |
GeConpSPara | Type142 面上線の読み込み |
GetTrmSPara | Type144 トリム面の読み込み |
CatchStringI | カンマまでの数値を読み込んで返す(int) |
CatchStringD | カンマまでの数値を読み込んで返す(double) |
ChangeEntityforNurbs | エンティティを全てNURBSへ変更する |
SearchMaxCoord | 全てのエンティティにおける座標値の最大値を調べる |
GetDEPointer | DE部へのポインタが示す実際の構造体へのポインタを返す |
SearchEntType | DE部へのポインタの値からエンティティのタイプを調べて返す |
InitDisplayStat | 各エンティティの表示属性を設定 |
TransformNurbsC | NURBS曲線を座標変換する |
ChangeKnotVecRange | ノットベクトルの正規化sub1 |
ChangeKnot | ノットベクトルの正規化sub2 |
SearchMinVecRange | ノットベクトルの最小間隔を探索 |
ReverseCOMPELEM | COMPELEM配列を反転 |
Variables | |
*body | (private)BODYクラスへのポインタ(IGESデータはこのBODY構造体に全て格納される) |
NFunc | (private)NURBS_Funcクラスのインスタンス |
*TypeNum | (private)どのBODYオブジェクトが幾つあるかを示す |
buf[COLUMN_MAX_] | (private)汎用文字列バッファ |
entity[ALL_ENTITY_TYPE_NUM] | (private)エンティティの番号を格納した配列 |
TypeCount[ALL_ENTITY_TYPE_NUM] | (private)各エンティティタイプの正常メモリー確保数を格納 |
class IGES_PARSER
IGESパーサー用クラス
Functions | |
IGES_PARSER | IGES_PARSERクラスのコンストラクタ |
IGES_Parser_Main | IGESファイルのパーサmain |
Optimize4OpenGL | 読み込んだIGESファイルをOpenGL用に最適化する(ExpandKnotRange(), ModifyParamConect(), CheckDegenracy(), CheckCWforTrim()を実行) |
ExpandKnotRange | 隣り合うノットベクトルの差がMIN_KNOT_RANGE以上になるよう範囲を変更する |
ModifyParamConect | パラメトリック平面内のトリム曲線同士のつながりをチェック、修正する |
CheckDegenracy | 縮退(2Dパラメトリック曲線の始点と終点が一致しているか)のチェック |
CheckCWforTrim | トリムに使われている複合曲線からなる多角形が時計回りか反時計回りかを調べ、外周トリムは反時計回り、内周トリムは時計周りになるように変更する |
NormalizeKnotRange | ノットベクトルの範囲を0~valへ(ノットの正規化) |
GetSectionLine | 各セクションのライン数を調べる |
GetStartSection | スタート部の読み込み |
GetGlobalSection | グローバル部の読み込み |
GetDirectorySection | ディレクトリ部の読み込み |
GetStatusNumber | ディレクトリ部の情報#9を取得 |
GetParameterSection | パラメータ部の読み込み |
GetTerminateSection | ターミネート部の読み込み(スケルトン) |
GetType | 各エンティティタイプの数を記憶する |
GetCirAPara | Type100 円・円弧の読み込み |
GetCompCPara | Type102 複合曲線の読み込み |
GetConAPara | Type104 円錐曲線の読み込み |
GetLinePara | Type110 線分の読み込み |
GetTMatPara | Type124 変換行列の読み込み |
GetNurbsCPara | Type126 NRBS曲線の読み込み |
GetNurbsSPara | Type128 NRBS曲面の読み込み |
GeConpSPara | Type142 面上線の読み込み |
GetTrmSPara | Type144 トリム面の読み込み |
CatchStringI | カンマまでの数値を読み込んで返す(int) |
CatchStringD | カンマまでの数値を読み込んで返す(double) |
ChangeEntityforNurbs | エンティティを全てNURBSへ変更する |
SearchMaxCoord | 全てのエンティティにおける座標値の最大値を調べる |
GetDEPointer | DE部へのポインタが示す実際の構造体へのポインタを返す |
SearchEntType | DE部へのポインタの値からエンティティのタイプを調べて返す |
InitDisplayStat | 各エンティティの表示属性を設定 |
TransformNurbsC | NURBS曲線を座標変換する |
ChangeKnotVecRange | ノットベクトルの正規化sub1 |
ChangeKnot | ノットベクトルの正規化sub2 |
SearchMinVecRange | ノットベクトルの最小間隔を探索 |
ReverseCOMPELEM | COMPELEM配列を反転 |
Variables | |
*body | (private)BODYクラスへのポインタ(IGESデータはこのBODY構造体に全て格納される) |
NFunc | (private)NURBS_Funcクラスのインスタンス |
*TypeNum | (private)どのBODYオブジェクトが幾つあるかを示す |
buf[COLUMN_MAX_] | (private)汎用文字列バッファ |
entity[ALL_ENTITY_TYPE_NUM] | (private)エンティティの番号を格納した配列 |
TypeCount[ALL_ENTITY_TYPE_NUM] | (private)各エンティティタイプの正常メモリー確保数を格納 |
IGESパーサー用クラス
class IGES_PARSER
IGES_PARSERクラスのコンストラクタ
IGES_PARSER()
IGESファイルのパーサmain
int IGES_Parser_Main( BODY * , const char * )
読み込んだIGESファイルをOpenGL用に最適化する(ExpandKnotRange(), ModifyParamConect(), CheckDegenracy(), CheckCWforTrim()を実行)
int Optimize4OpenGL( BODY * )
隣り合うノットベクトルの差がMIN_KNOT_RANGE以上になるよう範囲を変更する
int ExpandKnotRange( BODY * )
パラメトリック平面内のトリム曲線同士のつながりをチェック、修正する
int ModifyParamConect( BODY * )
縮退(2Dパラメトリック曲線の始点と終点が一致しているか)のチェック
int CheckDegenracy( BODY * )
トリムに使われている複合曲線からなる多角形が時計回りか反時計回りかを調べ、外周トリムは反時計回り、内周トリムは時計周りになるように変更する
int CheckCWforTrim( BODY * )
ノットベクトルの範囲を0~valへ(ノットの正規化)
int NormalizeKnotRange( BODY * , double )
各セクションのライン数を調べる
void GetSectionLine( FILE * , int [] )
スタート部の読み込み
int GetStartSection( FILE * , int )
グローバル部の読み込み
int GetGlobalSection( FILE * , GlobalParam * , int )
ディレクトリ部の読み込み
int GetDirectorySection( FILE * , DirectoryParam * , int [], int )
ディレクトリ部の情報#9を取得
void GetStatusNumber( char [], DirectoryParam * )
パラメータ部の読み込み
int GetParameterSection( FILE * , DirectoryParam * , BODY, int )
ターミネート部の読み込み(スケルトン)
int GetTerminateSection( FILE * )
各エンティティタイプの数を記憶する
void GetType( int, int [] )
Type100 円・円弧の読み込み
int GetCirAPara( char [], int, DirectoryParam * , BODY )
Type102 複合曲線の読み込み
int GetCompCPara( char [], int, DirectoryParam * , int, BODY )
Type104 円錐曲線の読み込み
int GetConAPara( char [], int, DirectoryParam * , BODY )
Type110 線分の読み込み
int GetLinePara( char [], int, DirectoryParam * , BODY )
Type124 変換行列の読み込み
int GetTMatPara( char [], int, DirectoryParam * , BODY )
Type126 NRBS曲線の読み込み
int GetNurbsCPara( char [], int, DirectoryParam * , BODY )
Type128 NRBS曲面の読み込み
int GetNurbsSPara( char [], int, DirectoryParam * , BODY )
Type142 面上線の読み込み
int GeConpSPara( char [], int, DirectoryParam * , int, BODY )
Type144 トリム面の読み込み
int GetTrmSPara( char [], int, DirectoryParam * , BODY )
カンマまでの数値を読み込んで返す(int)
int CatchStringI( char ** )
カンマまでの数値を読み込んで返す(double)
double CatchStringD( char ** )
エンティティを全てNURBSへ変更する
int ChangeEntityforNurbs( DirectoryParam * , BODY, int )
全てのエンティティにおける座標値の最大値を調べる
int SearchMaxCoord( BODY * , int [] )
DE部へのポインタが示す実際の構造体へのポインタを返す
void *GetDEPointer( int , BODY )
DE部へのポインタの値からエンティティのタイプを調べて返す
int SearchEntType( DirectoryParam * , int, int )
各エンティティの表示属性を設定
void InitDisplayStat( DispStat * )
NURBS曲線を座標変換する
int TransformNurbsC( int, int, BODY )
ノットベクトルの正規化sub1
int ChangeKnotVecRange( double [], double [], int, int, int, double )
ノットベクトルの正規化sub2
double ChangeKnot( double , double , double, double )
ノットベクトルの最小間隔を探索
double SearchMinVecRange( double [], int, int )
COMPELEM配列を反転
void ReverseCOMPELEM( COMPC * )
(private)BODYクラスへのポインタ(IGESデータはこのBODY構造体に全て格納される)
BODY *body
(private)NURBS_Funcクラスのインスタンス
NURBS_Func NFunc
(private)どのBODYオブジェクトが幾つあるかを示す
int *TypeNum
(private)汎用文字列バッファ
char buf[COLUMN_MAX_]
(private)エンティティの番号を格納した配列
int entity[ALL_ENTITY_TYPE_NUM]
(private)各エンティティタイプの正常メモリー確保数を格納
int TypeCount[ALL_ENTITY_TYPE_NUM]