##############
ISkyLightShape
##############

.. cpp:namespace:: RED::ISkyLightShape

.. default-domain:: cpp

Functions
=========

========================== =================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================
:doc:`classRED_1_1CID`     :cpp:func:`GetClassID <static RED::CID RED::ISkyLightShape::GetClassID()>`                                                                                                                                                                                                                                                                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetPhysicalModel <virtual RED_RC RED::ISkyLightShape::SetPhysicalModel(double iSceneScale, double iViewHeight, double iSkyMult, unsigned int iTurbidity, const RED::Color &iAlbedo, double iAerosolsAlbedo, double iAsymmetryFactor, const RED::Vector3 &iSunDir, double iSunRadiusScale, double iSunIntensityMultiplier, const RED::Vector3 &iMoonDir, double iMoonRadiusScale, double iMoonIntensityMultiplier, double iStarsIntensityMultiplier, double iSaturation, const RED::State &iState)=0>` 
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsPhysicalModel <virtual RED_RC RED::ISkyLightShape::IsPhysicalModel(bool &oIsPhysical, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetPhysicalModel <virtual RED_RC RED::ISkyLightShape::GetPhysicalModel(double &oSceneScale, double &oViewHeight, double &oSkyMult, unsigned int &oTurbidity, RED::Color &oAlbedo, double &oAerosolsAlbedo, double &oAsymmetryFactor, RED::Vector3 &oSunDir, double &oSunRadiusScale, double &oSunIntensityMultiplier, RED::Vector3 &oMoonDir, double &oMoonRadiusScale, double &oMoonIntensityMultiplier, double &oStarsIntensityMultiplier, double &oSaturation, int iStateNumber=-1)=0>`            
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetCustomModel <virtual RED_RC RED::ISkyLightShape::SetCustomModel(const RED::Vector3 &iSunDir, double iSunRadiusScale, const RED::Color &iSunIntensity, const RED::Vector3 &iMoonDir, double iMoonRadiusScale, const RED::Color &iMoonIntensity, const RED::State &iState)=0>`                                                                                                                                                                                                                       
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsCustomModel <virtual RED_RC RED::ISkyLightShape::IsCustomModel(bool &oIsCustom, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetCustomModel <virtual RED_RC RED::ISkyLightShape::GetCustomModel(RED::Vector3 &oSunDir, double &oSunRadiusScale, RED::Color &oSunIntensity, RED::Vector3 &oMoonDir, double &oMoonRadiusScale, RED::Color &oMoonIntensity, int iStateNumber=-1)=0>`                                                                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`AddClouds <virtual RED_RC RED::ISkyLightShape::AddClouds(int &oLayerIndex, double iAltitude, double iDensity, double iIntensity, double iOpacity, RED::CLOUDS_TYPE iCloudsType, unsigned int iRandomSeed, const RED::State &iState)=0>`                                                                                                                                                                                                                                                               
:cpp:enumerator:`~RED_RC`  :cpp:func:`UpdateClouds <virtual RED_RC RED::ISkyLightShape::UpdateClouds(int iLayerIndex, double iAltitude, double iIntensity, double iOpacity, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`ClearClouds <virtual RED_RC RED::ISkyLightShape::ClearClouds(const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                                            
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSkyTexture <virtual RED_RC RED::ISkyLightShape::SetSkyTexture(const RED::Object *iTexture, bool iHemispherical, const RED::Vector3 &iDir, const RED::Vector3 &iTop, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                  
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetSkyTexture <virtual RED_RC RED::ISkyLightShape::GetSkyTexture(RED::Object *&oTexture, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                              
:cpp:enumerator:`~RED_RC`  :cpp:func:`CreatePhysicalSkyTexture <virtual RED_RC RED::ISkyLightShape::CreatePhysicalSkyTexture(RED::Object *&oTexture, bool iComposite, unsigned int iWidth, bool iHemispherical, bool iIncludeSun, bool iIncludeClouds, const RED::State &iState)=0>`                                                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`CreatePhysicalSkyTextureLegacy <virtual RED_RC RED::ISkyLightShape::CreatePhysicalSkyTextureLegacy(RED::Object *&oTexture, int iWidth, bool iHemispherical, const RED::Vector3 &iSunDir, bool iIncludeSun, unsigned int iTurbidity, float iAlbedo, float iScale, float iSaturation, const RED::State &iState)=0>`                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetBackgroundMatrixFromSky <virtual RED_RC RED::ISkyLightShape::GetBackgroundMatrixFromSky(RED::Matrix &oBackgroundMatrix, const RED::Vector3 &iDir, const RED::Vector3 &iTop)=0>`                                                                                                                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSunLight <virtual RED_RC RED::ISkyLightShape::SetSunLight(RED::Object *&oSunLight, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                   
:cpp:enumerator:`~RED_RC`  :cpp:func:`ComputeSunDirection <virtual RED_RC RED::ISkyLightShape::ComputeSunDirection(RED::Vector3 &oSunDir, const struct tm &iDate, double iLatitude, double iLongitude, double iHeight) const =0>`                                                                                                                                                                                                                                                                                                           
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetMoonLight <virtual RED_RC RED::ISkyLightShape::SetMoonLight(RED::Object *&oMoonLight, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                
:cpp:enumerator:`~RED_RC`  :cpp:func:`ComputeMoonDirection <virtual RED_RC RED::ISkyLightShape::ComputeMoonDirection(RED::Vector3 &oMoonDir, const struct tm &iDate, double iLatitude, double iLongitude, double iHeight) const =0>`                                                                                                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetSamplesCount <virtual RED_RC RED::ISkyLightShape::SetSamplesCount(unsigned int iSamplesCount, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                        
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetSamplesCount <virtual RED_RC RED::ISkyLightShape::GetSamplesCount(unsigned int &oSamplesCount, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                     
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetPortals <virtual RED_RC RED::ISkyLightShape::SetPortals(const RED::Vector< RED::Object * > &iPortals, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                
:cpp:enumerator:`~RED_RC`  :cpp:func:`GetPortals <virtual RED_RC RED::ISkyLightShape::GetPortals(RED::Vector< RED::Object * > &oPortals, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                    
:cpp:enumerator:`~RED_RC`  :cpp:func:`SetEmissiveSky <virtual RED_RC RED::ISkyLightShape::SetEmissiveSky(bool iEmissive, const RED::State &iState)=0>`                                                                                                                                                                                                                                                                                                                                                                                      
:cpp:enumerator:`~RED_RC`  :cpp:func:`IsEmissiveSky <virtual RED_RC RED::ISkyLightShape::IsEmissiveSky(bool &oEmissive, int iStateNumber=-1) const =0>`                                                                                                                                                                                                                                                                                                                                                                                     
========================== =================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

.. cpp:namespace:: nullptr

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

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



