FineKernelToolKit: FK/Palette.h ソースファイル

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
Palette.h
[詳解]
1#if !defined(__FK_PALETTE_HEADER__)
2#define __FK_PALETTE_HEADER__
3
4#include <FK/Material.h>
5#include <vector>
6
7namespace FK {
8
10
11 enum class fk_MaterialMode {
12 NONE,
13 CHILD,
14 PARENT
15 };
16
18
26
27 class fk_Palette : public fk_BaseObject {
28 public:
29
31 fk_Palette(void);
32
34 virtual ~fk_Palette();
35
37
40 void clearMaterial(void);
41
43
50 void setObjMaterialID(int ID);
51
53
70 void pushPalette(fk_Material *mat);
71
73
88 void setPalette(fk_Material *mat, int ID);
89
91
98 int getObjMaterialID(void);
99
101
108 int getPaletteSize(void);
109
111
123 fk_Material * getMaterial(int ID);
124
126
134 std::vector<fk_Material> * getMaterialVector(void);
135
136#if !defined(FK_DOXYGEN_USER_PROCESS)
137 void Print(int, std::string = "");
138 void Resize(int);
139#endif
140
141 private:
142 int thisColorID;
143 std::vector<fk_Material> paletteStack;
144 };
145}
146
147#endif // __FK_PALETTE_HEADER__
148
149/****************************************************************************
150 *
151 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
152 *
153 * Redistribution and use in source and binary forms,
154 * with or without modification, are permitted provided that the
155 * following conditions are met:
156 *
157 * - Redistributions of source code must retain the above
158 * copyright notice, this list of conditions and the
159 * following disclaimer.
160 *
161 * - Redistributions in binary form must reproduce the above
162 * copyright notice, this list of conditions and the
163 * following disclaimer in the documentation and/or
164 * other materials provided with the distribution.
165 *
166 * - Neither the name of the copyright holders nor the names
167 * of its contributors may be used to endorse or promote
168 * products derived from this software without specific
169 * prior written permission.
170 *
171 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
172 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
173 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
174 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
175 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
176 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
177 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
178 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
179 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
180 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
181 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
182 * POSSIBILITY OF SUCH DAMAGE.
183 *
184 ****************************************************************************/
185/****************************************************************************
186 *
187 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
188 *
189 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
190 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
191 *
192 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
193 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
194 *
195 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
196 * および下記免責条項を含めること。
197 *
198 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
199 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
200 * 含めること。
201 *
202 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
203 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
204 * コントリビューターの名前を使用してはならない。
205 *
206 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
207 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
208 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
209 * に限定されない、いかなる保証もないものとします。著作権者もコン
210 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
211 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
212 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
213 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
214 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
215 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
216 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
217 * ついて、一切責任を負わないものとします。
218 *
219 ****************************************************************************/
Material.h
FK::fk_BaseObject::fk_BaseObject
fk_BaseObject(fk_Type type=fk_Type::BASEOBJECT)
コンストラクタ
FK::fk_Material
マテリアル(質感)を管理するクラス
Definition Material.h:40
FK::fk_Palette::getMaterialVector
std::vector< fk_Material > * getMaterialVector(void)
マテリアル配列取得関数
FK::fk_Palette::fk_Palette
fk_Palette(void)
コンストラクタ
FK::fk_Palette::setObjMaterialID
void setObjMaterialID(int ID)
オブジェクトマテリアル ID 設定関数
FK::fk_Palette::getObjMaterialID
int getObjMaterialID(void)
オブジェクトマテリアル ID 取得関数
FK::fk_Palette::setPalette
void setPalette(fk_Material *mat, int ID)
マテリアル設定関数
FK::fk_Palette::getPaletteSize
int getPaletteSize(void)
パレット中のマテリアル格納数取得関数
FK::fk_Palette::clearMaterial
void clearMaterial(void)
初期化関数
FK::fk_Palette::pushPalette
void pushPalette(fk_Material *mat)
マテリアル追加関数
FK::fk_Palette::getMaterial
fk_Material * getMaterial(int ID)
マテリアル取得関数
FK::fk_Palette::~fk_Palette
virtual ~fk_Palette()
デストラクタ
FK
Fine Kernel Toolkit 名前空間
Definition Angle.h:6
FK::fk_BoundaryMode::NONE
@ NONE
未定義境界
Definition Boundary.h:19
FK::fk_MaterialMode
fk_MaterialMode
マテリアルモード型
Definition Palette.h:11
FK::fk_MaterialMode::PARENT
@ PARENT
モデル設定モード
Definition Palette.h:14
FK::fk_MaterialMode::CHILD
@ CHILD
個別設定モード
Definition Palette.h:13