FineKernelToolKit: CLI/FK_CLI/include/Shape_CLI.h ソースファイル

FineKernelToolKit 4.3.0

読み取り中…
検索中…
一致する文字列を見つけられません
Shape_CLI.h
[詳解]
1#pragma once
2
3#include <FK/Shape.h>
4#include "Attribute_CLI.h"
5#include "Vector_CLI.h"
6#include "TexCoord_CLI.h"
7
8namespace FK_CLI
9{
10 using namespace System::Collections::Generic;
11
13 public enum class fk_RealShapeType {
14 IFS,
15 SOLID,
16 TEXTURE,
17 POINT,
18 LIGHT,
19 OTHER
20 };
21
23
29 public ref class fk_Shape : fk_Attribute {
30 internal:
31 ::FK::fk_Shape * GetP(void);
32
33 public:
34#if !defined(FK_DOXYGEN_USER_PROCESS)
35 fk_Shape(bool argNewFlg);
36 ~fk_Shape();
37 !fk_Shape();
38#endif
39
41
45 property fk_RealShapeType^ RealShapeType {
46 fk_RealShapeType^ get();
47 }
48
50
70 void SetShaderAttribute(String^ name, int dim, IEnumerable<int>^ array);
71
73
93 void SetShaderAttribute(String^ name, int dim, IEnumerable<float>^ array);
94
96
116 void SetShaderAttribute(String^ name, int dim, IEnumerable<double>^ array);
117
119
142 void SetShaderAttribute(String^ name, int dim, IEnumerable<fk_Vector^>^ array);
143
145
167 void SetShaderAttribute(String^ name, int dim, IEnumerable<fk_TexCoord^>^ array);
168
170
193 void SetShaderAttribute(String^ name, int dim, IEnumerable<fk_HVector^>^ array);
194 };
195}
196
197/****************************************************************************
198 *
199 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
200 *
201 * Redistribution and use in source and binary forms,
202 * with or without modification, are permitted provided that the
203 * following conditions are met:
204 *
205 * - Redistributions of source code must retain the above
206 * copyright notice, this list of conditions and the
207 * following disclaimer.
208 *
209 * - Redistributions in binary form must reproduce the above
210 * copyright notice, this list of conditions and the
211 * following disclaimer in the documentation and/or
212 * other materials provided with the distribution.
213 *
214 * - Neither the name of the copyright holders nor the names
215 * of its contributors may be used to endorse or promote
216 * products derived from this software without specific
217 * prior written permission.
218 *
219 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
220 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
221 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
222 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
223 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
224 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
225 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
226 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
227 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
228 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
229 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
230 * POSSIBILITY OF SUCH DAMAGE.
231 *
232 ****************************************************************************/
233/****************************************************************************
234 *
235 * Copyright (c) 1999-2024, Fine Kernel Project, All rights reserved.
236 *
237 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
238 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
239 *
240 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
241 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
242 *
243 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
244 * および下記免責条項を含めること。
245 *
246 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
247 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
248 * 含めること。
249 *
250 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
251 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
252 * コントリビューターの名前を使用してはならない。
253 *
254 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
255 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
256 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
257 * に限定されない、いかなる保証もないものとします。著作権者もコン
258 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
259 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
260 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
261 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
262 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
263 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
264 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
265 * ついて、一切責任を負わないものとします。
266 *
267 ****************************************************************************/
Attribute_CLI.h
TexCoord_CLI.h
Vector_CLI.h
FK_CLI::fk_Attribute
形状や位相要素の属性を付与、取得するクラス
Definition Attribute_CLI.h:15
FK_CLI::fk_Shape
形状用基底クラス
Definition Shape_CLI.h:29
FK_CLI::fk_Shape::SetShaderAttribute
void SetShaderAttribute(String^ name, int dim, IEnumerable< float >^ array)
シェーダー内 attribute 変数設定メソッド2
FK_CLI::fk_Shape::SetShaderAttribute
void SetShaderAttribute(String^ name, int dim, IEnumerable< fk_TexCoord^>^ array)
シェーダー内 attribute 変数設定メソッド5
FK_CLI::fk_Shape::SetShaderAttribute
void SetShaderAttribute(String^ name, int dim, IEnumerable< fk_HVector^>^ array)
シェーダー内 attribute 変数設定メソッド6
FK_CLI::fk_Shape::RealShapeType
fk_RealShapeType^ RealShapeType
形状データ構造プロパティ
Definition Shape_CLI.h:45
FK_CLI::fk_Shape::SetShaderAttribute
void SetShaderAttribute(String^ name, int dim, IEnumerable< double >^ array)
シェーダー内 attribute 変数設定メソッド3
FK_CLI::fk_Shape::SetShaderAttribute
void SetShaderAttribute(String^ name, int dim, IEnumerable< fk_Vector^>^ array)
シェーダー内 attribute 変数設定メソッド4
FK_CLI::fk_Shape::SetShaderAttribute
void SetShaderAttribute(String^ name, int dim, IEnumerable< int >^ array)
シェーダー内 attribute 変数設定メソッド1
FK_CLI
Definition AppWindow_CLI.h:11
FK_CLI::fk_Draw::TEXTURE
@ TEXTURE
テクスチャ描画
Definition Model_CLI.h:20
FK_CLI::fk_RealShapeType
fk_RealShapeType
形状データの具体的なデータ構造を表す列挙型
Definition Shape_CLI.h:13
FK_CLI::fk_RealShapeType::OTHER
@ OTHER
その他
Definition Shape_CLI.h:19
FK_CLI::fk_RealShapeType::IFS
@ IFS
fk_IndexFaceSetベース
Definition Shape_CLI.h:14
FK_CLI::fk_RealShapeType::SOLID
@ SOLID
fk_Solidベース
Definition Shape_CLI.h:15
FK_CLI::fk_RealShapeType::LIGHT
@ LIGHT
fk_Lightベース
Definition Shape_CLI.h:18
FK_CLI::fk_LightType::POINT
@ POINT
点光源
Definition Light_CLI.h:11