###########
ILightShape
###########

.. cpp:namespace:: RED::ILightShape

.. default-domain:: cpp

Functions
=========

========================== ============================================================================================================================================================================================================================================================================================================================================
:doc:`classRED_1_1CID`     :cpp:func:`GetClassID <static RED::CID RED::ILightShape::GetClassID()>`                                                                                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetPointLight <virtual RED_RC RED::ILightShape::SetPointLight(ATTENUATION iAtt, float iAttValue[7], const RED::Vector3 &iPos, const RED::Color &iDiffuse, const RED::Color &iSpecular, const RED::State &iState)=0>`                                                                                                             
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetRectangularAreaLight <virtual RED_RC RED::ILightShape::SetRectangularAreaLight(float iIntensity, const RED::Vector3 &iPos, const RED::Vector3 &iLightDir, const RED::Vector3 &iTopDir, const RED::Color &iDiffuse, const RED::Color &iSpecular, int iSamplesCount, float iWidth, float iHeight, const RED::State &iState)=0>` 
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetDirectionalLight <virtual RED_RC RED::ILightShape::SetDirectionalLight(float iIntensity, const RED::Vector3 &iPos, const RED::Vector3 &iLightDir, const RED::Vector3 &iTopDir, const RED::Color &iDiffuse, const RED::Color &iSpecular, const RED::State &iState)=0>`                                                         
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetBeamLight <virtual RED_RC RED::ILightShape::SetBeamLight(ATTENUATION iAtt, float iAttValues[7], const RED::Vector3 &iPos, const RED::Vector3 &iLightDir, const RED::Vector3 &iTopDir, const RED::Color &iDiffuse, const RED::Color &iSpecular, float iInnerRadius, float iOuterRadius, const RED::State &iState)=0>`          
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSpotLight <virtual RED_RC RED::ILightShape::SetSpotLight(const RED::Vector3 &iSpotOrigin, const RED::Vector3 &iSpotDir, const RED::Vector3 &iSpotTop, float iSpotAngle, float iSpotFalloff, float iSpotDropoff, const RED::State &iState)=0>`                                                                                 
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetAmbientLight <virtual RED_RC RED::ILightShape::SetAmbientLight(const RED::Color &iDiffuse, const RED::State &iState)=0>`                                                                                                                                                                                                      
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsPointLight <virtual RED_RC RED::ILightShape::IsPointLight(bool &oPoint, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsAreaLight <virtual RED_RC RED::ILightShape::IsAreaLight(bool &oArea, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                           
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsSpotLight <virtual RED_RC RED::ILightShape::IsSpotLight(bool &oSpot, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                           
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsDirectionalLight <virtual RED_RC RED::ILightShape::IsDirectionalLight(bool &oDir, int iStateNumber=-1) const =0>`                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsBeamLight <virtual RED_RC RED::ILightShape::IsBeamLight(bool &oBeam, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                           
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsAmbientLight <virtual RED_RC RED::ILightShape::IsAmbientLight(bool &oAmbient, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsSkyLight <virtual RED_RC RED::ILightShape::IsSkyLight(bool &oSky, bool &oHemispherical, int iStateNumber=-1) const =0>`                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsSunLight <virtual RED_RC RED::ILightShape::IsSunLight(bool &oSun, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsMoonLight <virtual RED_RC RED::ILightShape::IsMoonLight(bool &oMoon, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                           
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsPhysicalLight <virtual RED_RC RED::ILightShape::IsPhysicalLight(bool &oPhysical, int iStateNumber=-1) const =0>`                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetLayerSetLit <virtual RED_RC RED::ILightShape::SetLayerSetLit(const RED::LayerSet &iLitLayerSet, const RED::State &iState)=0>`                                                                                                                                                                                                 
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetLayerSetLit <virtual RED_RC RED::ILightShape::GetLayerSetLit(RED::LayerSet &oLayerSet, int iStateNumber=-1) const =0>`                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetLayerSetShadowCaster <virtual RED_RC RED::ILightShape::SetLayerSetShadowCaster(const RED::LayerSet &iShadowCasterLayerSet, const RED::State &iState)=0>`                                                                                                                                                                      
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetLayerSetShadowCaster <virtual RED_RC RED::ILightShape::GetLayerSetShadowCaster(RED::LayerSet &oLayerSet, int iStateNumber=-1) const =0>`                                                                                                                                                                                      
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetLayerSetShadowReceiver <virtual RED_RC RED::ILightShape::SetLayerSetShadowReceiver(const RED::LayerSet &iShadowReceiverLayerSet, const RED::State &iState)=0>`                                                                                                                                                                
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetLayerSetShadowReceiver <virtual RED_RC RED::ILightShape::GetLayerSetShadowReceiver(RED::LayerSet &oLayerSet, int iStateNumber=-1) const =0>`                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetAttenuation <virtual RED_RC RED::ILightShape::GetAttenuation(RED::ATTENUATION &oAttenuation, int iStateNumber=-1) const =0>`                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetAttenuationParameters <virtual RED_RC RED::ILightShape::GetAttenuationParameters(const float *&oParameters, int iStateNumber=-1) const =0>`                                                                                                                                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetAttenuation <virtual RED_RC RED::ILightShape::SetAttenuation(ATTENUATION iAtt, float iAttValue[7], const RED::State &iState)=0>`                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetRenderMode <virtual RED_RC RED::ILightShape::GetRenderMode(int &oValue, RENDER_MODE iMode, int iStateNumber=-1) const =0>`                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetRenderMode <virtual RED_RC RED::ILightShape::SetRenderMode(RENDER_MODE iMode, int iValue, const RED::State &iState)=0>`                                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetPos <virtual RED_RC RED::ILightShape::GetPos(RED::Vector3 &oPos, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetPos <virtual RED_RC RED::ILightShape::SetPos(const RED::Vector3 &iLightPos, const RED::State &iState)=0>`                                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetSight <virtual RED_RC RED::ILightShape::GetSight(RED::Vector3 &oSight, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSight <virtual RED_RC RED::ILightShape::SetSight(const RED::Vector3 &iSight, const RED::State &iState)=0>`                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetTop <virtual RED_RC RED::ILightShape::GetTop(RED::Vector3 &oTop, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetTop <virtual RED_RC RED::ILightShape::SetTop(const RED::Vector3 &iTop, const RED::State &iState)=0>`                                                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetRight <virtual RED_RC RED::ILightShape::GetRight(RED::Vector3 &oRight, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetRight <virtual RED_RC RED::ILightShape::SetRight(const RED::Vector3 &iRight, const RED::State &iState)=0>`                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetSpotAngle <virtual RED_RC RED::ILightShape::GetSpotAngle(float &oAngle, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSpotAngle <virtual RED_RC RED::ILightShape::SetSpotAngle(float iAngle, const RED::State &iState)=0>`                                                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetSpotFallOff <virtual RED_RC RED::ILightShape::GetSpotFallOff(float &oFallOff, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                 
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSpotFallOff <virtual RED_RC RED::ILightShape::SetSpotFallOff(float iFallOff, const RED::State &iState)=0>`                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetSpotDropOff <virtual RED_RC RED::ILightShape::GetSpotDropOff(float &oDropOff, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                 
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSpotDropOff <virtual RED_RC RED::ILightShape::SetSpotDropOff(float iDropOff, const RED::State &iState)=0>`                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetBeamInnerRadius <virtual RED_RC RED::ILightShape::GetBeamInnerRadius(float &oInnerRadius, int iStateNumber=-1) const =0>`                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetBeamInnerRadius <virtual RED_RC RED::ILightShape::SetBeamInnerRadius(float iBeamInRad, const RED::State &iState)=0>`                                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetBeamOuterRadius <virtual RED_RC RED::ILightShape::GetBeamOuterRadius(float &oOuterRadius, int iStateNumber=-1) const =0>`                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetBeamOuterRadius <virtual RED_RC RED::ILightShape::SetBeamOuterRadius(float iBeamOutRad, const RED::State &iState)=0>`                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetDiffuseIntensity <virtual RED_RC RED::ILightShape::GetDiffuseIntensity(RED::Color &oDiffuse, int iStateNumber=-1) const =0>`                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetDiffuseIntensity <virtual RED_RC RED::ILightShape::SetDiffuseIntensity(const RED::Color &iDiffuse, const RED::State &iState)=0>`                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetSpecularIntensity <virtual RED_RC RED::ILightShape::GetSpecularIntensity(RED::Color &oSpecular, int iStateNumber=-1) const =0>`                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSpecularIntensity <virtual RED_RC RED::ILightShape::SetSpecularIntensity(const RED::Color &iSpecular, const RED::State &iState)=0>`                                                                                                                                                                                           
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetSamplesCount <virtual RED_RC RED::ILightShape::GetSamplesCount(unsigned int &oSamplesCount, int iStateNumber=-1) const =0>`                                                                                                                                                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSamplesCount <virtual RED_RC RED::ILightShape::SetSamplesCount(unsigned int iSamplesCount, const RED::State &iState)=0>`                                                                                                                                                                                                      
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetRectangularAreaLightShape <virtual RED_RC RED::ILightShape::GetRectangularAreaLightShape(float oDimensions[2], int iStateNumber=-1) const =0>`                                                                                                                                                                                
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetRectangularAreaLightShape <virtual RED_RC RED::ILightShape::SetRectangularAreaLightShape(const float iDimensions[2], const RED::State &iState)=0>`                                                                                                                                                                            
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetEffectDistance <virtual RED_RC RED::ILightShape::GetEffectDistance(float &oEffectDistance, int iStateNumber=-1) const =0>`                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetBeamProjectorMatrix <virtual RED_RC RED::ILightShape::GetBeamProjectorMatrix(RED::Matrix &oMatrix, int iStateNumber=-1) const =0>`                                                                                                                                                                                            
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapping <virtual RED_RC RED::ILightShape::SetShadowMapping(bool iOnOff, const RED::State &iState)=0>`                                                                                                                                                                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowMapping <virtual RED_RC RED::ILightShape::GetShadowMapping(bool &oShadowMap, int iStateNumber=-1) const =0>`                                                                                                                                                                                                            
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapResolution <virtual RED_RC RED::ILightShape::SetShadowMapResolution(int iShadowMapRes, const RED::State &iState)=0>`                                                                                                                                                                                                 
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowMapResolution <virtual RED_RC RED::ILightShape::GetShadowMapResolution(int &oShadowMapRes, int iStateNumber=-1) const =0>`                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapPolygonOffset <virtual RED_RC RED::ILightShape::SetShadowMapPolygonOffset(float iPolygonOffsetFactor, float iPolygonOffsetUnits, const RED::State &iState)=0>`                                                                                                                                                       
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowMapPolygonOffset <virtual RED_RC RED::ILightShape::GetShadowMapPolygonOffset(float &oPolygonOffsetFactor, float &oPolygonOffsetUnits, int iStateNumber=-1) const =0>`                                                                                                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapSides <virtual RED_RC RED::ILightShape::SetShadowMapSides(bool iSingleMap, int iFaceMaps, const RED::State &iState)=0>`                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowMapSides <virtual RED_RC RED::ILightShape::GetShadowMapSides(bool &oSingleMap, int &oFaceMaps, int iStateNumber=-1) const =0>`                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapBlur <virtual RED_RC RED::ILightShape::SetShadowMapBlur(int iBlurSize, const RED::State &iState)=0>`                                                                                                                                                                                                                 
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowMapBlur <virtual RED_RC RED::ILightShape::GetShadowMapBlur(int &oBlurSize, int iStateNumber=-1) const =0>`                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapFiltering <virtual RED_RC RED::ILightShape::SetShadowMapFiltering(bool iOnOff, const RED::State &iState)=0>`                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsShadowMapFiltering <virtual RED_RC RED::ILightShape::IsShadowMapFiltering(bool &oOnOff, int iStateNumber=-1) const =0>`                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapCustomRange <virtual RED_RC RED::ILightShape::SetShadowMapCustomRange(float iDNear, float iDFar, const RED::State &iState)=0>`                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapAutoRange <virtual RED_RC RED::ILightShape::SetShadowMapAutoRange(bool iOnOff, const RED::State &iState)=0>`                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowMapCustomRange <virtual RED_RC RED::ILightShape::GetShadowMapCustomRange(float &oDNear, float &oDFar, int iStateNumber=-1) const =0>`                                                                                                                                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsShadowMapAutoRange <virtual RED_RC RED::ILightShape::IsShadowMapAutoRange(bool &oAuto, int iStateNumber=-1) const =0>`                                                                                                                                                                                                         
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapSpotAngle <virtual RED_RC RED::ILightShape::SetShadowMapSpotAngle(float iAngle, const RED::State &iState)=0>`                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowMapSpotAngle <virtual RED_RC RED::ILightShape::GetShadowMapSpotAngle(float &oAngle, int iStateNumber=-1) const =0>`                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapBeamRadius <virtual RED_RC RED::ILightShape::SetShadowMapBeamRadius(float iRadius, const RED::State &iState)=0>`                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowMapBeamRadius <virtual RED_RC RED::ILightShape::GetShadowMapBeamRadius(float &oRadius, int iStateNumber=-1) const =0>`                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowMapDirectAccess <virtual RED_RC RED::ILightShape::SetShadowMapDirectAccess(bool iOnOff, const RED::State &iState)=0>`                                                                                                                                                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsShadowMapDirectAccess <virtual RED_RC RED::ILightShape::IsShadowMapDirectAccess(bool &oOnOff, int iStateNumber=-1) const =0>`                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowColor <virtual RED_RC RED::ILightShape::GetShadowColor(RED::Color &oColor, int iStateNumber=-1) const =0>`                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowColor <virtual RED_RC RED::ILightShape::SetShadowColor(const RED::Color &iColor, const RED::State &iState)=0>`                                                                                                                                                                                                          
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetShadowBias <virtual RED_RC RED::ILightShape::GetShadowBias(double &oBias, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetShadowBias <virtual RED_RC RED::ILightShape::SetShadowBias(double iBias, const RED::State &iState)=0>`                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`CopyFrom <virtual RED_RC RED::ILightShape::CopyFrom(const RED::Object &iLight, const RED::State &iState, int iSrcStateNumber=-1)=0>`                                                                                                                                                                                             
========================== ============================================================================================================================================================================================================================================================================================================================================

.. cpp:namespace:: nullptr

Detailed Description
====================

.. doxygenclass:: RED::ILightShape
   :project: RED
   :members:
   :undoc-members:



