93 bool ret =
addNode(contours, name, param);
124 ret =
addNode(name, param, useBrep);
154 ret =
addNode(name, param, useBrep);
183 if (vct==NULL)
return false;
232 for (
int i=0; i<vnum; i++) {
259 if (tridata==NULL)
return false;
265 for (
int i=0; i<tnum; i++) {
266 if (tridata[i].polygonNum==pnum) num++;
268 if (num==0)
return false;
280 for (
int i=0; i<tnum; i++) {
281 if (tridata[i].polygonNum==pnum || pnum<0) {
293 if (tridata[0].has_normal) {
297 for (
int i=0; i<tnum; i++) {
298 if (tridata[i].polygonNum==pnum || pnum<0) {
314 if (tridata[0].has_texcrd) {
319 for (
int i=0; i<tnum; i++) {
320 if (tridata[i].polygonNum==pnum || pnum<0) {
338 if (tridata[0].has_weight) {
343 for (
int i=0, n=0; i<tnum; i++) {
344 if (tridata[i].polygonNum==pnum || pnum<0) {
373 if (node==NULL)
return ret;
408 if (node==NULL)
return ret;
480 if (data==NULL)
return;
492 else if (data->
facet!=NULL) {
void free_Buffer(Buffer *buf)
Buffer型変数のバッファ部を解放する
#define make_Buffer_str(str)
set_Buffer()
void dup(ArrayParam< T > a, bool del=true)
char * getParamString(void)
MeshObject の Polygonデータ(1面)を格納するクラス.リスト構造を取る.
MaterialParam material_param
マテリアルパラメータ
bool computeVertexByBREP(ContourBaseData *facetdata)
int num_texcrd
テクスチャ画像の座標数.通常は num_vertex に等しい.(texcrd_value の要素数)
int num_index
頂点の延べ数.num_polygon*MeshObjectData::num_vcount (num_polygon*3)(data_index の要素数)
bool computeVertexDirect(ContourBaseData *facetdata)
void setMaterialID(const char *str)
int num_vertex
頂点のデータ数.(vertex_value, normal_value の要素数)
void setMaterialParam(MaterialParam param)
ノードにマテリアルパラメータを設定し,他のノードに同じマテリアルが存在するかチャックする.
void setMaterialParam(MaterialParam param, int num=-1)
void setAffineTrans(AffineTrans< double > a)
int ttl_texcrd
テクスチャ画像の座標総数.通常は ttl_vertexと同じ値.
void delAffineTrans(void)
MeshFacetNode * facet_end
FACETデータのリストの最後のデータへのポインタ
AffineTrans< double > * affineTrans
アフィン変換.ここで使用するのは,shift, rotate, scale(size) のみ
bool addNode(ContourBaseData *facetdata, const char *name, MaterialParam *param)
int num_node
テクスチャー単位の面の数(Node の数)
Vector< double > * impvtx_value
入力された頂点データ.3個で 1ポリゴンを表現.法線方向は右手順.
void init(const char *name=NULL)
int ttl_index
インデックスの総数(実質的データ数)
int num_vcount
1ポリゴン あたりの頂点数.現在は 3のみサポート
bool importTriData(Vector< double > *vct, Vector< double > *nrm, UVMap< double > *map, ArrayParam< int > *wgt, int vnum)
MeshFacetNode * facet
FACETデータ(1面のポリゴンデータ)のリストへのポインタ
Vector< double > * impnrm_value
入力された頂点の法線ベクトル.impvtx_value と対応.
ArrayParam< int > * impwgt_value
入力された頂点の重み.Jointを持つデータに使用される.
bool addData(ContourBaseData *facetdata, MaterialParam *param)
UVMap< double > * impmap_value
入力されたテクスチャ座標データ.impvtx_value と対応.
void joinData(MeshObjectData *&data)
data は削除される.
Vector< double > vertex[3]
UVMap< double > texcrd[3]
Vector< double > normal[3]
void freeMeshFacetList(MeshFacetNode *&node)
void freeMeshObjectData(MeshObjectData *&data)
MeshFacetNode * AddMeshFacetNode(MeshFacetNode *list, MeshFacetNode *node)