23 double _sun_lon = 0.0, _sun_lat = 0.0;
24 double _moon_lon = 0.0, _moon_gc_lat = 0.0;
27 SGVec4f _sun_vec = {0, 0, 0, 0};
28 SGVec4f _moon_vec = {0, 0, 0, 0};
31 SGVec4f _sun_vec_inv = {0, 0, 0, 0};
32 SGVec4f _moon_vec_inv = {0, 0, 0, 0};
36 double _sun_angle = 0.0 , _moon_angle = 0.0;
42 double _sun_rotation = 0.0, _moon_rotation = 0.0;
48 void updateBodyPos(
bool sun_not_moon,
double& lon,
double& lat,
49 SGVec4f& vec, SGVec4f& vec_inv,
50 double& angle, SGPropertyNode_ptr AngleRad,
53 SGPropertyNode_ptr _sunAngleRad;
54 SGPropertyNode_ptr _moonAngleRad;
56 simgear::TiedPropertyList _tiedProperties;
62 void tie(SGPropertyNode* aNode,
const char* aRelPath,
const SGRawValue<T>& aRawValue)
64 _tiedProperties.Tie(aNode->getNode(aRelPath,
true), aRawValue);
76 void update(
double dt)
override;
96 inline SGVec4f&
sun_vec() {
return _sun_vec; }
114 inline const SGVec4f&
moon_vec()
const {
return _moon_vec; }