|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
#include <ConeEclipseCalculator.hpp>
类 ast::ConeEclipseCalculator 继承关系图:Public 成员函数 | |
| double | getLightingRatio (const TimePoint &time, const Vector3d &position, Frame *frame) override |
| double | getLightingRatio (const TimePoint &time, const Vector3d &position, Frame *frame, CelestialBody **obstructionOut) |
Public 成员函数 继承自 ast::EclipseCalculator | |
| EclipseCalculator (CelestialBody *lightSource) | |
| CelestialBody * | lightSource () const |
| void | setLightSource (CelestialBody *lightSource) |
| void | setOccultingBodies (const std::vector< HCelestialBody > &occultingBodies) |
| void | addOccultingBody (HCelestialBody occultingBody) |
额外继承的成员函数 | |
Protected 属性 继承自 ast::EclipseCalculator | |
| HCelestialBody | lightSource_ {nullptr} |
| std::vector< HCelestialBody > | occultingBodies_ {} |
双锥阴影模型光照计算器
使用双锥阴影模型(本影-半影模型)计算光照强度。该模型考虑光源的视张角, 当光源(如太阳)被遮挡体(如地球)部分遮挡时,可计算出0~1之间的半影光照比例。
|
overridevirtual |
计算光照强度(含半影)
| time | 时间点 |
| position | 观测者位置(相对于 frame 坐标系) |
| frame | 观测者所在参考系 |
| double ast::ConeEclipseCalculator::getLightingRatio | ( | const TimePoint & | time, |
| const Vector3d & | position, | ||
| Frame * | frame, | ||
| CelestialBody ** | obstructionOut ) |
计算光照强度(含半影),并返回造成最暗遮蔽的遮挡体
| time | 时间点 |
| position | 观测者位置(相对于 frame 坐标系) |
| frame | 观测者所在参考系 |
| obstructionOut | 输出:给出最小光照比的遮挡体(全光照时为 nullptr;可为 nullptr 表示不关心) |