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となる.