FineKernelToolKit  3.1.0
ShapeViewer_CLI.h
[詳解]
1 // ShapeViewer_CLI.h
2 
3 #pragma once
4 
5 #include <FK/ShapeViewer.h>
6 #include "Matrix_CLI.h"
7 #include "Image_CLI.h"
8 #include "Shape_CLI.h"
9 #include "Model_CLI.h"
10 
11 namespace FK_CLI
12 {
14 
49  public ref class fk_ShapeViewer : fk_BaseObject {
50  internal:
51  ::fk_ShapeViewer * GetP(void);
52 
53  public:
54 #ifndef FK_DOXYGEN_USER_PROCESS
55  fk_ShapeViewer(bool argNewFlg);
56 #endif
57 
64 
66 
73  fk_ShapeViewer(int w, int h);
74 
77 
79  !fk_ShapeViewer();
80 
82 
86  void set(fk_Dimension^);
87  }
88 
90 
101  property fk_Shape^ Shape {
102  void set(fk_Shape^);
103  fk_Shape^ get();
104  }
105 
107 
110  property int ModelNum {
111  int get();
112  }
113 
115 
142  fk_DrawMode get();
143  void set(fk_DrawMode);
144  }
145 
147 
155  property bool BlendStatus {
156  bool get();
157  void set(bool);
158  }
159 
161 
164  property fk_Color^ BGColor {
165  fk_Color^ get();
166  void set(fk_Color^);
167  }
168 
170 
176  property bool AxisMode {
177  bool get();
178  void set(bool);
179  }
180 
182 
188  property double AxisScale {
189  double get();
190  void set(double);
191  }
192 
194 
197  property fk_Vector^ Center {
198  fk_Vector^ get();
199  }
200 
202 
209  property double Head {
210  double get();
211  void set(double);
212  }
213 
215 
222  property double Pitch {
223  double get();
224  void set(double);
225  }
226 
228 
235  property double Bank {
236  double get();
237  void set(double);
238  }
239 
241 
246  property double Scale {
247  double get();
248  void set(double);
249  }
250 
252 
253 
255 
273  bool Draw(void);
274 
276 
287  void SetShape(int ID, fk_Shape^ shape);
288 
290 
301  fk_Shape^ GetShape(int ID);
302 
304 
307  void ClearModel(void);
308 
310 
312 
313 
315 
344  void SetDrawMode(int ID, fk_DrawMode mode);
345 
347 
354  fk_DrawMode GetDrawMode(int ID);
355 
356 
358 
365  void SetLineWidth(int ID, double width);
366 
368 
378  double GetLineWidth(int ID);
379 
381 
388  void SetPointSize(int ID, double size);
389 
391 
401  double GetPointSize(int ID);
402 
404 
412  void SetMaterial(int ID, fk_Material^ mat);
413 
415 
423  void SetEdgeColor(int ID, fk_Color^ col);
424 
426 
434  void SetVertexColor(int ID, fk_Color^ col);
435 
437 
439 
440 
442 
452  void SetPosition(int ID, fk_Vector^ pos);
453 
455 
467  void SetPosition(int ID, double x, double y, double z);
468 
470 
481  void SetAngle(int ID, fk_Angle^ angle);
482 
484 
498  void SetAngle(int ID, double h, double p, double b);
499 
501 
512  void SetVec(int ID, fk_Vector^ vec);
513 
515 
528  void SetVec(int ID, double x, double y, double z);
529 
531 
542  void SetUpvec(int ID, fk_Vector^ vec);
543 
545 
558  void SetUpvec(int ID, double x, double y, double z);
559 
561 
563 
564 
566 
579  bool SnapImage(String^ fileName, fk_ImageType format);
580 
582 
591  bool SnapImage(fk_Image^ image);
593  };
594 }
595 
596 /****************************************************************************
597  *
598  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
599  *
600  * Redistribution and use in source and binary forms,
601  * with or without modification, are permitted provided that the
602  * following conditions are met:
603  *
604  * - Redistributions of source code must retain the above
605  * copyright notice, this list of conditions and the
606  * following disclaimer.
607  *
608  * - Redistributions in binary form must reproduce the above
609  * copyright notice, this list of conditions and the
610  * following disclaimer in the documentation and/or
611  * other materials provided with the distribution.
612  *
613  * - Neither the name of the copyright holders nor the names
614  * of its contributors may be used to endorse or promote
615  * products derived from this software without specific
616  * prior written permission.
617  *
618  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
619  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
620  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
621  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
622  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
623  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
624  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
625  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
626  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
627  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
628  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
629  * POSSIBILITY OF SUCH DAMAGE.
630  *
631  ****************************************************************************/
632 /****************************************************************************
633  *
634  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
635  *
636  * 本ソフトウェアおよびソースコードのライセンスは、基本的に
637  * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
638  *
639  * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
640  * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
641  *
642  * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
643  * および下記免責条項を含めること。
644  *
645  * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
646  * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
647  * 含めること。
648  *
649  * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
650  * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
651  * コントリビューターの名前を使用してはならない。
652  *
653  * 本ソフトウェアは、著作権者およびコントリビューターによって「現
654  * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
655  * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
656  * に限定されない、いかなる保証もないものとします。著作権者もコン
657  * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
658  * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
659  * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
660  * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
661  * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
662  * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
663  * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
664  * ついて、一切責任を負わないものとします。
665  *
666  ****************************************************************************/
画像サイズを表すクラス
Definition: Image_CLI.h:24
void SetLineWidth(int ID, double width)
形状稜線描画幅設定メソッド
double AxisScale
座標軸大きさ設定メソッド
Definition: ShapeViewer_CLI.h:188
fk_ShapeViewer()
コンストラクタ1
~fk_ShapeViewer()
デストラクタ
fk_DrawMode GetDrawMode(int ID)
描画モード参照メソッド
オイラー角を表すクラス
Definition: Matrix_CLI.h:23
double Head
カメラヘッド角プロパティ
Definition: ShapeViewer_CLI.h:209
FK の各クラスの基盤となる基本クラス
Definition: Base_CLI.h:105
bool Draw(void)
描画更新メソッド
void ClearModel(void)
形状設定初期化メソッド
fk_ImageType
画像フォーマットを表す列挙型
Definition: Image_CLI.h:12
void SetEdgeColor(int ID, fk_Color^ col)
形状稜線描画色設定メソッド
bool AxisMode
座標軸描画設定メソッド
Definition: ShapeViewer_CLI.h:176
fk_Dimension^ WindowSize
描画領域サイズプロパティ
Definition: ShapeViewer_CLI.h:85
fk_Color^ BGColor
背景色プロパティ
Definition: ShapeViewer_CLI.h:164
void SetUpvec(int ID, fk_Vector^ vec)
形状アップベクトル設定メソッド1
fk_Shape^ GetShape(int ID)
形状参照メソッド
void SetDrawMode(int ID, fk_DrawMode mode)
個別形状描画モード設定メソッド
double GetPointSize(int ID)
形状頂点描画サイズ参照メソッド
void SetMaterial(int ID, fk_Material^ mat)
形状マテリアル設定メソッド
bool SnapImage(String^ fileName, fk_ImageType format)
描画画像ファイル出力メソッド
void SetShape(int ID, fk_Shape^ shape)
ID付き形状設定メソッド
void SetAngle(int ID, fk_Angle^ angle)
形状姿勢設定メソッド1
fk_DrawMode
Definition: Model_CLI.h:14
void SetPosition(int ID, fk_Vector^ pos)
形状位置設定メソッド1
fk_DrawMode DrawMode
描画モードプロパティ
Definition: ShapeViewer_CLI.h:141
double Pitch
カメラピッチ角プロパティ
Definition: ShapeViewer_CLI.h:222
3次元ベクトルを管理するクラス
Definition: Vector_CLI.h:37
RGB色を管理するクラス
Definition: Material_CLI.h:24
void SetVec(int ID, fk_Vector^ vec)
形状方向ベクトル設定メソッド1
int ModelNum
形状設定数プロパティ
Definition: ShapeViewer_CLI.h:110
簡易形状表示システム用クラス
Definition: ShapeViewer_CLI.h:49
fk_Shape^ Shape
単独形状参照・設定プロパティ
Definition: ShapeViewer_CLI.h:101
double GetLineWidth(int ID)
形状稜線描画幅参照メソッド
形状用基底クラス
Definition: Shape_CLI.h:28
void SetPointSize(int ID, double size)
形状頂点描画サイズ設定メソッド
bool BlendStatus
透過処理プロパティ
Definition: ShapeViewer_CLI.h:155
double Scale
カメラ倍率プロパティ
Definition: ShapeViewer_CLI.h:246
画像を生成、管理するクラス
Definition: Image_CLI.h:210
double Bank
カメラバンク角プロパティ
Definition: ShapeViewer_CLI.h:235
マテリアル(質感)を管理するクラス
Definition: Material_CLI.h:448
fk_Vector^ Center
描画領域中心座標プロパティ
Definition: ShapeViewer_CLI.h:197
Definition: AppWindow_CLI.h:11
void SetVertexColor(int ID, fk_Color^ col)
形状頂点描画色設定メソッド