IGES_Parser.cpp | |
Functions | |
IGES_Parser_Main | IGESパーサーのメイン |
Optimize4OpenGL | 読み込んだIGESファイルをOpenGL用に最適化する |
CheckDegenracy | 縮退チェック |
ModifyParamConect | パラメトリック平面内のトリム曲線同士のつながりをチェック、修正する |
ChangeKnotVecRange | ノットベクトルの範囲を0~valにする. |
ChangeKnot | ノットベクトルの範囲変更関数ChangeKnotVecRange()のサブ関数 |
SearchMinVecRange | ノットベクトル列から隣り合うノットベクトルの最小値を探索し返す |
ExpandKnotRange | 隣り合うノットベクトルの差がMIN_KNOT_RANGE以上になるよう範囲を変更する |
CheckCWforTrim | トリムに使われている複合曲線からなる多角形が時計回りか反時計回りかを調べ、外周トリムは反時計回り、内周トリムは時計周りになるように変更する |
ReverseCOMPELEM | COMPELEM配列を反転 |
ChangeEntityforNurbs | NURBS曲線以外のエンティティをNURBS曲線に変換し、変換行列があれば座標変換を施す |
GetParameterSection | パラメータ部の情報を読み込む |
GetCirAPara | Type100 円・円弧を読み込む |
GetConAPara | Type104 円錐曲線の読み込み(未実装) |
GetLinePara | Type110 線分の読み込み |
GetTMatPara | Type124 変換行列の読み込み |
GetNurbsCPara | Type126 NRBS曲線の読み込み |
GetNurbsSPara | Type128 NURBS曲面の読み込み |
GetCompCPara | Type102 複合曲線の読み込み |
GeConpSPara | Type142 面上線の読み込み |
GetTrmSPara | Type144 トリム面の読み込み |
GetDirectorySection | ディレクトリ部読み込み |
GetType | 各エンティティタイプの数を取得する |
GetStatusNumber | DE#9(ステータス)部の読み込み |
GetGlobalSection | グローバル部読み込み |
GetStartSection | スタート部読み込み |
GetTerminateSection | ターミネート部読み込み |
IGESパーサーのメイン
int IGES_PARSER::IGES_Parser_Main( BODY * body, const char * IGES_fname )
読み込んだIGESファイルをOpenGL用に最適化する
int IGES_PARSER::Optimize4OpenGL( BODY * body )
縮退チェック
int IGES_PARSER::CheckDegenracy( BODY * body )
パラメトリック平面内のトリム曲線同士のつながりをチェック、修正する
int IGES_PARSER::ModifyParamConect( BODY * body )
ノットベクトルの範囲を0~valにする.
int IGES_PARSER::ChangeKnotVecRange( double Range[], double Knot[], int N, int M, int K, double val )
ノットベクトルの範囲変更関数ChangeKnotVecRange()のサブ関数
double IGES_PARSER::ChangeKnot( double Knot, double M_, double K_, double val )
ノットベクトル列から隣り合うノットベクトルの最小値を探索し返す
double IGES_PARSER::SearchMinVecRange( double Knot[], int M, int K )
隣り合うノットベクトルの差がMIN_KNOT_RANGE以上になるよう範囲を変更する
int IGES_PARSER::ExpandKnotRange( BODY * body )
トリムに使われている複合曲線からなる多角形が時計回りか反時計回りかを調べ、外周トリムは反時計回り、内周トリムは時計周りになるように変更する
int IGES_PARSER::CheckCWforTrim( BODY * body )
COMPELEM配列を反転
void IGES_PARSER::ReverseCOMPELEM( COMPC * CompC )
NURBS曲線以外のエンティティをNURBS曲線に変換し、変換行列があれば座標変換を施す
int IGES_PARSER::ChangeEntityforNurbs( DirectoryParam * dpara, BODY body, int dline )
パラメータ部の情報を読み込む
int IGES_PARSER::GetParameterSection( FILE * fp, DirectoryParam * dpara, BODY body, int dline )
Type100 円・円弧を読み込む
int IGES_PARSER::GetCirAPara( char str[], int pD, DirectoryParam * dpara, BODY body )
Type104 円錐曲線の読み込み(未実装)
int IGES_PARSER::GetConAPara( char str[], int pD, DirectoryParam * dpara, BODY body )
Type110 線分の読み込み
int IGES_PARSER::GetLinePara( char str[], int pD, DirectoryParam * dpara, BODY body )
Type124 変換行列の読み込み
int IGES_PARSER::GetTMatPara( char str[], int pD, DirectoryParam * dpara, BODY body )
Type126 NRBS曲線の読み込み
int IGES_PARSER::GetNurbsCPara( char str[], int pD, DirectoryParam * dpara, BODY body )
Type128 NURBS曲面の読み込み
int IGES_PARSER::GetNurbsSPara( char str[], int pD, DirectoryParam * dpara, BODY body )
Type102 複合曲線の読み込み
int IGES_PARSER::GetCompCPara( char str[], int pD, DirectoryParam * dpara, int dline, BODY body )
Type142 面上線の読み込み
int IGES_PARSER::GeConpSPara( char str[], int pD, DirectoryParam * dpara, int dline, BODY body )
Type144 トリム面の読み込み
int IGES_PARSER::GetTrmSPara( char str[], int pD, DirectoryParam * dpara, BODY body )
ディレクトリ部読み込み
int IGES_PARSER::GetDirectorySection( FILE * fp, DirectoryParam * dpara, int TypeNum[], int dline )
各エンティティタイプの数を取得する
void IGES_PARSER::GetType( int type, int entitynum[] )
DE#9(ステータス)部の読み込み
void IGES_PARSER::GetStatusNumber( char field[], DirectoryParam * dpara )
グローバル部読み込み
int IGES_PARSER::GetGlobalSection( FILE * fp, GlobalParam * gpara, int gline )
スタート部読み込み
int IGES_PARSER::GetStartSection( FILE * fp, int sline )
ターミネート部読み込み
int IGES_PARSER::GetTerminateSection( FILE * fp )