FineKernelToolKit  3.1.0
Palette_CLI.h
[詳解]
1 // Palette_CLI.h
2 
3 #pragma once
4 
5 #include <FK/Palette.h>
6 #include "Material_CLI.h"
7 
8 namespace FK_CLI
9 {
11  public enum class fk_MaterialMode : int {
12  NONE = 0,
13  CHILD = 1,
14  PARENT = 2
15  };
16 
18 
26  public ref class fk_Palette {
27  internal:
28  ::fk_Palette *pPalette;
29  bool dFlg;
30 
31  ::fk_Palette * GetP(void);
32 
33  public:
34 #ifndef FK_DOXYGEN_USER_PROCESS
35  fk_Palette(bool argNewFlg);
36 #endif
37 
39  fk_Palette();
40 
42  ~fk_Palette();
43 
45  !fk_Palette();
46 
48 
51  property int MaterialID {
52  void set(int);
53  int get();
54  }
55 
57 
64  property int Size {
65  int get();
66  }
67 
69 
74  property cli::array<fk_Material^>^ MaterialVector {
75  cli::array<fk_Material^>^ get();
76 
77  }
78 
80 
83  void ClearMaterial(void);
84 
86 
103  void PushPalette(fk_Material^ material);
104 
106 
121  void SetPalette(fk_Material^ material, int ID);
122 
124 
136  fk_Material^ GetMaterial(int ID);
137  };
138 }
139 
140 /****************************************************************************
141  *
142  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
143  *
144  * Redistribution and use in source and binary forms,
145  * with or without modification, are permitted provided that the
146  * following conditions are met:
147  *
148  * - Redistributions of source code must retain the above
149  * copyright notice, this list of conditions and the
150  * following disclaimer.
151  *
152  * - Redistributions in binary form must reproduce the above
153  * copyright notice, this list of conditions and the
154  * following disclaimer in the documentation and/or
155  * other materials provided with the distribution.
156  *
157  * - Neither the name of the copyright holders nor the names
158  * of its contributors may be used to endorse or promote
159  * products derived from this software without specific
160  * prior written permission.
161  *
162  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
163  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
164  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
165  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
166  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
167  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
168  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
169  * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
170  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
171  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
172  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
173  * POSSIBILITY OF SUCH DAMAGE.
174  *
175  ****************************************************************************/
176 /****************************************************************************
177  *
178  * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
179  *
180  * 本ソフトウェアおよびソースコードのライセンスは、基本的に
181  * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
182  *
183  * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
184  * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
185  *
186  * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
187  * および下記免責条項を含めること。
188  *
189  * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
190  * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
191  * 含めること。
192  *
193  * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
194  * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
195  * コントリビューターの名前を使用してはならない。
196  *
197  * 本ソフトウェアは、著作権者およびコントリビューターによって「現
198  * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
199  * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
200  * に限定されない、いかなる保証もないものとします。著作権者もコン
201  * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
202  * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
203  * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
204  * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
205  * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
206  * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
207  * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
208  * ついて、一切責任を負わないものとします。
209  *
210  ****************************************************************************/
int MaterialID
オブジェクトマテリアル ID プロパティ
Definition: Palette_CLI.h:51
~fk_Palette()
デストラクタ
void SetPalette(fk_Material^ material, int ID)
マテリアル設定メソッド
cli::array< fk_Material^ >^ MaterialVector
マテリアル配列プロパティ
Definition: Palette_CLI.h:74
マテリアルパレットを管理するクラス
Definition: Palette_CLI.h:26
fk_Palette()
コンストラクタ
fk_Material^ GetMaterial(int ID)
マテリアル取得メソッド
個別設定モード
モデル設定モード
fk_MaterialMode
マテリアルモードを表す列挙型
Definition: Palette_CLI.h:11
void PushPalette(fk_Material^ material)
マテリアル追加メソッド
int Size
パレット中のマテリアル格納数プロパティ
Definition: Palette_CLI.h:64
マテリアル(質感)を管理するクラス
Definition: Material_CLI.h:448
void ClearMaterial(void)
初期化メソッド
Definition: AppWindow_CLI.h:11