VRML_Parser.cpp

Summary
VRML_Parser.cpp
Functions
Vrml_Parser_MainVRMLパーサメイン
SetFaceParam各面に面積の情報を付加する
GetHalfEdgePair対となる逆方向ハーフエッジへのポインタを得る
GetFacetsファセットをMESHに格納
SetMesh頂点のインデックスセットから、メッシュデータを生成する
GetCoords三次元座標値をMESHに格納
GetLineファイルから1行取得し、改行文字を終端文字に変更する
CheckTagsタグ解析

Functions

Vrml_Parser_Main

int VRML_PARSER::Vrml_Parser_Main(BODY *body,
const char *fname)

VRMLパーサメイン

Parameter

*bodyBODYへのポインタ
*fnameVRMLファイル名

Return

KOD_ERR:ファイルオープンエラー,VRMLバージョンエラー KOD_TRUE:正常終了

SetFaceParam

void VRML_PARSER::SetFaceParam(MESH *mesh)

各面に面積の情報を付加する

Parameter

*meshMESHインスタンスへのポインタ

GetHalfEdgePair

int VRML_PARSER::GetHalfEdgePair(MESH *mesh)

対となる逆方向ハーフエッジへのポインタを得る

Parameter

*meshMESHインスタンスへのポインタ

Return

KOD_TRUE

GetFacets

int VRML_PARSER::GetFacets(FILE *fp,
MESH *mesh)

ファセットをMESHに格納

Parameter

*fpVRMLファイルへのファイルポインタ
*meshMESHインスタンスへのポインタ

Return

KOD_TRUE:正常に読み込み終了 KOD_ERR:三次元座標値を取得中にファイルが終了

SetMesh

void VRML_PARSER::SetMesh(MESH *mesh,
int vindex[],
int edgecount)

頂点のインデックスセットから、メッシュデータを生成する

Parameter

*meshMESHインスタンスへのポインタ
vindex[]頂点のインデックスセット
edgecountエッジの総数

GetCoords

int VRML_PARSER::GetCoords(FILE *fp,
MESH *mesh)

三次元座標値をMESHに格納

Parameter

*fpVRMLファイルへのファイルポインタ
*meshMESHインスタンスへのポインタ

Return

KOD_TRUE:正常に読み込み終了 KOD_ERR:三次元座標値を取得中にファイルが終了

GetLine

int VRML_PARSER::GetLine(FILE *fp,
char buf[])

ファイルから1行取得し、改行文字を終端文字に変更する

Parameter

*fpVRMLファイルへのファイルポインタ
buf[]1行

Return

文字数

CheckTags

int VRML_PARSER::CheckTags(char buf[])

タグ解析

Parameter

buf[]1行

Return

各タグのインデックス番号, KOD_ERR:タグが見つからなかった

int VRML_PARSER::Vrml_Parser_Main(BODY *body,
const char *fname)
VRMLパーサメイン
void VRML_PARSER::SetFaceParam(MESH *mesh)
各面に面積の情報を付加する
int VRML_PARSER::GetHalfEdgePair(MESH *mesh)
対となる逆方向ハーフエッジへのポインタを得る
int VRML_PARSER::GetFacets(FILE *fp,
MESH *mesh)
ファセットをMESHに格納
void VRML_PARSER::SetMesh(MESH *mesh,
int vindex[],
int edgecount)
頂点のインデックスセットから、メッシュデータを生成する
int VRML_PARSER::GetCoords(FILE *fp,
MESH *mesh)
三次元座標値をMESHに格納
int VRML_PARSER::GetLine(FILE *fp,
char buf[])
ファイルから1行取得し、改行文字を終端文字に変更する
int VRML_PARSER::CheckTags(char buf[])
タグ解析