FineKernelToolKit  3.1.0
Point_CLI.h
[詳解]
1 // Point_CLI.h
2 
3 #pragma once
4 
5 #include <FK/Point.h>
6 #include "Vector_CLI.h"
7 #include "Shape_CLI.h"
8 
9 namespace FK_CLI
10 {
11  using namespace System::Collections::Generic;
12 
14 
32  public ref class fk_Point : fk_Shape {
33  internal:
34  ::fk_Point * GetP(void);
35 
36  public:
37 #ifndef FK_DOXYGEN_USER_PROCESS
38  fk_Point(bool argNewFlg);
39 #endif
40 
44  fk_Point();
45 
47 
54  fk_Point(IEnumerable<fk_Vector^>^ array);
55 
57  ~fk_Point();
58 
60  !fk_Point();
61 
63 
66  property int Num {
67  int get();
68  }
69 
71 
76  property bool ColorCount {
77  bool get();
78  }
79 
81 
88  int PushVertex(fk_Vector^ pos);
89 
91 
99  bool SetVertex(int ID, fk_Vector^ pos);
100 
102  /*
103  * 配列データから点群全体を生成します。
104  * メソッドを呼ぶ前に存在していた点は全て消去されます。
105  *
106  * \param[in] array 頂点位置ベクトルの配列
107  *
108  * \return 生成に成功すれば true を、失敗すれば false を返します。
109  */
110  bool SetVertex(IEnumerable<fk_Vector^>^ array);
111 
113  /*
114  * 頂点を削除します。
115  *
116  * \param[in] ID 頂点ID
117  *
118  * \return 削除に成功すれば true を、失敗すれば false を返します。
119  */
120  bool RemoveVertex(int ID);
121 
123 
132  fk_Vector^ GetVertex(int ID);
133 
135 
143  void SetDrawMode(int ID, bool mode);
144 
146 
155  bool GetDrawMode(void);
156 
158 
167  bool GetDrawMode(int ID);
168 
170 
177  void SetColorID(int vID, int cID);
178 
180 
190  int GetColorID(int vID);
191 
193 
200  void AllClear(bool matFlag);
201 
203 
207  void AllClear(void);
208  };
209 }
210 
211 /****************************************************************************
212  *
213  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
214  *
215  * Redistribution and use in source and binary forms,
216  * with or without modification, are permitted provided that the
217  * following conditions are met:
218  *
219  * - Redistributions of source code must retain the above
220  * copyright notice, this list of conditions and the
221  * following disclaimer.
222  *
223  * - Redistributions in binary form must reproduce the above
224  * copyright notice, this list of conditions and the
225  * following disclaimer in the documentation and/or
226  * other materials provided with the distribution.
227  *
228  * - Neither the name of the copyright holders nor the names
229  * of its contributors may be used to endorse or promote
230  * products derived from this software without specific
231  * prior written permission.
232  *
233  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
234  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
235  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
236  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
237  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
238  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
239  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
240  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
241  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
242  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
243  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
244  * POSSIBILITY OF SUCH DAMAGE.
245  *
246  ****************************************************************************/
247 /****************************************************************************
248  *
249  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
250  *
251  * 本ソフトウェアおよびソースコードのライセンスは、基本的に
252  * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
253  *
254  * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
255  * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
256  *
257  * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
258  * および下記免責条項を含めること。
259  *
260  * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
261  * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
262  * 含めること。
263  *
264  * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
265  * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
266  * コントリビューターの名前を使用してはならない。
267  *
268  * 本ソフトウェアは、著作権者およびコントリビューターによって「現
269  * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
270  * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
271  * に限定されない、いかなる保証もないものとします。著作権者もコン
272  * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
273  * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
274  * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
275  * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
276  * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
277  * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
278  * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
279  * ついて、一切責任を負わないものとします。
280  *
281  ****************************************************************************/
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
点群を生成、管理するクラス
Definition: Point_CLI.h:32
形状用基底クラス
Definition: Shape_CLI.h:28
Definition: AppWindow_CLI.h:11