FineKernelToolKit: CLI/FK_CLI/include/GraphEdge_CLI.h ソースファイル

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
GraphEdge_CLI.h
[詳解]
1#pragma once
2
3#include <FK/GraphEdge.h>
4#include "Color_CLI.h"
5
6namespace FK_CLI
7{
8 using namespace System::Collections::Generic;
9
10 ref class fk_GraphNode;
11
13 public enum class fk_CostType {
14 INT,
15 DOUBLE,
16 LENGTH
17 };
18
20 public enum class fk_CostDirection {
21 FORWARD,
22 BACK
23 };
24
26
38
39 public ref class fk_GraphEdge : fk_BaseObject {
40 internal:
41 ::FK::fk_GraphEdge * GetP(void);
42 static ::FK::fk_CostType getCT(fk_CostType);
43 static ::FK::fk_CostDirection getCD(fk_CostDirection);
44
45 public:
46#if !defined(FK_DOXYGEN_USER_PROCESS)
47 fk_GraphEdge(::FK::fk_GraphEdge *);
48 ~fk_GraphEdge();
49 !fk_GraphEdge();
50#endif
51
53
56 property unsigned int ID {
57 unsigned int get();
58 }
59
61
65 property bool DirectMode {
66 bool get();
67 }
68
70
82 property bool LengthMode {
83 bool get();
84 void set(bool);
85 }
86
88
94 property double Length {
95 double get();
96 }
97
99
102 property fk_Color^ Color {
103 void set(fk_Color^);
104 }
105
107
114 fk_GraphNode^ GetNode(bool mode);
115
117
125 void SetIntCost(unsigned int ID, int cost);
126
128
136 void SetDoubleCost(unsigned int ID, double cost);
137
139
148 int GetIntCost(unsigned int ID);
149
151
160 double GetDoubleCost(unsigned int ID);
161 };
162}
163
164/****************************************************************************
165 *
166 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
167 *
168 * Redistribution and use in source and binary forms,
169 * with or without modification, are permitted provided that the
170 * following conditions are met:
171 *
172 * - Redistributions of source code must retain the above
173 * copyright notice, this list of conditions and the
174 * following disclaimer.
175 *
176 * - Redistributions in binary form must reproduce the above
177 * copyright notice, this list of conditions and the
178 * following disclaimer in the documentation and/or
179 * other materials provided with the distribution.
180 *
181 * - Neither the name of the copyright holders nor the names
182 * of its contributors may be used to endorse or promote
183 * products derived from this software without specific
184 * prior written permission.
185 *
186 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
187 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
188 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
189 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
190 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
191 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
192 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
193 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
194 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
195 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
196 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
197 * POSSIBILITY OF SUCH DAMAGE.
198 *
199 ****************************************************************************/
200/****************************************************************************
201 *
202 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
203 *
204 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
205 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
206 *
207 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
208 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
209 *
210 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
211 * および下記免責条項を含めること。
212 *
213 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
214 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
215 * 含めること。
216 *
217 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
218 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
219 * コントリビューターの名前を使用してはならない。
220 *
221 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
222 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
223 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
224 * に限定されない、いかなる保証もないものとします。著作権者もコン
225 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
226 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
227 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
228 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
229 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
230 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
231 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
232 * ついて、一切責任を負わないものとします。
233 *
234 ****************************************************************************/
Color_CLI.h
FK_CLI::fk_BaseObject
FK の各クラスの基盤となる基本クラス
Definition Base_CLI.h:104
FK_CLI::fk_GraphEdge
グラフ構造の辺を制御するクラス
Definition GraphEdge_CLI.h:39
FK_CLI::fk_GraphEdge::ID
unsigned int ID
ID 取得プロパティ
Definition GraphEdge_CLI.h:56
FK_CLI::fk_GraphEdge::Color
fk_Color^ Color
色指定プロパティ
Definition GraphEdge_CLI.h:102
FK_CLI::fk_GraphEdge::GetNode
fk_GraphNode ^ GetNode(bool mode)
ノード取得メソッド
FK_CLI::fk_GraphEdge::GetIntCost
int GetIntCost(unsigned int ID)
整数型コスト参照メソッド
FK_CLI::fk_GraphEdge::GetDoubleCost
double GetDoubleCost(unsigned int ID)
実数型コスト参照メソッド
FK_CLI::fk_GraphEdge::LengthMode
bool LengthMode
辺長利用モードプロパティ
Definition GraphEdge_CLI.h:82
FK_CLI::fk_GraphEdge::SetDoubleCost
void SetDoubleCost(unsigned int ID, double cost)
実数型コスト設定メソッド
FK_CLI::fk_GraphEdge::Length
double Length
辺長参照プロパティ
Definition GraphEdge_CLI.h:94
FK_CLI::fk_GraphEdge::SetIntCost
void SetIntCost(unsigned int ID, int cost)
整数型コスト設定メソッド
FK_CLI::fk_GraphEdge::DirectMode
bool DirectMode
有無向取得プロパティ
Definition GraphEdge_CLI.h:65
FK_CLI::fk_GraphNode
グラフ構造のノードを制御するクラス
Definition GraphNode_CLI.h:30
FK_CLI
Definition AppWindow_CLI.h:11
FK_CLI::fk_CostType
fk_CostType
グラフ内コスト値の型を表す列挙型
Definition GraphEdge_CLI.h:13
FK_CLI::fk_CostType::INT
@ INT
整数型
Definition GraphEdge_CLI.h:14
FK_CLI::fk_CostType::LENGTH
@ LENGTH
辺長
Definition GraphEdge_CLI.h:16
FK_CLI::fk_CostType::DOUBLE
@ DOUBLE
実数型
Definition GraphEdge_CLI.h:15
FK_CLI::fk_CostDirection
fk_CostDirection
グラフ内コスト算出方向を表す列挙型
Definition GraphEdge_CLI.h:20
FK_CLI::fk_CostDirection::BACK
@ BACK
目標ノードから開始
Definition GraphEdge_CLI.h:22
FK_CLI::fk_CostDirection::FORWARD
@ FORWARD
出発ノードから開始
Definition GraphEdge_CLI.h:21