FineKernelToolKit  3.1.0
Polygon_CLI.h
[詳解]
1 // Polygon_CLI.h
2 
3 #pragma once
4 
5 #include <FK/Polygon.h>
6 #include "Solid_CLI.h"
7 
8 namespace FK_CLI
9 {
10  using namespace System::Collections::Generic;
11 
13 
26  public ref class fk_Polygon : fk_Solid {
27  internal:
28  ::fk_Polygon * GetP(void);
29 
30  public:
31 #ifndef FK_DOXYGEN_USER_PROCESS
32  fk_Polygon(bool argNewFlg);
33 #endif
34 
38  fk_Polygon();
39 
41 
46  fk_Polygon(IEnumerable<fk_Vector^>^ array);
47 
49  ~fk_Polygon();
50 
52  !fk_Polygon();
53 
55 
60  void PushVertex(fk_Vector^ pos);
61 
63 
71  void SetVertex(int ID, fk_Vector^ pos);
72 
74 
79  void SetVertex(IEnumerable<fk_Vector^>^ array);
80  };
81 
83 
88  public ref class fk_Polyline : fk_Solid {
89  internal:
90  ::fk_Polyline * GetP(void);
91 
92  public:
93 #ifndef FK_DOXYGEN_USER_PROCESS
94  fk_Polyline(bool argNewFlg);
95 #endif
96 
98 
101  fk_Polyline();
102 
104 
109  fk_Polyline(IEnumerable<fk_Vector^>^ array);
110 
112  ~fk_Polyline();
113 
115  !fk_Polyline();
116 
118 
123  void PushVertex(fk_Vector^ pos);
124 
126 
134  void SetVertex(int ID, fk_Vector^ pos);
135 
137 
142  void SetVertex(IEnumerable<fk_Vector^>^ array);
143  };
144 
146 
154  public ref class fk_Closedline : fk_Polygon {
155  internal:
156  ::fk_Closedline * GetP(void);
157 
158  public:
159 #ifndef FK_DOXYGEN_USER_PROCESS
160  fk_Closedline(bool argNewFlg);
161 #endif
162 
166  fk_Closedline();
167 
169 
174  fk_Closedline(IEnumerable<fk_Vector^>^ array);
175 
177  ~fk_Closedline();
178 
180  !fk_Closedline();
181  };
182 }
183 
184 /****************************************************************************
185  *
186  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
187  *
188  * Redistribution and use in source and binary forms,
189  * with or without modification, are permitted provided that the
190  * following conditions are met:
191  *
192  * - Redistributions of source code must retain the above
193  * copyright notice, this list of conditions and the
194  * following disclaimer.
195  *
196  * - Redistributions in binary form must reproduce the above
197  * copyright notice, this list of conditions and the
198  * following disclaimer in the documentation and/or
199  * other materials provided with the distribution.
200  *
201  * - Neither the name of the copyright holders nor the names
202  * of its contributors may be used to endorse or promote
203  * products derived from this software without specific
204  * prior written permission.
205  *
206  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
207  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
208  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
209  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
210  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
211  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
212  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
213  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
214  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
215  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
216  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
217  * POSSIBILITY OF SUCH DAMAGE.
218  *
219  ****************************************************************************/
220 /****************************************************************************
221  *
222  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
223  *
224  * 本ソフトウェアおよびソースコードのライセンスは、基本的に
225  * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
226  *
227  * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
228  * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
229  *
230  * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
231  * および下記免責条項を含めること。
232  *
233  * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
234  * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
235  * 含めること。
236  *
237  * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
238  * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
239  * コントリビューターの名前を使用してはならない。
240  *
241  * 本ソフトウェアは、著作権者およびコントリビューターによって「現
242  * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
243  * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
244  * に限定されない、いかなる保証もないものとします。著作権者もコン
245  * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
246  * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
247  * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
248  * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
249  * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
250  * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
251  * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
252  * ついて、一切責任を負わないものとします。
253  *
254  ****************************************************************************/
多角形を生成、管理するクラス
Definition: Polygon_CLI.h:26
半稜線構造 (Half-Edge Structure) による任意形状を生成、管理するクラス
Definition: Solid_CLI.h:64
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
多角形(辺のみ)を生成、管理するクラス
Definition: Polygon_CLI.h:154
ポリラインを生成、管理するクラス
Definition: Polygon_CLI.h:88
Definition: AppWindow_CLI.h:11