31 static void checkTurbidity(real turbidity);
34 real m_standardTime24H;
35 real m_standardMeridianDegrees;
36 real m_siteLatitudeDegrees;
37 real m_siteLongitudeDegrees;
40 std::optional<math::Vector2R> m_sunPhiThetaDegrees;
45 ClassType clazz(
"preetham-dome");
46 clazz.docName(
"Preetham Dome Actor");
48 "Using Preetham model to generate absolute energy from sky.");
49 clazz.baseOn<
ADome>();
52 turbidity.description(
"Turbidity of the atmosphere.");
53 turbidity.defaultTo(3.0_r);
55 clazz.addField(turbidity);
58 standardTime24H.
description(
"Standard time in 24H.");
61 clazz.addField(standardTime24H);
63 TSdlReal<OwnerType> standardMeridianDegrees(
"standard-meridian-degrees", &OwnerType::m_standardMeridianDegrees);
64 standardMeridianDegrees.
description(
"Standard meridian in degrees.");
67 clazz.addField(standardMeridianDegrees);
69 TSdlReal<OwnerType> siteLatitudeDegrees(
"site-latitude-degrees", &OwnerType::m_siteLatitudeDegrees);
71 "Site latitude in [-90, 90] degrees (\"+\" implies N and \"-\" implies S).");
74 clazz.addField(siteLatitudeDegrees);
76 TSdlReal<OwnerType> siteLongitudeDegrees(
"site-longitude-degrees", &OwnerType::m_siteLongitudeDegrees);
78 "Site longitude in [0, 360] degrees (with prime meridian being 0)");
81 clazz.addField(siteLongitudeDegrees);
84 julianDate.
description(
"The day of the year as an integer in the range [1, 366].");
87 clazz.addField(julianDate);
91 "Directly specify sun position in the sky in spherical coordinates. Note that this option "
92 "may not be physically correct since not every position in the sky is possible for the sun "
93 "given a location on Earth.");
94 clazz.addField(sunPhiThetaDegrees);
Information about the world being cooked.
Definition CookingContext.h:24