23#include "AstCore/SharedPtr.hpp"
24#include "AstCore/CelestialBody.hpp"
25#include "AstCore/Eclipse.hpp"
41 errc_t
evaluate(
const TimePoint& time,
const Vector3d& position,
bool& result)
const override;
46 ELightingType getLightingType()
const {
return lightingType_; }
51 void addEclipsingBody(
const SharedPtr<CelestialBody>& body) { eclipsingBodies_.push_back(body); }
52 size_t getEclipsingBodyCount()
const {
return eclipsingBodies_.size(); }
53 const std::vector<SharedPtr<CelestialBody>>& getEclipsingBodies()
const {
return eclipsingBodies_; }
58 std::vector<SharedPtr<CelestialBody>> eclipsingBodies_;
Class * type() const
获取对象类型
定义 Object.hpp:244
光照空间条件
定义 SpatialCondLighting.hpp:35
void accept(SpatialConditionVisitor &visitor) override
接受访问者
定义 SpatialCondLighting.hpp:40
空间条件访问者接口
定义 SpatialConditionVisitor.hpp:39
空间条件基类
定义 SpatialCondition.hpp:33
virtual errc_t evaluate(const TimePoint &time, const Vector3d &position, bool &result) const =0
在指定时间和位置评估条件
绝对时间点
定义 TimePoint.hpp:108
ELightingType
光照类型
定义 Eclipse.hpp:35