FineKernelToolKit  3.1.0
MatAdmin_CLI.h
[詳解]
1 // MatAdmin_CLI.h
2 
3 #pragma once
4 
5 #include <FK/MatAdmin.h>
6 #include "Base_CLI.h"
7 #include "Matrix_CLI.h"
8 
9 namespace FK_CLI
10 {
12 
51  public ref class fk_MatrixAdmin : fk_BaseObject {
52  internal:
53  ::fk_MatrixAdmin * GetP(void);
54 
55  public:
56 #ifndef FK_DOXYGEN_USER_PROCESS
57  fk_MatrixAdmin::fk_MatrixAdmin(bool argNewFlg);
58  fk_MatrixAdmin::~fk_MatrixAdmin();
59 #endif
60 
62 
74  property fk_Vector^ Position {
75  fk_Vector^ get();
76  }
77 
79 
91  property fk_Vector^ Vec {
92  fk_Vector^ get();
93  }
94 
96 
108  property fk_Vector^ Upvec {
109  fk_Vector^ get();
110  }
111 
113 
126  property fk_Angle^ Angle {
127  fk_Angle^ get();
128  }
129 
131 
140  property fk_Matrix^ Matrix {
141  fk_Matrix^ get();
142  }
143 
145 
155  property fk_Matrix^ InvMatrix {
156  fk_Matrix^ get();
157  }
158 
160 
170  property fk_Matrix^ BaseMatrix {
171  fk_Matrix^ get();
172  }
173 
175 
186  fk_Matrix^ get();
187  }
188 
190 
207  property bool ScaleMode {
208  bool get();
209  }
210 
212 
217  property double Scale {
218  double get();
219  void set(double);
220  }
221 
223 
224 
226 
241  bool SetScale(double scale, fk_Axis axis);
242 
244 
260  bool SetScale(double x, double y, double z);
261 
263 
278  bool PrdScale(double scale);
279 
281 
297  bool PrdScale(double scale, fk_Axis axis);
298 
300 
317  bool PrdScale(double x, double y, double z);
318 
320 
330  double GetScale(fk_Axis axis);
332 
334 
335 
337 
356  bool GlFocus(fk_Vector^ p);
357 
359 
380  bool GlFocus(double x, double y, double z);
381 
383 
402  bool LoFocus(fk_Vector^ p);
403 
405 
426  bool LoFocus(double x, double y, double z);
427 
429 
452  bool GlVec(fk_Vector^ v);
453 
455 
480  bool GlVec(double x, double y, double z);
481 
483 
498  bool GlUpvec(fk_Vector^ v);
499 
501 
518  bool GlUpvec(double x, double y, double z);
519 
521 
539  bool LoUpvec(fk_Vector^ v);
540 
542 
562  bool LoUpvec(double x, double y, double z);
563 
565 
577  bool GlAngle(fk_Angle^ angle);
578 
580 
594  bool GlAngle(double h, double p, double b);
595 
597 
607  bool LoAngle(fk_Angle^ angle);
608 
610 
622  bool LoAngle(double h, double p, double b);
624  };
625 }
626 
627 /****************************************************************************
628  *
629  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
630  *
631  * Redistribution and use in source and binary forms,
632  * with or without modification, are permitted provided that the
633  * following conditions are met:
634  *
635  * - Redistributions of source code must retain the above
636  * copyright notice, this list of conditions and the
637  * following disclaimer.
638  *
639  * - Redistributions in binary form must reproduce the above
640  * copyright notice, this list of conditions and the
641  * following disclaimer in the documentation and/or
642  * other materials provided with the distribution.
643  *
644  * - Neither the name of the copyright holders nor the names
645  * of its contributors may be used to endorse or promote
646  * products derived from this software without specific
647  * prior written permission.
648  *
649  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
650  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
651  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
652  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
653  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
654  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
655  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
656  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
657  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
658  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
659  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
660  * POSSIBILITY OF SUCH DAMAGE.
661  *
662  ****************************************************************************/
663 /****************************************************************************
664  *
665  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
666  *
667  * 本ソフトウェアおよびソースコードのライセンスは、基本的に
668  * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
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  * ついて、一切責任を負わないものとします。
696  *
697  ****************************************************************************/
fk_Matrix^ BaseMatrix
移動・回転要素変換行列プロパティ
Definition: MatAdmin_CLI.h:170
bool PrdScale(double scale)
全体相対倍率設定メソッド
fk_Vector^ Upvec
アップベクトルプロパティ
Definition: MatAdmin_CLI.h:108
fk_Vector^ Vec
方向ベクトルプロパティ
Definition: MatAdmin_CLI.h:91
bool GlFocus(fk_Vector^ p)
グローバル座標系注視点設定メソッド1
モデルの位置や姿勢を管理するクラス
Definition: MatAdmin_CLI.h:51
オイラー角を表すクラス
Definition: Matrix_CLI.h:23
FK の各クラスの基盤となる基本クラス
Definition: Base_CLI.h:105
bool GlVec(fk_Vector^ v)
グローバル座標系方向ベクトル設定メソッド1
bool ScaleMode
拡大縮小状態判定プロパティ
Definition: MatAdmin_CLI.h:207
bool LoAngle(fk_Angle^ angle)
ローカル座標系オイラー角設定メソッド1
bool LoFocus(fk_Vector^ p)
ローカル座標系注視点設定メソッド1
fk_Matrix^ InvMatrix
逆変換行列プロパティ
Definition: MatAdmin_CLI.h:155
fk_Vector^ Position
位置ベクトルプロパティ
Definition: MatAdmin_CLI.h:74
bool LoUpvec(fk_Vector^ v)
ローカル座標系アップベクトル設定メソッド1
bool GlUpvec(fk_Vector^ v)
グローバル座標系アップベクトル設定メソッド1
4元正方行列を管理するクラス
Definition: Matrix_CLI.h:108
bool SetScale(double scale, fk_Axis axis)
軸方向絶対倍率設定メソッド
double Scale
全体倍率プロパティ
Definition: MatAdmin_CLI.h:217
fk_Axis
座標軸を表す列挙型
Definition: Vector_CLI.h:12
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
double GetScale(fk_Axis axis)
軸方向倍率取得メソッド
fk_Angle^ Angle
オイラー角取得メソッド
Definition: MatAdmin_CLI.h:126
fk_Matrix^ Matrix
変換行列プロパティ
Definition: MatAdmin_CLI.h:140
bool GlAngle(fk_Angle^ angle)
グローバル座標系オイラー角設定メソッド1
Definition: AppWindow_CLI.h:11
fk_Matrix^ InvBaseMatrix
移動・回転要素逆変換行列プロパティ
Definition: MatAdmin_CLI.h:185