FineKernelToolKit 4.2.13
読み取り中…
検索中…
一致する文字列を見つけられません
ShapeViewer_CLI.h
[詳解]
1#pragma once
2
3#include <FK/ShapeViewer.h>
4#include "Matrix_CLI.h"
5#include "Image_CLI.h"
6#include "Shape_CLI.h"
7#include "Model_CLI.h"
8
9using namespace System::Collections::Generic;
10
11namespace FK_CLI
12{
14
49 public ref class fk_ShapeViewer : fk_BaseObject {
50 private:
51 Dictionary<int, fk_Shape ^> map;
52 internal:
53 ::FK::fk_ShapeViewer * GetP(void);
54
55 public:
56#if !defined(FK_DOXYGEN_USER_PROCESS)
57 fk_ShapeViewer(bool argNewFlg);
58#endif
60
66
68
75 fk_ShapeViewer(int w, int h);
76
79
82
84
87 property fk_Dimension^ WindowSize {
88 void set(fk_Dimension^);
89 }
90
92
103 property fk_Shape^ Shape {
104 void set(fk_Shape^);
105 fk_Shape^ get();
106 }
107
109
112 property int ModelNum {
113 int get();
114 }
115
117
143 property fk_Draw DrawMode {
144 fk_Draw get();
145 void set(fk_Draw);
146 }
147
148 // 要素モード設定プロパティ
157 property fk_ElementMode ElementMode {
158 fk_ElementMode get();
159 void set(fk_ElementMode);
160 }
161
162 // シェーディングモード設定プロパティ
167 property fk_ShadingMode ShadingMode {
168 fk_ShadingMode get();
169 void set(fk_ShadingMode);
170 }
171
172 // スムースモード設定プロパティ
177 property bool SmoothMode {
178 bool get();
179 void set(bool);
180 }
181
183
191 property bool BlendStatus {
192 bool get();
193 void set(bool);
194 }
195
197
200 property fk_Color^ BGColor {
201 fk_Color^ get();
202 void set(fk_Color^);
203 }
204
206
212 property bool AxisMode {
213 bool get();
214 void set(bool);
215 }
216
218
224 property double AxisScale {
225 double get();
226 void set(double);
227 }
228
230
233 property fk_Vector^ Center {
234 fk_Vector^ get();
235 }
236
238
245 property double Head {
246 double get();
247 void set(double);
248 }
249
251
258 property double Pitch {
259 double get();
260 void set(double);
261 }
262
264
271 property double Bank {
272 double get();
273 void set(double);
274 }
275
277
282 property double Scale {
283 double get();
284 void set(double);
285 }
286
288
295 property int FPS {
296 void set(int);
297 }
298
301
303
321 bool Draw(void);
322
324
335 void SetShape(int ID, fk_Shape^ shape);
336
338
350
352
355 void ClearModel(void);
356
358
361
363
392 void SetDrawMode(int ID, fk_Draw mode);
393
395
403
405
416 void SetElementMode(int ID, fk_ElementMode mode);
417
419
429
431
440 void SetShadingMode(int ID, fk_ShadingMode mode);
441
443
452
454
465 void SetSmoothMode(int ID, bool mode);
466
468
477 bool GetSmoothMode(int ID);
478
480
487 void SetPointSize(int ID, double size);
488
490
500 double GetPointSize(int ID);
501
503
511 void SetMaterial(int ID, fk_Material^ mat);
512
514
522 void SetEdgeColor(int ID, fk_Color^ col);
523
525
533 void SetVertexColor(int ID, fk_Color^ col);
534
536
539
541
551 void SetPosition(int ID, fk_Vector^ pos);
552
554
566 void SetPosition(int ID, double x, double y, double z);
567
569
580 void SetAngle(int ID, fk_Angle^ angle);
581
583
597 void SetAngle(int ID, double h, double p, double b);
598
600
611 void SetVec(int ID, fk_Vector^ vec);
612
614
627 void SetVec(int ID, double x, double y, double z);
628
630
641 void SetUpvec(int ID, fk_Vector^ vec);
642
644
657 void SetUpvec(int ID, double x, double y, double z);
658
660
663
665
678 bool SnapImage(String^ fileName, fk_ImageType format);
679
681
690 bool SnapImage(fk_Image^ image);
692 };
693}
694
695/****************************************************************************
696 *
697 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
698 *
699 * Redistribution and use in source and binary forms,
700 * with or without modification, are permitted provided that the
701 * following conditions are met:
702 *
703 * - Redistributions of source code must retain the above
704 * copyright notice, this list of conditions and the
705 * following disclaimer.
706 *
707 * - Redistributions in binary form must reproduce the above
708 * copyright notice, this list of conditions and the
709 * following disclaimer in the documentation and/or
710 * other materials provided with the distribution.
711 *
712 * - Neither the name of the copyright holders nor the names
713 * of its contributors may be used to endorse or promote
714 * products derived from this software without specific
715 * prior written permission.
716 *
717 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
718 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
719 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
720 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
721 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
722 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
723 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
724 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
725 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
726 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
727 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
728 * POSSIBILITY OF SUCH DAMAGE.
729 *
730 ****************************************************************************/
731/****************************************************************************
732 *
733 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
734 *
735 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
736 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
737 *
738 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
739 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
740 *
741 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
742 * および下記免責条項を含めること。
743 *
744 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
745 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
746 * 含めること。
747 *
748 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
749 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
750 * コントリビューターの名前を使用してはならない。
751 *
752 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
753 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
754 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
755 * に限定されない、いかなる保証もないものとします。著作権者もコン
756 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
757 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
758 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
759 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
760 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
761 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
762 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
763 * ついて、一切責任を負わないものとします。
764 *
765 ****************************************************************************/
オイラー角を表すクラス
Definition Matrix_CLI.h:21
FK の各クラスの基盤となる基本クラス
Definition Base_CLI.h:104
RGB色を管理するクラス
Definition Color_CLI.h:21
画像サイズを表すクラス
Definition Image_CLI.h:24
画像を生成、管理するクラス
Definition Image_CLI.h:251
マテリアル(質感)を管理するクラス
Definition Material_CLI.h:44
簡易形状表示システム用クラス
Definition ShapeViewer_CLI.h:49
bool SnapImage(fk_Image^ image)
描画画像データ出力メソッド
double Bank
カメラバンク角プロパティ
Definition ShapeViewer_CLI.h:271
int FPS
FPS 設定プロパティ
Definition ShapeViewer_CLI.h:295
void SetDrawMode(int ID, fk_Draw mode)
個別形状描画モード設定メソッド
double Head
カメラヘッド角プロパティ
Definition ShapeViewer_CLI.h:245
double GetPointSize(int ID)
形状頂点描画サイズ参照メソッド
bool BlendStatus
透過処理プロパティ
Definition ShapeViewer_CLI.h:191
void SetPosition(int ID, fk_Vector^ pos)
形状位置設定メソッド1
void SetMaterial(int ID, fk_Material^ mat)
形状マテリアル設定メソッド
double Pitch
カメラピッチ角プロパティ
Definition ShapeViewer_CLI.h:258
fk_ShapeViewer()
コンストラクタ1
double Scale
カメラ倍率プロパティ
Definition ShapeViewer_CLI.h:282
void SetAngle(int ID, double h, double p, double b)
形状姿勢設定メソッド2
fk_ShapeViewer(int w, int h)
コンストラクタ2
fk_ElementMode ElementMode
Definition ShapeViewer_CLI.h:157
void SetPosition(int ID, double x, double y, double z)
形状位置設定メソッド2
bool SnapImage(String^ fileName, fk_ImageType format)
描画画像ファイル出力メソッド
bool GetSmoothMode(int ID)
スムースモード参照関数
void ClearModel(void)
形状設定初期化メソッド
fk_ShadingMode GetShadingMode(int ID)
シェーディングモード参照関数
void SetVec(int ID, fk_Vector^ vec)
形状方向ベクトル設定メソッド1
void SetShape(int ID, fk_Shape^ shape)
ID付き形状設定メソッド
fk_Color^ BGColor
背景色プロパティ
Definition ShapeViewer_CLI.h:200
void SetVertexColor(int ID, fk_Color^ col)
形状頂点描画色設定メソッド
fk_ElementMode GetElementMode(int ID)
形状別要素モード設定関数
fk_Dimension^ WindowSize
描画領域サイズプロパティ
Definition ShapeViewer_CLI.h:87
void SetUpvec(int ID, fk_Vector^ vec)
形状アップベクトル設定メソッド1
bool AxisMode
座標軸描画設定メソッド
Definition ShapeViewer_CLI.h:212
void SetUpvec(int ID, double x, double y, double z)
形状アップベクトル設定メソッド2
fk_Draw GetDrawMode(int ID)
描画モード参照メソッド
void SetShadingMode(int ID, fk_ShadingMode mode)
要素モード設定関数
fk_Draw DrawMode
描画モードプロパティ
Definition ShapeViewer_CLI.h:143
int ModelNum
形状設定数プロパティ
Definition ShapeViewer_CLI.h:112
fk_Vector^ Center
描画領域中心座標プロパティ
Definition ShapeViewer_CLI.h:233
fk_Shape ^ GetShape(int ID)
形状参照メソッド
double AxisScale
座標軸大きさ設定メソッド
Definition ShapeViewer_CLI.h:224
void SetPointSize(int ID, double size)
形状頂点描画サイズ設定メソッド
void SetElementMode(int ID, fk_ElementMode mode)
形状別要素モード設定関数
bool Draw(void)
描画更新メソッド
void SetEdgeColor(int ID, fk_Color^ col)
形状稜線描画色設定メソッド
void SetAngle(int ID, fk_Angle^ angle)
形状姿勢設定メソッド1
void SetSmoothMode(int ID, bool mode)
スムースモード設定関数
fk_Shape^ Shape
単独形状参照・設定プロパティ
Definition ShapeViewer_CLI.h:103
~fk_ShapeViewer()
デストラクタ
fk_ShadingMode ShadingMode
Definition ShapeViewer_CLI.h:167
void SetVec(int ID, double x, double y, double z)
形状方向ベクトル設定メソッド2
bool SmoothMode
Definition ShapeViewer_CLI.h:177
形状用基底クラス
Definition Shape_CLI.h:29
3次元ベクトルを管理するクラス
Definition Vector_CLI.h:35
Definition AppWindow_CLI.h:11
fk_ShadingMode
シェーディングモードを表す列挙型
Definition Model_CLI.h:27
fk_Draw
モデルの描画モードを表す列挙型
Definition Model_CLI.h:13
fk_ElementMode
Definition Model_CLI.h:67
fk_ImageType
画像フォーマットを表す列挙型
Definition Image_CLI.h:12