FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
Topology.h
[詳解]
1#if !defined(__FK_TOPOLOGY_HEADER__)
2#define __FK_TOPOLOGY_HEADER__
3
4#include <FK/Base.h>
5#include <FK/Attribute.h>
6#include <FK/DataBase.hh>
7
8namespace FK {
9
10#if !defined(FK_DOXYGEN_USER_PROCESS)
11 enum class fk_TopologyType {
12 VERTEX,
13 HALF,
14 EDGE,
15 LOOP,
16 INDEXFACE,
17 UNDEFINED,
18 };
19#endif
21
28 class fk_Topology : public fk_Attribute {
29
30#if !defined(FK_DOXYGEN_USER_PROCESS)
31 class Member {
32 public:
33 int ID;
34 bool ariveFlg;
35 fk_TopologyType type;
36
37 Member(void);
38 };
39#endif
40
41
42 public:
46 virtual ~fk_Topology();
47
49
52 int getID(void) const;
53
55
65 fk_TopologyType getType(void) const;
66
67 private:
68 std::shared_ptr<Member> _m;
69 void SetType(fk_TopologyType);
70
71 protected:
72
73#if !defined(FK_DOXYGEN_USER_PROCESS)
74 fk_DataBase *DB;
75 void SetID(int);
76 void InitTopology(fk_DataBase *, int, fk_TopologyType);
77 void DeleteElem(void);
78 bool CloneElem(fk_Topology *);
79#endif
80 };
81}
82
83#endif // !__FK_TOPOLOGY_HEADER__
84
85/****************************************************************************
86 *
87 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
88 *
89 * Redistribution and use in source and binary forms,
90 * with or without modification, are permitted provided that the
91 * following conditions are met:
92 *
93 * - Redistributions of source code must retain the above
94 * copyright notice, this list of conditions and the
95 * following disclaimer.
96 *
97 * - Redistributions in binary form must reproduce the above
98 * copyright notice, this list of conditions and the
99 * following disclaimer in the documentation and/or
100 * other materials provided with the distribution.
101 *
102 * - Neither the name of the copyright holders nor the names
103 * of its contributors may be used to endorse or promote
104 * products derived from this software without specific
105 * prior written permission.
106 *
107 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
108 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
109 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
110 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
111 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
112 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
113 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
114 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
115 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
116 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
117 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
118 * POSSIBILITY OF SUCH DAMAGE.
119 *
120 ****************************************************************************/
121/****************************************************************************
122 *
123 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
124 *
125 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
126 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
127 *
128 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
129 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
130 *
131 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
132 * および下記免責条項を含めること。
133 *
134 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
135 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
136 * 含めること。
137 *
138 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
139 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
140 * コントリビューターの名前を使用してはならない。
141 *
142 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
143 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
144 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
145 * に限定されない、いかなる保証もないものとします。著作権者もコン
146 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
147 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
148 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
149 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
150 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
151 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
152 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
153 * ついて、一切責任を負わないものとします。
154 *
155 ****************************************************************************/
形状や位相要素の属性を付与、取得するクラス
Definition Attribute.h:17
ソリッドモデル位相要素用基底クラス
Definition Topology.h:28
int getID(void) const
ID取得関数
fk_TopologyType getType(void) const
位相タイプ取得関数
fk_Topology(void)
コンストラクタ
virtual ~fk_Topology()
デストラクタ
Fine Kernel Toolkit 名前空間
Definition Angle.h:6
@ VERTEX
fk_Vertex 型
@ EDGE
fk_Edge 型
@ HALF
fk_Half 型
@ LOOP
fk_Loop 型