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  ****************************************************************************/
double GetAttenuation(int num)
減衰係数参照メソッド
double SpotCutOff
スポットライト効果範囲角度プロパティ
Definition: Light_CLI.h:94
void SetAttenuation(double k_l, double k_q, double k_c)
減衰係数設定メソッド1
光源を管理するクラス
Definition: Light_CLI.h:50
スポットライト
形状用基底クラス
Definition: Shape_CLI.h:28
fk_Light()
コンストラクタ
double SpotExponent
スポットライト減衰指数設定メソッド
Definition: Light_CLI.h:134
~fk_Light()
デストラクタ
fk_LightType
光源タイプを表す列挙型
Definition: Light_CLI.h:11
fk_LightType Type
光源タイププロパティ
Definition: Light_CLI.h:71
Definition: AppWindow_CLI.h:11