FineKernelToolKit
4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
FK
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
8
namespace
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
:
44
fk_Topology
(
void
);
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
****************************************************************************/
Attribute.h
Base.h
FK::fk_Attribute
形状や位相要素の属性を付与、取得するクラス
Definition
Attribute.h:17
FK::fk_Topology
ソリッドモデル位相要素用基底クラス
Definition
Topology.h:28
FK::fk_Topology::getID
int getID(void) const
ID取得関数
FK::fk_Topology::getType
fk_TopologyType getType(void) const
位相タイプ取得関数
FK::fk_Topology::fk_Topology
fk_Topology(void)
コンストラクタ
FK::fk_Topology::~fk_Topology
virtual ~fk_Topology()
デストラクタ
FK
Fine Kernel Toolkit 名前空間
Definition
Angle.h:6
FK::fk_Type::VERTEX
@ VERTEX
fk_Vertex 型
FK::fk_Type::EDGE
@ EDGE
fk_Edge 型
FK::fk_Type::HALF
@ HALF
fk_Half 型
FK::fk_Type::LOOP
@ LOOP
fk_Loop 型
構築:
1.9.8