FineKernelToolKit  3.1.0
Reference_CLI.h
[詳解]
1 // Reference_CLI.h
2 
3 #pragma once
4 
5 #include <FK/Reference.h>
6 #include "Shape_CLI.h"
7 #include "Vertex_CLI.h"
8 #include "Half_CLI.h"
9 #include "Edge_CLI.h"
10 #include "Loop_CLI.h"
11 
12 namespace FK_CLI
13 {
15 
24  public ref class fk_Reference : fk_Shape {
25  internal:
26  ::fk_ReferenceL3 * GetP(void);
27 
28  public:
29 #ifndef FK_DOXYGEN_USER_PROCESS
30  fk_Reference::fk_Reference(bool argNewFlg);
31  fk_Reference::~fk_Reference();
32 #endif
33 
35 
36 
38 
47 
49 
58 
60 
69 
71 
78  cli::array<fk_Half^>^ GetAllHOnV(fk_Vertex^ V);
79 
81 
88  cli::array<fk_Edge^>^ GetAllEOnV(fk_Vertex^ V);
89 
91 
98  cli::array<fk_Loop^>^ GetAllLOnV(fk_Vertex^ V);
99 
101 
108  int GetENumOnV(fk_Vertex^ V);
109 
111 
118  cli::array<fk_Vertex^>^ GetAllNeighborVOnV(fk_Vertex^ V);
119 
121 
129  cli::array<fk_Edge^>^ GetEOnVV(fk_Vertex^ V1, fk_Vertex^ V2);
130 
132 
141 
143 
145 
146 
148 
156 
158 
166 
168 
176 
178 
187 
189 
191 
192 
194 
202 
204 
212 
214 
222 
224 
232 
234 
243 
245 
254 
256 
270 
272 
274 
275 
277 
285 
287 
295 
297 
305 
307 
314  cli::array<fk_Vertex^>^ GetAllVOnL(fk_Loop^ L);
315 
317 
324  cli::array<fk_Half^>^ GetAllHOnL(fk_Loop^ L);
325 
327 
334  cli::array<fk_Edge^>^ GetAllEOnL(fk_Loop^ L);
335 
337 
346 
348 
361 
363 
370  int GetVNumOnL(fk_Loop^ L);
371 
373 
386 
388 
395  cli::array<fk_Loop^>^ GetAllNeighborLOnL(fk_Loop^ L);
397  };
398 }
399 
400 /****************************************************************************
401  *
402  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
403  *
404  * Redistribution and use in source and binary forms,
405  * with or without modification, are permitted provided that the
406  * following conditions are met:
407  *
408  * - Redistributions of source code must retain the above
409  * copyright notice, this list of conditions and the
410  * following disclaimer.
411  *
412  * - Redistributions in binary form must reproduce the above
413  * copyright notice, this list of conditions and the
414  * following disclaimer in the documentation and/or
415  * other materials provided with the distribution.
416  *
417  * - Neither the name of the copyright holders nor the names
418  * of its contributors may be used to endorse or promote
419  * products derived from this software without specific
420  * prior written permission.
421  *
422  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
423  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
424  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
425  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
426  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
427  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
428  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
429  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
430  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
431  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
432  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
433  * POSSIBILITY OF SUCH DAMAGE.
434  *
435  ****************************************************************************/
436 /****************************************************************************
437  *
438  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
439  *
440  * 本ソフトウェアおよびソースコードのライセンスは、基本的に
441  * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
442  *
443  * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
444  * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
445  *
446  * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
447  * および下記免責条項を含めること。
448  *
449  * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
450  * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
451  * 含めること。
452  *
453  * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
454  * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
455  * コントリビューターの名前を使用してはならない。
456  *
457  * 本ソフトウェアは、著作権者およびコントリビューターによって「現
458  * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
459  * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
460  * に限定されない、いかなる保証もないものとします。著作権者もコン
461  * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
462  * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
463  * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
464  * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
465  * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
466  * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
467  * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
468  * ついて、一切責任を負わないものとします。
469  *
470  ****************************************************************************/
fk_Half^ GetLeftHOnE(fk_Edge^ E)
左側半稜線参照メソッド
ソリッドモデルの頂点位相を管理するクラス
Definition: Vertex_CLI.h:26
位相状態参照用クラス
Definition: Reference_CLI.h:24
ソリッドモデルの稜線位相を管理するクラス
Definition: Edge_CLI.h:33
cli::array< fk_Vertex^ >^ GetAllVOnL(fk_Loop^ L)
ループ所属全頂点参照メソッド
cli::array< fk_Edge^ >^ GetEOnVV(fk_Vertex^ V1, fk_Vertex^ V2)
頂点間稜線参照メソッド
fk_Half^ GetMateHOnH(fk_Half^ H)
対半稜線参照メソッド
cli::array< fk_Half^ >^ GetAllHOnL(fk_Loop^ L)
ループ所属全半稜線参照メソッド
fk_Loop^ GetNeighborLOnLH(fk_Loop^ L, fk_Half^ H)
半稜線条件付き隣接ループ参照メソッド
int GetVNumOnL(fk_Loop^ L)
ループ上頂点数参照メソッド
fk_Loop^ GetOneNeighborLOnL(fk_Loop^ L)
隣接ループ参照メソッド
fk_Loop^ GetNeighborLOnLE(fk_Loop^ L, fk_Edge^ E)
稜線条件付き隣接ループ参照メソッド
fk_Loop^ GetRightLOnE(fk_Edge^ E)
右側ループ参照メソッド
fk_Vertex^ GetOneVOnL(fk_Loop^ L)
ループ所属頂点参照メソッド
fk_Edge^ GetOneEOnL(fk_Loop^ L)
ループ所属稜線参照メソッド
cli::array< fk_Half^ >^ GetAllHOnV(fk_Vertex^ V)
頂点接続全半稜線参照メソッド
cli::array< fk_Loop^ >^ GetAllLOnV(fk_Vertex^ V)
頂点接続全ループ参照メソッド
fk_Half^ GetOneHOnL(fk_Loop^ L)
ループ所属半稜線参照メソッド
fk_Vertex^ GetLeftVOnE(fk_Edge^ E)
左側頂点参照メソッド
fk_Half^ GetOneHOnV(fk_Vertex^ V)
頂点接続半稜線参照メソッド
int GetENumOnV(fk_Vertex^ V)
頂点接続稜線数参照メソッド
cli::array< fk_Edge^ >^ GetAllEOnV(fk_Vertex^ V)
頂点接続全稜線参照メソッド
fk_Edge^ GetParentEOnH(fk_Half^ H)
親稜線参照メソッド
cli::array< fk_Edge^ >^ GetAllEOnL(fk_Loop^ L)
ループ所属全稜線参照メソッド
fk_Vertex^ GetRightVOnE(fk_Edge^ E)
右側頂点参照メソッド
ソリッドモデルの半稜線位相を管理するクラス
Definition: Half_CLI.h:29
fk_Edge^ GetOneEOnV(fk_Vertex^ V)
頂点接続稜線参照メソッド
fk_EdgeStatus GetEdgeStatus(fk_Edge^ E)
稜線位相状態参照メソッド
fk_Vertex^ GetVOnH(fk_Half^ H)
半稜線接続頂点参照メソッド
fk_Loop^ GetParentLOnH(fk_Half^ H)
親ループ参照メソッド
cli::array< fk_Loop^ >^ GetAllNeighborLOnL(fk_Loop^ L)
全隣接ループ参照メソッド
形状用基底クラス
Definition: Shape_CLI.h:28
cli::array< fk_Vertex^ >^ GetAllNeighborVOnV(fk_Vertex^ V)
全隣接頂点参照メソッド
ソリッドモデルのループ位相を管理するクラス
Definition: Loop_CLI.h:30
fk_EdgeStatus
稜線状態を表す列挙型
Definition: Edge_CLI.h:13
fk_Half^ GetRightHOnE(fk_Edge^ E)
右側半稜線参照メソッド
fk_Vertex^ GetOneNeighborVOnV(fk_Vertex^ V)
隣接頂点参照メソッド
fk_Loop^ GetLeftLOnE(fk_Edge^ E)
左側ループ参照メソッド
Definition: AppWindow_CLI.h:11
fk_Loop^ GetOneLOnV(fk_Vertex^ V)
頂点接続ループ参照メソッド