FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
Solid.h
[詳解]
1#if !defined(__FK_SOLID_HEADER__)
2#define __FK_SOLID_HEADER__
3
4#include <FK/SolidBase.h>
5
6namespace FK {
7 class fk_DataBase;
8
10
66 class fk_Solid : public fk_SolidBase {
67#if !defined(FK_DOXYGEN_USER_PROCESS)
68 class Member {
69 public:
70 fk_DataBase SolidDB;
71 //fk_Palette localPal;
72
73 Member(void);
74 };
75#endif
76
77 public:
78
80 fk_Solid(void);
81
83 virtual ~fk_Solid();
84
86
94 void allClear(bool matFlg = true);
95
97
102 bool isEmpty(void);
103
105
111 void cloneShape(fk_Solid *solid);
112
114
123 bool compareShape(fk_Solid *solid);
124
127
129
136 bool readSMFFile(std::string fileName);
137
139
146 bool readSRFFile(std::string fileName);
147
149
179 bool readVRMLFile(std::string fileName, bool materialFlg = true, bool solidFlg = true);
180
182
201 bool readSTLFile(std::string fileName, bool solidFlg = true, double tolerance = 1.0e-08);
202
204
211 bool readHRCFile(std::string fileName);
212
214
227 bool readRDSFile(std::string fileName, bool solidFlg = true);
228
230
243 bool readDXFFile(std::string fileName, bool solidFlg = true);
244
246
283 bool readMQOFile(std::string fileName,
284 std::string objName,
285 bool solidFlg = true,
286 bool contFlg = true,
287 bool materialFlg = false);
288
289
291
334 bool readMQOFile(std::string fileName,
335 std::string objName,
336 int materialID,
337 bool solidFlg = true,
338 bool contFlg = true,
339 bool materialFlg = false);
340
342
370 bool readD3DXFile(std::string fileName,
371 std::string objName,
372 bool solidFlg = true);
373
375
409 bool readD3DXFile(std::string fileName,
410 std::string objName,
411 int materialID,
412 bool solidFlg = true);
414
417
419
433 bool writeVRMLFile(std::string fileName,
434 fk_Material *material = nullptr,
435 bool triFlg = false);
436
438
461 bool writeVRMLFile(std::string fileName,
462 std::vector<double> *time,
463 std::vector<fk_Vector> *pos,
464 fk_Material *material = nullptr,
465 bool triFlg = false);
466
468
475 bool writeSTLFile(std::string fileName);
476
478
489 bool writeDXFFile(std::string fileName,
490 bool triFlg = false);
491
493
500 bool writeMQOFile(std::string fileName);
501
503
504#if !defined(FK_DOXYGEN_USER_PROCESS)
505 bool AllCheck(void);
506 void PrintMat(std::string = "");
507#endif
508
509 private:
510 std::unique_ptr<Member> _m;
511 };
512}
513
514#endif // !__FK_SOLID_HEADER__
515
516/****************************************************************************
517 *
518 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
519 *
520 * Redistribution and use in source and binary forms,
521 * with or without modification, are permitted provided that the
522 * following conditions are met:
523 *
524 * - Redistributions of source code must retain the above
525 * copyright notice, this list of conditions and the
526 * following disclaimer.
527 *
528 * - Redistributions in binary form must reproduce the above
529 * copyright notice, this list of conditions and the
530 * following disclaimer in the documentation and/or
531 * other materials provided with the distribution.
532 *
533 * - Neither the name of the copyright holders nor the names
534 * of its contributors may be used to endorse or promote
535 * products derived from this software without specific
536 * prior written permission.
537 *
538 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
539 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
540 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
541 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
542 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
543 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
544 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
545 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
546 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
547 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
548 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
549 * POSSIBILITY OF SUCH DAMAGE.
550 *
551 ****************************************************************************/
552/****************************************************************************
553 *
554 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
555 *
556 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
557 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
558 *
559 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
560 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
561 *
562 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
563 * および下記免責条項を含めること。
564 *
565 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
566 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
567 * 含めること。
568 *
569 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
570 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
571 * コントリビューターの名前を使用してはならない。
572 *
573 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
574 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
575 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
576 * に限定されない、いかなる保証もないものとします。著作権者もコン
577 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
578 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
579 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
580 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
581 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
582 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
583 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
584 * ついて、一切責任を負わないものとします。
585 *
586 ****************************************************************************/
マテリアル(質感)を管理するクラス
Definition Material.h:40
ソリッドモデル形状変換クラス
Definition SolidBase.h:29
半稜線構造 (Half-Edge Structure) による任意形状を生成、管理するクラス
Definition Solid.h:66
bool readMQOFile(std::string fileName, std::string objName, bool solidFlg=true, bool contFlg=true, bool materialFlg=false)
MQOファイル入力関数1
bool writeVRMLFile(std::string fileName, fk_Material *material=nullptr, bool triFlg=false)
VRML ファイル出力関数1
bool readSMFFile(std::string fileName)
SMFファイル入力関数
bool readVRMLFile(std::string fileName, bool materialFlg=true, bool solidFlg=true)
VRML ファイル入力関数
void allClear(bool matFlg=true)
形状初期化関数
bool writeSTLFile(std::string fileName)
STL ファイル出力関数
bool readHRCFile(std::string fileName)
HRCファイル入力関数
bool readRDSFile(std::string fileName, bool solidFlg=true)
RDSファイル入力関数
bool readSTLFile(std::string fileName, bool solidFlg=true, double tolerance=1.0e-08)
STL ファイル入力関数
bool readD3DXFile(std::string fileName, std::string objName, bool solidFlg=true)
DirectX (D3DX) ファイル入力関数1
void cloneShape(fk_Solid *solid)
形状コピー関数
bool readMQOFile(std::string fileName, std::string objName, int materialID, bool solidFlg=true, bool contFlg=true, bool materialFlg=false)
MQOファイル入力関数2
fk_Solid(void)
コンストラクタ
virtual ~fk_Solid()
デストラクタ
bool writeMQOFile(std::string fileName)
MQO ファイル出力関数
bool compareShape(fk_Solid *solid)
形状同値比較関数
bool readSRFFile(std::string fileName)
SRFファイル入力関数
bool readD3DXFile(std::string fileName, std::string objName, int materialID, bool solidFlg=true)
DirectX (D3DX) ファイル入力関数2
bool isEmpty(void)
空形状状態参照関数
bool writeDXFFile(std::string fileName, bool triFlg=false)
DXF ファイル出力関数
bool writeVRMLFile(std::string fileName, std::vector< double > *time, std::vector< fk_Vector > *pos, fk_Material *material=nullptr, bool triFlg=false)
VRML ファイル出力関数2
bool readDXFFile(std::string fileName, bool solidFlg=true)
DXFファイル入力関数
Fine Kernel Toolkit 名前空間
Definition Angle.h:6