FineKernelToolKit 3.1.0

- 総合概要
- 名前空間
- クラス
- ファイル

- ファイル一覧

Light_CLI.h
[詳解]
1 // Light_CLI.h
2
3 #pragma once
4
5 #include <FK/Light.h>
6 #include "Shape_CLI.h"
7
8 namespace FK_CLI
9 {
11 public enum class fk_LightType {
12 PARALLEL,
13 POINT,
14 SPOT
15 };
16
18
50 public ref class fk_Light : fk_Shape {
51 internal:
52 ::fk_Light * GetP(void);
53
54 public:
55 #ifndef FK_DOXYGEN_USER_PROCESS
56 fk_Light(bool argNewFlg);
57 #endif
58 fk_Light();
60
62 ~fk_Light();
63
65 !fk_Light();
66
68
71 property fk_LightType Type {
72 void set(fk_LightType);
73 fk_LightType get();
74 }
75
77
94 property double SpotCutOff {
95 void set(double);
96 double get();
97 }
98
100
134 property double SpotExponent {
135 void set(double);
136 double get();
137 }
138
140
164 void SetAttenuation(double k_l, double k_q, double k_c);
165
167
193 void SetAttenuation(double k_l, double k_q);
194
196
210 double GetAttenuation(int num);
211 };
212 }
213
214 /****************************************************************************
215 *
216 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
217 *
218 * Redistribution and use in source and binary forms,
219 * with or without modification, are permitted provided that the
220 * following conditions are met:
221 *
222 * - Redistributions of source code must retain the above
223 * copyright notice, this list of conditions and the
224 * following disclaimer.
225 *
226 * - Redistributions in binary form must reproduce the above
227 * copyright notice, this list of conditions and the
228 * following disclaimer in the documentation and/or
229 * other materials provided with the distribution.
230 *
231 * - Neither the name of the copyright holders nor the names
232 * of its contributors may be used to endorse or promote
233 * products derived from this software without specific
234 * prior written permission.
235 *
236 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
237 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
238 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
239 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
240 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
241 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
242 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
243 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
244 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
245 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
246 * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
247 * POSSIBILITY OF SUCH DAMAGE.
248 *
249 ****************************************************************************/
250 /****************************************************************************
251 *
252 * Copyright (c) 1999-2016, Fine Kernel Project, All rights reserved.
253 *
254 * 本ソフトウェアおよびソースコードのライセンスは、基本的に
255 * 「修正 BSD ライセンス」に従います。以下にその詳細を記します。
256 *
257 * ソースコード形式かバイナリ形式か、変更するかしないかを問わず、
258 * 以下の条件を満たす場合に限り、再頒布および使用が許可されます。
259 *
260 * - ソースコードを再頒布する場合、上記の著作権表示、本条件一覧、
261 * および下記免責条項を含めること。
262 *
263 * - バイナリ形式で再頒布する場合、頒布物に付属のドキュメント等の
264 * 資料に、上記の著作権表示、本条件一覧、および下記免責条項を
265 * 含めること。
266 *
267 * - 書面による特別の許可なしに、本ソフトウェアから派生した製品の
268 * 宣伝または販売促進に、本ソフトウェアの著作権者の名前または
269 * コントリビューターの名前を使用してはならない。
270 *
271 * 本ソフトウェアは、著作権者およびコントリビューターによって「現
272 * 状のまま」提供されており、明示黙示を問わず、商業的な使用可能性、
273 * および特定の目的に対する適合性に関す暗黙の保証も含め、またそれ
274 * に限定されない、いかなる保証もないものとします。著作権者もコン
275 * トリビューターも、事由のいかんを問わず、損害発生の原因いかんを
276 * 問わず、かつ責任の根拠が契約であるか厳格責任であるか(過失その
277 * 他の)不法行為であるかを問わず、仮にそのような損害が発生する可
278 * 能性を知らされていたとしても、本ソフトウェアの使用によって発生
279 * した(代替品または代用サービスの調達、使用の喪失、データの喪失、
280 * 利益の喪失、業務の中断も含め、またそれに限定されない)直接損害、
281 * 間接損害、偶発的な損害、特別損害、懲罰的損害、または結果損害に
282 * ついて、一切責任を負わないものとします。
283 *
284 ****************************************************************************/
Shape_CLI.h
FK_CLI::fk_Light::GetAttenuation
double GetAttenuation(int num)
減衰係数参照メソッド
FK_CLI::fk_Light::SpotCutOff
double SpotCutOff
スポットライト効果範囲角度プロパティ
Definition: Light_CLI.h:94
FK_CLI::fk_Light::SetAttenuation
void SetAttenuation(double k_l, double k_q, double k_c)
減衰係数設定メソッド1
FK_CLI::fk_Light
光源を管理するクラス
Definition: Light_CLI.h:50
FK_CLI::fk_LightType::SPOT
スポットライト
FK_CLI::fk_Shape
形状用基底クラス
Definition: Shape_CLI.h:28
FK_CLI::fk_Light::fk_Light
fk_Light()
コンストラクタ
FK_CLI::fk_LightType::PARALLEL
平行光源
FK_CLI::fk_LightType::POINT
点光源
FK_CLI::fk_Light::SpotExponent
double SpotExponent
スポットライト減衰指数設定メソッド
Definition: Light_CLI.h:134
FK_CLI::fk_Light::~fk_Light
~fk_Light()
デストラクタ
FK_CLI::fk_LightType
fk_LightType
光源タイプを表す列挙型
Definition: Light_CLI.h:11
FK_CLI::fk_Light::Type
fk_LightType Type
光源タイププロパティ
Definition: Light_CLI.h:71
FK_CLI
Definition: AppWindow_CLI.h:11