FineKernelToolKit 3.1.0

- 総合概要
- 名前空間
- クラス
- ファイル

- ファイル一覧

Plane_CLI.h
[詳解]
1 // Quaternion_CLI.h
2
3 #pragma once
4
5 #include <FK/Plane.h>
6 #include "Vector_CLI.h"
7
8 namespace FK_CLI
9 {
10 using namespace System;
11
13
31 public ref class fk_Plane {
32 internal:
33 ::fk_Plane *pPlane;
34
35 public:
36 #ifndef FK_DOXYGEN_USER_PROCESS
37 fk_Plane(::fk_Plane *argP);
38 #endif
39 fk_Plane();
41
43 fk_Plane(fk_Plane^ P);
44
46 ~fk_Plane();
47
49 !fk_Plane();
50
52
57 String^ ToString() override;
58
60
63 property fk_Vector^ BasePos {
64 fk_Vector^ get();
65 }
66
68
71 property fk_Vector^ UVec {
72 fk_Vector^ get();
73 }
74
76
79 property fk_Vector^ VVec {
80 fk_Vector^ get();
81 }
82
84
87 property fk_Vector^ Normal {
88 fk_Vector^ get();
89 }
90
92
95 property double Dist {
96 double get();
97 }
98
99
101
111 bool SetPosNormal(fk_Vector^ pos, fk_Vector^ norm);
112
114
127 bool Set3Pos(fk_Vector^ pos1,
128 fk_Vector^ pos2,
129 fk_Vector^ pos3);
130
132
144 bool SetPosUVVec(fk_Vector ^pos,
145 fk_Vector ^U,
146 fk_Vector ^V);
147
149
156 double GetDist(fk_Vector^ pos);
157
159
167 fk_Vector^ GetPos(double u, double v);
168
170
178 bool IsParallel(fk_Vector^ V);
179
180 // 平面平行判定メソッド
188 bool IsParallel(fk_Plane^ P);
189
191
199 bool IsVertical(fk_Vector^ V);
200
201 // 平面垂直判定メソッド
209 bool IsVertical(fk_Plane^ P);
210
212
223 bool CalcCrossPos(fk_Vector^ A,
224 fk_Vector^ B,
225 fk_Vector^ pos);
226
228
243 bool CalcCrossLineParam(fk_Vector^ A,
244 fk_Vector^ B,
245 double %t);
246
248
261 bool CalcCrossPlaneParam(fk_Vector^ A,
262 fk_Vector^ B,
263 double %u, double %v);
264
266
285 bool CalcCrossAll(fk_Vector^ A,
286 fk_Vector^ B,
287 fk_Vector^ pos,
288 double %t, double %u, double %v);
289
290 };
291 }
292
293 /****************************************************************************
294 *
295 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
296 *
297 * Redistribution and use in source and binary forms,
298 * with or without modification, are permitted provided that the
299 * following conditions are met:
300 *
301 * - Redistributions of source code must retain the above
302 * copyright notice, this list of conditions and the
303 * following disclaimer.
304 *
305 * - Redistributions in binary form must reproduce the above
306 * copyright notice, this list of conditions and the
307 * following disclaimer in the documentation and/or
308 * other materials provided with the distribution.
309 *
310 * - Neither the name of the copyright holders nor the names
311 * of its contributors may be used to endorse or promote
312 * products derived from this software without specific
313 * prior written permission.
314 *
315 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
316 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
317 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
318 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
319 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
320 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
321 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
322 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
323 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
324 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
325 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
326 * POSSIBILITY OF SUCH DAMAGE.
327 *
328 ****************************************************************************/
329 /****************************************************************************
330 *
331 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
332 *
333 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
334 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
335 *
336 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
337 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
338 *
339 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
340 * および下記免責条項を含めること。
341 *
342 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
343 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
344 * 含めること。
345 *
346 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
347 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
348 * コントリビューターの名前を使用してはならない。
349 *
350 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
351 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
352 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
353 * に限定されない、いかなる保証もないものとします。著作権者もコン
354 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
355 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
356 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
357 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
358 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
359 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
360 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
361 * ついて、一切責任を負わないものとします。
362 *
363 ****************************************************************************/
Vector_CLI.h
FK_CLI::fk_Vector
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
System
FK_CLI::fk_Plane
幾何平面を管理するクラス
Definition: Plane_CLI.h:31
FK_CLI
Definition: AppWindow_CLI.h:11