FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
GraphNode_CLI.h
[詳解]
1#pragma once
2
3#include <FK/GraphNode.h>
4#include "Base_CLI.h"
5#include "Vector_CLI.h"
6#include "Color_CLI.h"
7#using <System.dll>
8
9namespace FK_CLI
10{
11 using namespace System;
12 using namespace System::Collections::Generic;
13
14 ref class fk_GraphEdge;
15
17
30 public ref class fk_GraphNode : fk_BaseObject {
31 internal:
32 ::FK::fk_GraphNode * GetP(void);
33
34 public:
35#if !defined(FK_DOXYGEN_USER_PROCESS)
36 fk_GraphNode(::FK::fk_GraphNode*);
38 !fk_GraphNode();
39#endif
40
42
45 property unsigned int ID {
46 unsigned int get();
47 }
48
50
57
60 property fk_Vector^ Position {
61 fk_Vector^ get();
62 void set(fk_Vector^);
63 }
64
66
69 property unsigned int Generation {
70 unsigned int get();
71 }
72
74
79 property List<fk_GraphEdge^>^ AllEdge {
80 List<fk_GraphEdge^>^ get();
81 }
82
84
92 property List<fk_GraphEdge^>^ StartEdge {
93 List<fk_GraphEdge^>^ get();
94 }
95
97
105 property List<fk_GraphEdge^>^ EndEdge {
106 List<fk_GraphEdge^>^ get();
107 }
108
110
118 property List<fk_GraphNode^>^ NextNode {
119 List<fk_GraphNode^>^ get();
120 }
121
123
131 property List<fk_GraphNode^>^ PrevNode {
132 List<fk_GraphNode^>^ get();
133 }
134
136
139 property fk_Color^ Color {
140 void set(fk_Color^);
141 }
142
144
155
157
172 bool IsConnect(bool mode, fk_GraphNode^ node);
173
174
176
184 void SetIntCost(unsigned int ID, int cost);
185
187
195 void SetDoubleCost(unsigned int ID, double cost);
196
198
209 int GetIntCost(unsigned int ID);
210
212
223 double GetDoubleCost(unsigned int ID);
224
226
233 void ClearIntCost(unsigned int ID);
234
236
243 void ClearDoubleCost(unsigned int ID);
244
246
256 bool IsDoneIntCost(unsigned int ID);
257
259
269 bool IsDoneDoubleCost(unsigned int ID);
270
271 };
272}
273
274/****************************************************************************
275 *
276 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
277 *
278 * Redistribution and use in source and binary forms,
279 * with or without modification, are permitted provided that the
280 * following conditions are met:
281 *
282 * - Redistributions of source code must retain the above
283 * copyright notice, this list of conditions and the
284 * following disclaimer.
285 *
286 * - Redistributions in binary form must reproduce the above
287 * copyright notice, this list of conditions and the
288 * following disclaimer in the documentation and/or
289 * other materials provided with the distribution.
290 *
291 * - Neither the name of the copyright holders nor the names
292 * of its contributors may be used to endorse or promote
293 * products derived from this software without specific
294 * prior written permission.
295 *
296 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
297 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
298 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
299 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
300 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
301 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
302 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
303 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
304 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
305 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
306 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
307 * POSSIBILITY OF SUCH DAMAGE.
308 *
309 ****************************************************************************/
310/****************************************************************************
311 *
312 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
313 *
314 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
315 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
316 *
317 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
318 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
319 *
320 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
321 * および下記免責条項を含めること。
322 *
323 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
324 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
325 * 含めること。
326 *
327 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
328 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
329 * コントリビューターの名前を使用してはならない。
330 *
331 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
332 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
333 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
334 * に限定されない、いかなる保証もないものとします。著作権者もコン
335 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
336 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
337 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
338 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
339 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
340 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
341 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
342 * ついて、一切責任を負わないものとします。
343 *
344 ****************************************************************************/
FK の各クラスの基盤となる基本クラス
Definition Base_CLI.h:104
グラフ構造のノードを制御するクラス
Definition GraphNode_CLI.h:30
unsigned int ID
ID 取得プロパティ
Definition GraphNode_CLI.h:45
List< fk_GraphEdge^>^ StartEdge
始点接続辺取得プロパティ
Definition GraphNode_CLI.h:92
fk_Vector^ Position
位置ベクトル設定関数
Definition GraphNode_CLI.h:60
bool IsConnect(fk_GraphNode^ node)
接続ノード確認メソッド
bool IsDoneIntCost(unsigned int ID)
整数型コスト設定状態参照メソッド
bool IsDoneDoubleCost(unsigned int ID)
実数型コスト設定状態参照メソッド
bool IsConnect(bool mode, fk_GraphNode^ node)
方向判定付き接続ノード確認メソッド
List< fk_GraphNode^>^ PrevNode
接続始点取得プロパティ
Definition GraphNode_CLI.h:131
double GetDoubleCost(unsigned int ID)
実数型コスト取得メソッド
fk_Color^ Color
色指定プロパティ
Definition GraphNode_CLI.h:139
void SetDoubleCost(unsigned int ID, double cost)
実数型コスト設定メソッド
unsigned int Generation
位置変更回数取得プロパティ
Definition GraphNode_CLI.h:69
List< fk_GraphEdge^>^ AllEdge
全接続辺取得プロパティ
Definition GraphNode_CLI.h:79
List< fk_GraphEdge^>^ EndEdge
終点接続辺取得プロパティ
Definition GraphNode_CLI.h:105
void SetIntCost(unsigned int ID, int cost)
整数型コスト設定メソッド
int GetIntCost(unsigned int ID)
整数型コスト取得メソッド
void ClearIntCost(unsigned int ID)
整数型コスト設定解除メソッド
List< fk_GraphNode^>^ NextNode
接続終点取得プロパティ
Definition GraphNode_CLI.h:118
void ClearDoubleCost(unsigned int ID)
実数型コスト設定解除メソッド
3次元ベクトルを管理するクラス
Definition Vector_CLI.h:35
Definition AppWindow_CLI.h:11