#######
IPlanet
#######

.. cpp:namespace:: ART::IPlanet

.. default-domain:: cpp

Functions
=========

================================== ==================================================================================================================================================================================================================================
..                                 :cpp:func:`SET_CID <ART::IPlanet::SET_CID>`                                                                                                                                                                                       
:cpp:enumerator:`~ART::PLANET_ID`  :cpp:func:`GetPID <virtual ART::PLANET_ID ART::IPlanet::GetPID() const =0>`                                                                                                                                                       
const :doc:`classRED_1_1String` &  :cpp:func:`GetName <virtual const RED::String & ART::IPlanet::GetName() const =0>`                                                                                                                                                
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetName <virtual RED_RC ART::IPlanet::SetName(const RED::String &iName)=0>`                                                                                                                                            
:doc:`classRED_1_1Object` *        :cpp:func:`GetParent <virtual RED::Object * ART::IPlanet::GetParent() const =0>`                                                                                                                                                  
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetParent <virtual RED_RC ART::IPlanet::SetParent(RED::Object *iParent)=0>`                                                                                                                                            
double                             :cpp:func:`GetRadius <virtual double ART::IPlanet::GetRadius() const =0>`                                                                                                                                                         
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetRadius <virtual RED_RC ART::IPlanet::SetRadius(double iRadius)=0>`                                                                                                                                                  
const :doc:`classRED_1_1Matrix` &  :cpp:func:`GetInclination <virtual const RED::Matrix & ART::IPlanet::GetInclination() const =0>`                                                                                                                                  
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetInclination <virtual RED_RC ART::IPlanet::SetInclination(const RED::Matrix &iMatrix)=0>`                                                                                                                            
const :doc:`classRED_1_1Matrix` &  :cpp:func:`GetObliquity <virtual const RED::Matrix & ART::IPlanet::GetObliquity() const =0>`                                                                                                                                      
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetObliquity <virtual RED_RC ART::IPlanet::SetObliquity(const RED::Matrix &iMatrix)=0>`                                                                                                                                
const double *                     :cpp:func:`GetEllipticPath <virtual const double * ART::IPlanet::GetEllipticPath() const =0>`                                                                                                                                     
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetEllipticPath <virtual RED_RC ART::IPlanet::SetEllipticPath(double iOrbit[2])=0>`                                                                                                                                    
double                             :cpp:func:`GetOrbitalPeriod <virtual double ART::IPlanet::GetOrbitalPeriod() const =0>`                                                                                                                                           
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetOrbitalPeriod <virtual RED_RC ART::IPlanet::SetOrbitalPeriod(double iOrbitalPeriod)=0>`                                                                                                                             
double                             :cpp:func:`GetStartupOrbitalAngle <virtual double ART::IPlanet::GetStartupOrbitalAngle() const =0>`                                                                                                                               
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetStartupOrbitalAngle <virtual RED_RC ART::IPlanet::SetStartupOrbitalAngle(double iOrbitalAngle)=0>`                                                                                                                  
double                             :cpp:func:`GetRotationPeriod <virtual double ART::IPlanet::GetRotationPeriod() const =0>`                                                                                                                                         
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetRotationPeriod <virtual RED_RC ART::IPlanet::SetRotationPeriod(double iRotationPeriod)=0>`                                                                                                                          
double                             :cpp:func:`GetStartupRotationAngle <virtual double ART::IPlanet::GetStartupRotationAngle() const =0>`                                                                                                                             
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetStartupRotationAngle <virtual RED_RC ART::IPlanet::SetStartupRotationAngle(double iRotationAngle)=0>`                                                                                                               
void                               :cpp:func:`OverrideRotationAngle <virtual void ART::IPlanet::OverrideRotationAngle(double iAngle)=0>`                                                                                                                             
void                               :cpp:func:`ResetRotationAngleOverride <virtual void ART::IPlanet::ResetRotationAngleOverride()=0>`                                                                                                                                
double                             :cpp:func:`GetRotationAngleOverride <virtual double ART::IPlanet::GetRotationAngleOverride() const =0>`                                                                                                                           
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetTangentAxisSystem <virtual RED_RC ART::IPlanet::GetTangentAxisSystem(RED::Matrix &oMatrix, const double iPosition[3]) const =0>`                                                                                    
void                               :cpp:func:`OverrideAxisSystem <virtual void ART::IPlanet::OverrideAxisSystem(const RED::Matrix &iAxisSystem)=0>`                                                                                                                  
void                               :cpp:func:`ResetAxisSystemOverride <virtual void ART::IPlanet::ResetAxisSystemOverride()=0>`                                                                                                                                      
bool                               :cpp:func:`HasAxisSystemOverride <virtual bool ART::IPlanet::HasAxisSystemOverride() const =0>`                                                                                                                                   
const :doc:`classRED_1_1Matrix` &  :cpp:func:`GetAxisSystemOverride <virtual const RED::Matrix & ART::IPlanet::GetAxisSystemOverride() const =0>`                                                                                                                    
void                               :cpp:func:`SetOffsetMatrix <virtual void ART::IPlanet::SetOffsetMatrix(const RED::Matrix &iOffsetMatrix)=0>`                                                                                                                      
const :doc:`classRED_1_1Matrix` &  :cpp:func:`GetOffsetMatrix <virtual const RED::Matrix & ART::IPlanet::GetOffsetMatrix() const =0>`                                                                                                                                
:cpp:enumerator:`~RED_RC`          :cpp:func:`ConvertPlanetToTangentAxisSystem <virtual RED_RC ART::IPlanet::ConvertPlanetToTangentAxisSystem(double oVectorTCS[3], const double iPosition[3], const double iVectorPCS[3]) const =0>`                                
:cpp:enumerator:`~RED_RC`          :cpp:func:`ConvertTangentToPlanetAxisSystem <virtual RED_RC ART::IPlanet::ConvertTangentToPlanetAxisSystem(double oVectorPCS[3], const double iPosition[3], const double iVectorTCS[3]) const =0>`                                
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetStarDirection <virtual RED_RC ART::IPlanet::GetStarDirection(double oDirection[3]) const =0>`                                                                                                                       
:cpp:enumerator:`~RED_RC`          :cpp:func:`ComputeOffsetMatrixForStarDirection <virtual RED_RC ART::IPlanet::ComputeOffsetMatrixForStarDirection(const double iDirection[3])=0>`                                                                                  
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetAtlas <virtual RED_RC ART::IPlanet::SetAtlas(RED::Object *iAtlas)=0>`                                                                                                                                               
:doc:`classRED_1_1Object` *        :cpp:func:`GetAtlas <virtual RED::Object * ART::IPlanet::GetAtlas() const =0>`                                                                                                                                                    
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetEnvironment <virtual RED_RC ART::IPlanet::SetEnvironment(RED::Object *iEnvironment, double iScale, const RED::Matrix &iMatrix, double iMaxHeight)=0>`                                                               
:doc:`classRED_1_1Object` *        :cpp:func:`GetEnvironment <virtual RED::Object * ART::IPlanet::GetEnvironment() const =0>`                                                                                                                                        
void                               :cpp:func:`GetEnvironmentSize <virtual void ART::IPlanet::GetEnvironmentSize(int &oWidth, int &oHeight) const =0>`                                                                                                                
double                             :cpp:func:`GetEnvironmentScale <virtual double ART::IPlanet::GetEnvironmentScale() const =0>`                                                                                                                                     
const :doc:`classRED_1_1Matrix` &  :cpp:func:`GetEnvironmentMatrix <virtual const RED::Matrix & ART::IPlanet::GetEnvironmentMatrix() const =0>`                                                                                                                      
double                             :cpp:func:`GetEnvironmentMaximalHeight <virtual double ART::IPlanet::GetEnvironmentMaximalHeight() const =0>`                                                                                                                     
const :doc:`classRED_1_1Matrix` &  :cpp:func:`GetAxisSystem <virtual const RED::Matrix & ART::IPlanet::GetAxisSystem() const =0>`                                                                                                                                    
const :doc:`classRED_1_1Matrix` &  :cpp:func:`GetRawAxisSystem <virtual const RED::Matrix & ART::IPlanet::GetRawAxisSystem() const =0>`                                                                                                                              
void                               :cpp:func:`GetPosition <virtual void ART::IPlanet::GetPosition(double oPosition[3]) const =0>`                                                                                                                                    
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetLandscapeVisibleHeight <virtual RED_RC ART::IPlanet::GetLandscapeVisibleHeight(double oPos[3], double oNor[3], double iPos[3]) const =0>`                                                                           
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetLandscapeRealHeight <virtual RED_RC ART::IPlanet::GetLandscapeRealHeight(double oPos[3], double iPos[3], bool iWithGroundAreas, bool iWithGeometries, bool iFirstSoil, int iGeometryMaxPriority=INT_MAX) const =0>` 
:cpp:enumerator:`~RED_RC`          :cpp:func:`AddGeometry <virtual RED_RC ART::IPlanet::AddGeometry(RED::Object *iGeometry, double iLatitude, double iLongitude, double iOrientation, double iScale)=0>`                                                             
:cpp:enumerator:`~RED_RC`          :cpp:func:`AddGeometry <virtual RED_RC ART::IPlanet::AddGeometry(RED::Object *iGeometry, const RED::Matrix &iCoordinates)=0>`                                                                                                     
:cpp:enumerator:`~RED_RC`          :cpp:func:`RemoveGeometry <virtual RED_RC ART::IPlanet::RemoveGeometry(RED::Object *iGeometry)=0>`                                                                                                                                
:cpp:enumerator:`~RED_RC`          :cpp:func:`RefreshGeometry <virtual RED_RC ART::IPlanet::RefreshGeometry(RED::Object *iGeometry)=0>`                                                                                                                              
:cpp:enumerator:`~RED_RC`          :cpp:func:`RefreshGeometryTransform <virtual RED_RC ART::IPlanet::RefreshGeometryTransform(RED::Object *iGeometry, const RED::Matrix &iCoordinates)=0>`                                                                           
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetGeometry <virtual RED_RC ART::IPlanet::GetGeometry(RED::Object *&oGeometry, int iIndex) const =0>`                                                                                                                  
bool                               :cpp:func:`IsGeometriesLazyGroundUpdates <virtual bool ART::IPlanet::IsGeometriesLazyGroundUpdates() const =0>`                                                                                                                   
void                               :cpp:func:`SetGeometriesLazyGroundUpdates <virtual void ART::IPlanet::SetGeometriesLazyGroundUpdates(bool iLazy)=0>`                                                                                                              
bool                               :cpp:func:`IsGeometriesGroundUpdatesFlush <virtual bool ART::IPlanet::IsGeometriesGroundUpdatesFlush() const =0>`                                                                                                                 
void                               :cpp:func:`SetGeometriesGroundUpdatesFlush <virtual void ART::IPlanet::SetGeometriesGroundUpdatesFlush(bool iOnOff)=0>`                                                                                                           
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetWindDirection <virtual RED_RC ART::IPlanet::GetWindDirection(RED::Vector3 &oDirection) const =0>`                                                                                                                   
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetWindDirection <virtual RED_RC ART::IPlanet::SetWindDirection(const RED::Vector3 &iDirection)=0>`                                                                                                                    
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetWindPower <virtual RED_RC ART::IPlanet::GetWindPower(double &oPower)=0>`                                                                                                                                            
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetWindPower <virtual RED_RC ART::IPlanet::SetWindPower(double iPower)=0>`                                                                                                                                             
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetWindTurbulenceSpeed <virtual RED_RC ART::IPlanet::GetWindTurbulenceSpeed(double &oSpeed)=0>`                                                                                                                        
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetWindTurbulenceSpeed <virtual RED_RC ART::IPlanet::SetWindTurbulenceSpeed(double iSpeed)=0>`                                                                                                                         
:cpp:enumerator:`~RED_RC`          :cpp:func:`GetWindTurbulenceScale <virtual RED_RC ART::IPlanet::GetWindTurbulenceScale(double &oScale)=0>`                                                                                                                        
:cpp:enumerator:`~RED_RC`          :cpp:func:`SetWindTurbulenceScale <virtual RED_RC ART::IPlanet::SetWindTurbulenceScale(double iScale)=0>`                                                                                                                         
================================== ==================================================================================================================================================================================================================================

.. cpp:namespace:: nullptr

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

.. doxygenclass:: ART::IPlanet
   :project: RED
   :members:
   :undoc-members:



