1#ifndef  __JBXL_CPP_MESHFACETNODE_H_ 
    2#define  __JBXL_CPP_MESHFACETNODE_H_ 
   18#define   JBXL_MATERIAL_PREFIX      "#MATERIAL_" 
   67    void    set (
int vertex,   
int polygon,   
int vcount=3);
 
   68    bool    getm(
int vertex=0, 
int polygon=0, 
int vcount=0);    
 
 
三角Contour(Facet)用ライブラリ ヘッダ for BREP
 
MeshObject の Polygonデータ(1面)を格納するクラス.リスト構造を取る.
 
MaterialParam material_param
マテリアルパラメータ
 
void del_nodes(MeshFacetNode *next)
 
Vector< double > * normal_value
法線ベクトルデータの並び.要素数は num_vertex
 
bool same_material
他の Node が既に同じマテリアルを使用している.
 
bool computeVertexByBREP(ContourBaseData *facetdata)
 
void delMaterialParam(void)
 
int num_texcrd
テクスチャ画像の座標数.通常は num_vertex に等しい.(texcrd_value の要素数)
 
int num_index
頂点の延べ数.num_polygon*MeshObjectData::num_vcount (num_polygon*3)(data_index の要素数)
 
void execAffineTransUVMap(UVMap< double > *uvmap=NULL, int num=-1)
 
ArrayParam< int > * weight_value
頂点の重み.Jointを持つデータに使用される.要素数は num_vertex. 各 weight_value[i] の値は トータルで正規化される必要がある.
 
bool computeVertexDirect(ContourBaseData *facetdata)
 
int * data_index
インデックスデータ.要素数は num_index
 
UVMap< double > * texcrd_value
テクスチャマップの並び.要素数は num_texcrd
 
bool getm(int vertex=0, int polygon=0, int vcount=0)
メモリの確保
 
void set(int vertex, int polygon, int vcount=3)
 
void setMaterialID(const char *str)
 
virtual ~MeshFacetNode(void)
 
void * getMaterialID(void)
 
UVMap< double > * generatePlanarUVMap(Vector< double > scale, UVMap< double > *uvmap=NULL)
 
Buffer material_id
マテリアルを識別するID.JBXL_MATERIAL_PREFIX で始まる.
 
int num_vertex
頂点のデータ数.(vertex_value, normal_value の要素数)
 
Vector< double > * vertex_value
頂点データの並び.要素数は num_vertex
 
void setMaterialParam(MaterialParam param)
ノードにマテリアルパラメータを設定し,他のノードに同じマテリアルが存在するかチャックする.
 
void freeMeshFacetList(MeshFacetNode *&node)
 
MeshFacetNode * DelMeshFacetNode(MeshFacetNode *node)
 
void freeMeshFacetNode(MeshFacetNode *&node)
 
MeshFacetNode * AddMeshFacetNode(MeshFacetNode *list, MeshFacetNode *node)
 
unsigned char * buf
バッファの先頭へのポインタ.str[bufsz]は必ず 0x00となる.