31 BREP_SOLID_LIST::iterator isolid;
40 BREP_SOLID_LIST::iterator isolid;
56 if (mesh==NULL)
return 0;
67 for (
int num = 0; num < node->
num_index - 2; num += 3) {
100 for (
long int i=0; i<vnum; i++) {
120 if (file_name.
buf[0]==
'.') file_name.
buf[0] =
'_';
154 BREP_SOLID_LIST::iterator isolid;
156 BREP_CONTOUR_LIST::iterator icon;
157 for (icon=(*isolid)->contours.begin(); icon!=(*isolid)->contours.end(); icon++){
162 counter->
Start(maxnum);
165 BREP_SOLID_LIST::iterator isolid;
168 BREP_CONTOUR_LIST::iterator icon;
169 for (icon=(*isolid)->contours.begin(); icon!=(*isolid)->contours.end(); icon++){
174 for (
int i=0; i<3; i++) {
182 if (contour!=NULL) solid->
contours.push_back(contour);
185 if (counter!=NULL) counter->
StepIt();
BREP (Boundary REPresentation model) Library.
void free_Buffer(Buffer *buf)
Buffer型変数のバッファ部を解放する
int cat_Buffer(Buffer *src, Buffer *dst)
Buffer変数 srcから dstへバッファを catする.
#define make_Buffer_bystr(str)
set_Buffer()
Vector< T > execTrans(Vector< T > v)
Vector< T > execRotation(Vector< T > v)
BREP_CONTOUR_LIST contours
Contours リスト
Vector< double > point
頂点の座標.
Vector< double > normal
法線ベクトル.周りの Contour の法線ベクトルの平均.
BREP_VERTEX * vertex
Start of Vertex.
BREP_SOLID * getMerge(CVCounter *counter=NULL)
int addSolid(MeshObjectData *mesh)
BREP_SOLID_LIST solid_list
virtual ~BrepSolidList(void)
void outputFile(const char *fn, const char *path=NULL, bool asciifile=true)
virtual void StepIt(int n=1)
カウンタのメモリを増やす
virtual void Start(int m=100, char *tn=NULL)
カウンタのスタート & タイトル定義
virtual CVCounter * GetUsableCounter()
現在使用可能な目盛りの有効領域を確保
MeshObject の Polygonデータ(1面)を格納するクラス.リスト構造を取る.
Vector< double > * normal_value
法線ベクトルデータの並び.要素数は num_vertex
int num_index
頂点の延べ数.num_polygon*MeshObjectData::num_vcount (num_polygon*3)(data_index の要素数)
int * data_index
インデックスデータ.要素数は num_index
Vector< double > * vertex_value
頂点データの並び.要素数は num_vertex
AffineTrans< double > * affineTrans
アフィン変換.ここで使用するのは,shift, rotate, scale(size) のみ
MeshFacetNode * facet
FACETデータ(1面のポリゴンデータ)のリストへのポインタ
void freeBrepSolid(BREP_SOLID *&solid)
class DllExport BREP_SOLID
DllExport int CloseTriSolid(BREP_SOLID *solid, bool check=true, CVCounter *counter=NULL)
DllExport int writeSTLFileA(char *fname, BREP_SOLID *solid)
class DllExport BREP_FACET
class DllExport BREP_SHELL
DllExport BREP_VERTEX ** GetOctreeVertices(OctreeNode *octree, long int *vertexno)
DllExport BREP_CONTOUR * CreateContourByVector(BREP_FACET *facet, Vector< double > *v, Vector< double > *n=NULL, UVMap< double > *uv=NULL, ArrayParam< int > *w=NULL, bool dupli=false)
DllExport int writeSTLFileB(char *fname, BREP_SOLID *solid)
unsigned char * buf
バッファの先頭へのポインタ.str[bufsz]は必ず 0x00となる.