C3D Toolkit  Kernel - 106477, Vision - 190409.106477

Источник света. Подробнее...

#include <vsn_light.h>

+ Граф наследования:Light:
+ Граф связей класса Light:

Открытые типы

enum  LightTypes { , DirectionLight = 1, SpotLight = 2 }
 

Открытые члены

 Light (const OpenGLContextInterface *pContext=nullptr, const Color &color=Color(255, 255, 255))
 Конструктор по умолчанию. По умолчанию цвет окружения черный, диффузный цвет белый и цвет зеркальности белый.
 
 Light (LightTypes lightType, const OpenGLContextInterface *pContext=nullptr, const Color &color=Color(255, 255, 255))
 Конструктор с выбором типа освещения. По умолчанию цвет окружения черный, диффузный цвет белый и цвет зеркальности белый.
 
 Light (const Light &other)
 Конструктор копирования.
 
virtual ~Light ()
 Деструктор.
 
bool IsLightEnabled () const
 Включен ли источник света.
 
void SetLightEnabled (bool bEnable)
 Включить или выключить источник света.
 
MbCartPoint3D GetPosition () const
 Вернуть позицию источника света.
 
void SetPosition (const MbCartPoint3D &pos)
 Установить позицию источника света.
 
void SetPosition (float x, float y, float z)
 Установить позицию источника света.
 
Color GetAmbientColor () const
 Вернуть цвет фонового излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0)).
 
void SetAmbientColor (const Color &color)
 Установить цвет фонового излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0)).
 
Color GetDiffuseColor () const
 Вернуть цвет рассеянного излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0) или (1.0, 1.0, 1.0, 1.0)).
 
void SetDiffuseColor (const Color &color)
 Установить цвет рассеянного излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0) или (1.0, 1.0, 1.0, 1.0)).
 
Color GetSpecularColor () const
 Вернуть цвет зеркального излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0) или (1.0, 1.0, 1.0, 1.0)).
 
void SetSpecularColor (const Color &color)
 Установить цвет зеркального излучения источника света (значение по умолчанию (0.0, 0.0, 0.0, 1.0) или (1.0, 1.0, 1.0, 1.0)).
 
bool IsDoubleSided () const
 Проверить, включен ли режим двустороннего освещения.
 
void SetDoubleSided (bool bDoubleSided)
 Установить режим двустороннего освещения.
 
Light::LightTypes GetType () const
 Вернуть тип источника освещения.
 
void SetType (Light::LightTypes type)
 Установить тип источника освещения.
 
uint GetGlLightID () const
 Вернуть идентификатор источника.
 
float GetConstantAttenuation () const
 Вернуть постоянную ослабления источника освещения.
 
void SetConstantAttenuation (float attenuationConstant)
 Установить постоянную ослабления источника освещения.
 
float GetLinearAttenuation () const
 Вернуть линейное ослабление источника освещения.
 
void SetLinearAttenuation (float linearAttenuation)
 Установить линейное ослабление источника освещения.
 
float GetQuadraticAttenuation () const
 Вернуть квадратичное ослабление источника освещения.
 
void SetQuadraticAttenuation (float attenuationQuadric)
 Установить квадратичное ослабление источника освещения.
 
MbVector3D GetSpotDirection () const
 Вернуть направление освещения от точечного источника. (x, y, z) - направление прожектора. Может быть представлено в виде оси ограничевающего конуса.
 
void SetSpotDirection (const MbVector3D &direction)
 Установить направление освещения от точечного источника. (x, y, z) - направление прожектора (ось ограничивающего конуса).
 
float GetSpotCutoffAngle () const
 Вернуть угол между осью и стороной конуса (он же половина угла при вершине) точечного источника освещения.
 
void SetSpotCutoffAngle (float cutoffAngle)
 Установить угол между осью и стороной конуса (он же половина угла при вершине) точечного источника освещения.
 
float GetSpotExponent () const
 Вернуть экспоненту убывания интенсивности точечного источника освещения.
 
void SetSpotExponent (float exponent)
 Установить экспоненту убывания интенсивности точечного источника освещения.
 
virtual void oglPerform ()
 Настроить источник в OpenGL.
 
- Открытые члены унаследованные от Object
 Object (const String &name=String())
 Конструктор по умолчанию.
 
 Object (Object *pParent)
 Конструктор c родителем.
 
virtual ~Object ()
 Деструктор.
 
void SetParent (Object *pParent)
 Установить родителя для объекта.
 
MutexGetMutex ()
 Мьютекс объекта.
 
String GetObjectName () const
 Получить имя объекта.
 
void SetObjectName (const String &name)
 Установить имя объекту.
 
bool IsControlType () const
 Вернуть тип объекта.
 
ObjectGetParent () const
 Вернуть указатель на родителя.
 
Variant GetProperty (const char *name) const
 Вернуть вариант свойства по имени.
 
bool IsSignalsBlocked () const
 Вернуть признак блокировки сигналов этого объекта.
 
void AddEventListener (Object *obj)
 Добавить слушателя событий.
 
void RemoveEventListener (Object *obj)
 Удалить слушателя событий.
 
ObjectGetSender () const
 Вернуть указатель на объект, который с генерировал сигнал.
 
Thread * GetThread () const
 NO TRANSLATION.
 
void BindWithThread (Thread *thread)
 Связывание c потоком.
 
int StartTimer (int interval, TimerType timerType=tt_CoarseTimer)
 NO TRANSLATION.
 
void KillTimer (int id)
 NO TRANSLATION.
 
const std::vector< Object * > & GetChildren () const
 Вернуть список указателей детей.
 
Objectoperator= (const Object &)
 Оператор присваивания.
 
- Открытые члены унаследованные от BasicObject
 BasicObject ()
 Конструктор по умолчанию.
 
virtual ~BasicObject ()
 Деструктор.
 

Открытые статические члены

static int GetLightMaxCount ()
 Вернуть максимальное количество источников освещения.
 
static size_t GetOperatingLightCount (OpenGLContextInterface *pContext)
 Вернуть количество рабочих источников освещения.
 

Подробное описание

Источник света.

Light - точечный источник света. Источник света имеет свою 3D позицию, а также свой сложный цвет.

Перечисления

◆ LightTypes

Элементы перечислений
DirectionLight 

точечные источники света испускают свет одинаково во всех направлениях, поэтому требуют только позицию без направления.

SpotLight 

направленный свет моделирует параллельные лучи света от удаленного источника, следовательно, имеет направление, но не позицию.


Объявления и описания членов класса находятся в файле: