FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
Projection_CLI.h
[詳解]
1#pragma once
2
3#include <FK/Projection.h>
4
5namespace FK_CLI
6{
7 using namespace System;
8
10 public enum class fk_ProjectMode {
15 };
16
18
24 public ref class fk_ProjectBase {
25 internal:
26 bool dFlg;
27 ::FK::fk_ProjectBase *pProj;
28
29 ::FK::fk_ProjectBase * GetP(void);
30
31 public:
32#if !defined(FK_DOXYGEN_USER_PROCESS)
33 fk_ProjectBase(bool argNewFlg);
37#endif
38
40
43 property fk_ProjectMode Mode {
44 fk_ProjectMode get();
45 }
46 };
47
49
84 public ref class fk_Perspective : fk_ProjectBase {
85 internal:
86 ::FK::fk_Perspective * GetP(void);
87
88 public:
89#if !defined(FK_DOXYGEN_USER_PROCESS)
90 fk_Perspective(bool argNewFlg);
91#endif
93
99
101
108 fk_Perspective(double fovy, double near, double far);
109
112
115
117
120 property double Fovy {
121 void set(double);
122 double get();
123 }
124
126
129 property double Near {
130 void set(double);
131 double get();
132 }
133
135
138 property double Far {
139 void set(double);
140 double get();
141 }
142
144
151 void SetAll(double fovy, double near, double far);
152 };
153
155
187 public ref class fk_Frustum : fk_ProjectBase {
188 internal:
189 ::FK::fk_Frustum * GetP(void);
190
191 public:
192#if !defined(FK_DOXYGEN_USER_PROCESS)
193 fk_Frustum(bool argNewFlg);
194#endif
196
206 fk_Frustum(double left, double right,
207 double bottom, double top,
208 double near, double far);
209
211
216
219
222
224
227 property double Left {
228 void set(double);
229 double get();
230 }
231
233
236 property double Right {
237 void set(double);
238 double get();
239 }
240
242
245 property double Bottom {
246 void set(double);
247 double get();
248 }
249
251
254 property double Top {
255 void set(double);
256 double get();
257 }
258
260
263 property double Near {
264 void set(double);
265 double get();
266 }
267
269
272 property double Far {
273 void set(double);
274 double get();
275 }
276
278
288 void SetAll(double left, double right, double bottom,
289 double top, double near, double far);
290 };
291
293
312 public ref class fk_Ortho : fk_ProjectBase {
313 internal:
314 ::FK::fk_Ortho * GetP(void);
315
316 public:
317#if !defined(FK_DOXYGEN_USER_PROCESS)
318 fk_Ortho(bool argNewFlg);
319#endif
320
322
333 fk_Ortho(double left, double right,
334 double bottom, double top,
335 double near, double far);
336
338
343
346
349
351
354 property double Left {
355 void set(double);
356 double get();
357 }
358
360
363 property double Right {
364 void set(double);
365 double get();
366 }
367
369
372 property double Bottom {
373 void set(double);
374 double get();
375 }
376
378
381 property double Top {
382 void set(double);
383 double get();
384 }
385
387
390 property double Near {
391 void set(double);
392 double get();
393 }
394
396
399 property double Far {
400 void set(double);
401 double get();
402 }
403
405
416 void SetAll(double left, double right, double bottom,
417 double top, double near, double far);
418 };
419}
420
421/****************************************************************************
422 *
423 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
424 *
425 * Redistribution and use in source and binary forms,
426 * with or without modification, are permitted provided that the
427 * following conditions are met:
428 *
429 * - Redistributions of source code must retain the above
430 * copyright notice, this list of conditions and the
431 * following disclaimer.
432 *
433 * - Redistributions in binary form must reproduce the above
434 * copyright notice, this list of conditions and the
435 * following disclaimer in the documentation and/or
436 * other materials provided with the distribution.
437 *
438 * - Neither the name of the copyright holders nor the names
439 * of its contributors may be used to endorse or promote
440 * products derived from this software without specific
441 * prior written permission.
442 *
443 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
444 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
445 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
446 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
447 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
448 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
449 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
450 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
451 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
452 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
453 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
454 * POSSIBILITY OF SUCH DAMAGE.
455 *
456 ****************************************************************************/
457/****************************************************************************
458 *
459 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
460 *
461 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
462 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
463 *
464 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
465 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
466 *
467 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
468 * および下記免責条項を含めること。
469 *
470 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
471 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
472 * 含めること。
473 *
474 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
475 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
476 * コントリビューターの名前を使用してはならない。
477 *
478 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
479 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
480 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
481 * に限定されない、いかなる保証もないものとします。著作権者もコン
482 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
483 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
484 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
485 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
486 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
487 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
488 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
489 * ついて、一切責任を負わないものとします。
490 *
491 ****************************************************************************/
一般透視投影を制御するクラス
Definition Projection_CLI.h:187
void SetAll(double left, double right, double bottom, double top, double near, double far)
一括設定メソッド
double Near
クリッピング近距離面距離プロパティ
Definition Projection_CLI.h:263
double Far
クリッピング遠距離面距離プロパティ
Definition Projection_CLI.h:272
fk_Frustum(double left, double right, double bottom, double top, double near, double far)
コンストラクタ1
double Bottom
視錐台下側符号付き距離プロパティ
Definition Projection_CLI.h:245
~fk_Frustum()
デストラクタ
double Right
視錐台右側符号付き距離プロパティ
Definition Projection_CLI.h:236
fk_Frustum()
コンストラクタ2
double Left
視錐台左側符号付き距離プロパティ
Definition Projection_CLI.h:227
double Top
視錐台上側符号付き距離プロパティ
Definition Projection_CLI.h:254
平行投影法を制御するクラス
Definition Projection_CLI.h:312
void SetAll(double left, double right, double bottom, double top, double near, double far)
一括設定メソッド
fk_Ortho(double left, double right, double bottom, double top, double near, double far)
コンストラクタ1
fk_Ortho()
コンストラクタ2
double Far
クリッピング遠距離距離プロパティ
Definition Projection_CLI.h:399
double Right
クリッピング左側面距離プロパティ
Definition Projection_CLI.h:363
double Left
クリッピング左側面距離プロパティ
Definition Projection_CLI.h:354
double Top
クリッピング左側面距離プロパティ
Definition Projection_CLI.h:381
~fk_Ortho()
デストラクタ
double Bottom
クリッピング左側面距離プロパティ
Definition Projection_CLI.h:372
double Near
クリッピング近距離距離プロパティ
Definition Projection_CLI.h:390
対称透視投影法を制御するクラス
Definition Projection_CLI.h:84
fk_Perspective(double fovy, double near, double far)
コンストラクタ2
fk_Perspective()
コンストラクタ1
double Near
クリッピング近距離面距離プロパティ
Definition Projection_CLI.h:129
double Far
クリッピング遠距離面距離プロパティ
Definition Projection_CLI.h:138
~fk_Perspective()
デストラクタ
void SetAll(double fovy, double near, double far)
一括設定メソッド
double Fovy
視野角プロパティ
Definition Projection_CLI.h:120
投影法の基底クラス
Definition Projection_CLI.h:24
fk_ProjectMode Mode
投影法参照プロパティ
Definition Projection_CLI.h:43
Definition AppWindow_CLI.h:11
fk_ProjectMode
投影法を表す列挙型
Definition Projection_CLI.h:10
@ NONE_PROJ_MODE
指定なし
@ FRUSTUM_MODE
一般透視投影法
@ PERSPECTIVE_MODE
対称透視投影法
@ ORTHO_MODE
平行投影法