FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
MatAdmin_CLI.h
[詳解]
1#pragma once
2
3#include <FK/MatAdmin.h>
4#include "Base_CLI.h"
5#include "Matrix_CLI.h"
6
7namespace FK_CLI
8{
10
49 public ref class fk_MatrixAdmin : fk_BaseObject {
50 internal:
51 ::FK::fk_MatrixAdmin * GetP(void);
52
53 public:
54#if !defined(FK_DOXYGEN_USER_PROCESS)
55 fk_MatrixAdmin(bool argNewFlg);
57#endif
58
60
72 property fk_Vector^ Position {
73 fk_Vector^ get();
74 }
75
77
89 property fk_Vector^ Vec {
90 fk_Vector^ get();
91 }
92
94
106 property fk_Vector^ Upvec {
107 fk_Vector^ get();
108 }
109
111
124 property fk_Angle^ Angle {
125 fk_Angle^ get();
126 }
127
129
138 property fk_Matrix^ Matrix {
139 fk_Matrix^ get();
140 }
141
143
153 property fk_Matrix^ InvMatrix {
154 fk_Matrix^ get();
155 }
156
158
168 property fk_Matrix^ BaseMatrix {
169 fk_Matrix^ get();
170 }
171
173
183 property fk_Matrix^ InvBaseMatrix {
184 fk_Matrix^ get();
185 }
186
188
205 property bool ScaleMode {
206 bool get();
207 }
208
210
215 property double Scale {
216 double get();
217 void set(double);
218 }
219
222
224
239 bool SetScale(double scale, fk_Axis axis);
240
242
258 bool SetScale(double x, double y, double z);
259
261
276 bool PrdScale(double scale);
277
279
295 bool PrdScale(double scale, fk_Axis axis);
296
298
315 bool PrdScale(double x, double y, double z);
316
318
328 double GetScale(fk_Axis axis);
330
333
335
355
357
378 bool GlFocus(double x, double y, double z);
379
381
401
403
424 bool LoFocus(double x, double y, double z);
425
427
450 bool GlVec(fk_Vector^ v);
451
453
478 bool GlVec(double x, double y, double z);
479
481
497
499
516 bool GlUpvec(double x, double y, double z);
517
519
538
540
560 bool LoUpvec(double x, double y, double z);
561
563
575 bool GlAngle(fk_Angle^ angle);
576
578
592 bool GlAngle(double h, double p, double b);
593
595
605 bool LoAngle(fk_Angle^ angle);
606
608
620 bool LoAngle(double h, double p, double b);
622 };
623};
624
625/****************************************************************************
626 *
627 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
628 *
629 * Redistribution and use in source and binary forms,
630 * with or without modification, are permitted provided that the
631 * following conditions are met:
632 *
633 * - Redistributions of source code must retain the above
634 * copyright notice, this list of conditions and the
635 * following disclaimer.
636 *
637 * - Redistributions in binary form must reproduce the above
638 * copyright notice, this list of conditions and the
639 * following disclaimer in the documentation and/or
640 * other materials provided with the distribution.
641 *
642 * - Neither the name of the copyright holders nor the names
643 * of its contributors may be used to endorse or promote
644 * products derived from this software without specific
645 * prior written permission.
646 *
647 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
648 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
649 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
650 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
651 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
652 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
653 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
654 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
655 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
656 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
657 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
658 * POSSIBILITY OF SUCH DAMAGE.
659 *
660 ****************************************************************************/
661/****************************************************************************
662 *
663 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
664 *
665 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
666 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
667 *
668 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
669 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
670 *
671 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
672 * および下記免責条項を含めること。
673 *
674 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
675 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
676 * 含めること。
677 *
678 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
679 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
680 * コントリビューターの名前を使用してはならない。
681 *
682 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
683 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
684 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
685 * に限定されない、いかなる保証もないものとします。著作権者もコン
686 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
687 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
688 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
689 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
690 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
691 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
692 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
693 * ついて、一切責任を負わないものとします。
694 *
695 ****************************************************************************/
オイラー角を表すクラス
Definition Matrix_CLI.h:21
FK の各クラスの基盤となる基本クラス
Definition Base_CLI.h:104
モデルの位置や姿勢を管理するクラス
Definition MatAdmin_CLI.h:49
bool LoUpvec(double x, double y, double z)
ローカル座標系アップベクトル設定メソッド2
double GetScale(fk_Axis axis)
軸方向倍率取得メソッド
bool SetScale(double x, double y, double z)
軸方向個別絶対倍率設定メソッド
bool GlVec(fk_Vector^ v)
グローバル座標系方向ベクトル設定メソッド1
bool PrdScale(double scale, fk_Axis axis)
軸方向相対倍率設定メソッド
bool LoFocus(fk_Vector^ p)
ローカル座標系注視点設定メソッド1
bool PrdScale(double scale)
全体相対倍率設定メソッド
bool SetScale(double scale, fk_Axis axis)
軸方向絶対倍率設定メソッド
fk_Vector^ Vec
方向ベクトルプロパティ
Definition MatAdmin_CLI.h:89
fk_Matrix^ InvBaseMatrix
移動・回転要素逆変換行列プロパティ
Definition MatAdmin_CLI.h:183
bool LoFocus(double x, double y, double z)
ローカル座標系注視点設定メソッド2
double Scale
全体倍率プロパティ
Definition MatAdmin_CLI.h:215
bool ScaleMode
拡大縮小状態判定プロパティ
Definition MatAdmin_CLI.h:205
fk_Matrix^ InvMatrix
逆変換行列プロパティ
Definition MatAdmin_CLI.h:153
bool LoUpvec(fk_Vector^ v)
ローカル座標系アップベクトル設定メソッド1
bool GlAngle(fk_Angle^ angle)
グローバル座標系オイラー角設定メソッド1
fk_Vector^ Position
位置ベクトルプロパティ
Definition MatAdmin_CLI.h:72
bool GlUpvec(double x, double y, double z)
グローバル座標系アップベクトル設定メソッド2
bool LoAngle(double h, double p, double b)
ローカル座標系オイラー角設定メソッド2
fk_Vector^ Upvec
アップベクトルプロパティ
Definition MatAdmin_CLI.h:106
fk_Angle^ Angle
オイラー角取得メソッド
Definition MatAdmin_CLI.h:124
fk_Matrix^ Matrix
変換行列プロパティ
Definition MatAdmin_CLI.h:138
bool GlUpvec(fk_Vector^ v)
グローバル座標系アップベクトル設定メソッド1
bool GlVec(double x, double y, double z)
グローバル座標系方向ベクトル設定メソッド2
bool GlFocus(fk_Vector^ p)
グローバル座標系注視点設定メソッド1
bool GlFocus(double x, double y, double z)
グローバル座標系注視点設定メソッド2
bool LoAngle(fk_Angle^ angle)
ローカル座標系オイラー角設定メソッド1
fk_Matrix^ BaseMatrix
移動・回転要素変換行列プロパティ
Definition MatAdmin_CLI.h:168
bool PrdScale(double x, double y, double z)
軸方向個別相対倍率設定メソッド
bool GlAngle(double h, double p, double b)
グローバル座標系オイラー角設定メソッド2
3次元ベクトルを管理するクラス
Definition Vector_CLI.h:35
Definition AppWindow_CLI.h:11
fk_Axis
座標軸を表す列挙型
Definition Vector_CLI.h:10