Sun
Represents the Sun on a little portion of Earth.
Inheritance Hierarchy
System.Object
Rhino.Render.FreeFloatingBase
Rhino.Render.DocumentOrFreeFloatingBase
Rhino.Render.Sun
Namespace: Rhino.Render
Assembly: RhinoCommon (in RhinoCommon.dll)
Syntax
public sealed class Sun : DocumentOrFreeFloatingBase, IDisposable
The Sun type exposes the following members.
Constructors
Name
Description
Public Method
Sun
Create a utility object not associated with any document
Properties
Name
Description
Public Property
Accuracy
Accuracy.
Public Property
Altitude
The sun’s altitude above the horizon in degrees in the range -90 to +90. Setting this value will also set the sun to manual control mode.
Public Property
Azimuth
The sun’s azimuth in degrees. The value increases Eastwards with North as zero. Setting this value will also set the sun to manual control mode. Note: This value is not affected by the direction of north.
Public Property
DaylightSaving
Obsolete.
Public Property
DaylightSavingMinutes
Daylight saving time in minutes
Public Property
DaylightSavingOn
Daylight saving time ‘on’ state
Public Property
Enabled
Turn the sun on/off in this document.
Public Property
Hash
Get a hash of the sun state.
Public Property
Intensity
Sun intensity.
Public Property
Latitude
The observer’s latitude.
Public Property
Light
Get a Light which represents the sun. If manual control is in effect, no sun calculation is performed; the function uses the last known values of azimuth and altitude. If manual control is not in effect, the observer’s position, date, time, time zone and daylight saving values are used to calculate the position of the sun.
Public Property
Longitude
The observer’s longitude.
Public Property
ManualControl
Obsolete.
Public Property
ManualControlOn
Manual control ‘on’ state. When true, allows the user to set the sun azimuth and altitude directly. When false, the values are computed.
Public Property
North
Angle in degrees on world X-Y plane that should be considered north in the model. The angle is measured starting at the x-axis and increases anti-clockwise. The y-axis corresponds to a ‘north’ angle of 90 degrees.
Public Property
SkylightOn
Obsolete.
Turn skylight on or off.
Public Property
TimeZone
The observer’s time zone measured in hours relative to UTC.
Public Property
Vector
Methods
Name
Description
Public Method
Static Member
AltitudeFromValues
Public Method
BeginChange
(Inherited from DocumentOrFreeFloatingBase.)
Public Method
Static Member
ColorFromAltitude
Get sun color based on altitude.
Public Method
CopyFrom
(Overrides
FreeFloatingBase.CopyFrom(FreeFloatingBase)
.)Public Method
Dispose
Releases all resources used by the Sun
Public Method
EndChange
(Inherited from DocumentOrFreeFloatingBase.)
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected Method
Finalize
(Overrides
FreeFloatingBase.Finalize.
.)Public Method
GetDateTime
Get the observer’s date and time as a DateTime with kind DateTimeKind.Local. Param ‘kind’ specifies the kind of date and time to retrieve from the sun. - If DateTimeKind.Local, the returned DateTime will contain the local sun time, i.e., the time you see in the UI under ‘Local’. - If DateTimeKind.Utc, the returned DateTime will contain the UTC sun time, i.e., the time you see in the UI under ‘UTC’, which is the Sun’s local time adjusted for its time zone and daylight saving (if any). **** Local sun time is to do with the Sun’s time zone and not the time zone of the computer. **** The returned DateTime object always has a kind of Local even if you requested the sun’s UTC date and time. This is because the Sun’s time zone is nothing to do with the actual computer’s time zone and converting the result would cause further confusion.
Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object.)
Public Method
Static Member
Here
Public Method
Static Member
JulianDay
Public Method
SetDateTime
Set the observer’s date and time. kind specifies the kind of date and time to set to the sun. Note that this is distinct from the DateTimeKind of ‘time’ which has nothing to do with the sun’s local/UTC scenario. - If ‘kind’ is DateTimeKind.Local, the sun’s local time will be set, i.e., the time you see in the UI under ‘Local’. This is the preferred way to use this function. - If ‘kind’ is DateTimeKind.Utc, the sun’s UTC time will be set, i.e., the time you see in the UI under ‘UTC’. This is only for completeness; it’s not likely to be useful, but if you do use it, be aware that the sun will convert this time to local using its currently set time zone and daylight saving information (not the locale’s information). Caveat: Local sun time is to do with the Sun’s time zone and not the time zone of the computer. Caveat: If the supplied DateTime object has a kind of Local, it will be used verbatim. If, however, it has a kind of Utc, it will be converted to local time on the computer using the computer’s time zone and daylight saving locale information before being passed to the sun. To avoid confusion, it’s best to always use DateTimes with Kind ‘Local’ when setting the sun’s date and time. This is because the Sun’s time zone is nothing to do with the actual computer’s time zone.
Public Method
SetPosition(Double, Double)
Obsolete.
Public Method
SetPosition(DateTime, Double, Double)
Obsolete.
Public Method
Static Member
SunDirection
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object.)
Public Method
Static Member
TwilightZone
Events
Name
Description
Public Event
Static Member
Changed
This event is raised when a Sun property value is changed.