mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-04-23 12:39:24 -05:00
Make the aberration correction specification for targetPosition in SpiceManager explicit by including a seprate class for it
This commit is contained in:
@@ -183,8 +183,8 @@ void RenderableModel::render(const RenderData& data) {
|
||||
else
|
||||
_alpha = 1.0f;
|
||||
|
||||
glm::dvec3 p;
|
||||
SpiceManager::ref().getTargetPosition(_target, "SUN", "GALACTIC", "NONE", time, p, lt);
|
||||
glm::dvec3 p =
|
||||
SpiceManager::ref().targetPosition(_target, "SUN", "GALACTIC", SpiceManager::AberrationCorrection(), time, lt);
|
||||
psc tmppos = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
glm::vec3 cam_dir = glm::normalize(data.camera.position().vec3() - tmppos.vec3());
|
||||
_programObject->setUniform("cam_dir", cam_dir);
|
||||
@@ -246,8 +246,8 @@ void RenderableModel::update(const UpdateData& data) {
|
||||
openspace::SpiceManager::ref().getPositionTransformMatrix(_source, _destination, _time, _stateMatrix);
|
||||
|
||||
double lt;
|
||||
glm::dvec3 p;
|
||||
openspace::SpiceManager::ref().getTargetPosition("SUN", _target, "GALACTIC", "NONE", _time, p, lt);
|
||||
glm::dvec3 p =
|
||||
openspace::SpiceManager::ref().targetPosition("SUN", _target, "GALACTIC", SpiceManager::AberrationCorrection(), _time, lt);
|
||||
_sunPosition = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
}
|
||||
|
||||
|
||||
@@ -222,8 +222,8 @@ void RenderablePath::calculatePath(std::string observer) {
|
||||
//float g = _lineColor[1];
|
||||
//float b = _lineColor[2];
|
||||
for (int i = 0; i < segments; i++) {
|
||||
glm::dvec3 p;
|
||||
SpiceManager::ref().getTargetPosition(_target, observer, _frame, "NONE", currentTime, p, lightTime);
|
||||
glm::dvec3 p =
|
||||
SpiceManager::ref().targetPosition(_target, observer, _frame, SpiceManager::AberrationCorrection(), currentTime, lightTime);
|
||||
pscPos = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
pscPos[3] += 3;
|
||||
|
||||
|
||||
@@ -182,8 +182,8 @@ void RenderablePlanet::render(const RenderData& data)
|
||||
|
||||
|
||||
double lt;
|
||||
glm::dvec3 p;
|
||||
openspace::SpiceManager::ref().getTargetPosition("SUN", _target, "GALACTIC", "NONE", _time, p, lt);
|
||||
glm::dvec3 p =
|
||||
SpiceManager::ref().targetPosition("SUN", _target, "GALACTIC", SpiceManager::AberrationCorrection(), _time, lt);
|
||||
psc sun_pos = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
|
||||
// setup the data to the shader
|
||||
|
||||
@@ -219,11 +219,11 @@ void RenderableTrail::update(const UpdateData& data) {
|
||||
glm::dvec3 p;
|
||||
// Update the floating current time
|
||||
if (start > data.time)
|
||||
SpiceManager::ref().getTargetPosition(_target, _observer, _frame, "NONE", start, p, lightTime);
|
||||
p = SpiceManager::ref().targetPosition(_target, _observer, _frame, SpiceManager::AberrationCorrection(), start, lightTime);
|
||||
else if (end < data.time)
|
||||
SpiceManager::ref().getTargetPosition(_target, _observer, _frame, "NONE", end, p, lightTime);
|
||||
p = SpiceManager::ref().targetPosition(_target, _observer, _frame, SpiceManager::AberrationCorrection(), end, lightTime);
|
||||
else
|
||||
SpiceManager::ref().getTargetPosition(_target, _observer, _frame, "NONE", data.time, p, lightTime);
|
||||
p = SpiceManager::ref().targetPosition(_target, _observer, _frame, SpiceManager::AberrationCorrection(), data.time, lightTime);
|
||||
|
||||
psc pscPos = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
|
||||
@@ -246,8 +246,8 @@ void RenderableTrail::update(const UpdateData& data) {
|
||||
et = start;
|
||||
else if (end < et)
|
||||
et = end;
|
||||
glm::dvec3 p;
|
||||
SpiceManager::ref().getTargetPosition(_target, _observer, _frame, "NONE", et, p, lightTime);
|
||||
glm::dvec3 p =
|
||||
SpiceManager::ref().targetPosition(_target, _observer, _frame, SpiceManager::AberrationCorrection(), et, lightTime);
|
||||
pscPos = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
pscPos[3] += 3;
|
||||
_vertexArray[i] = { pscPos[0], pscPos[1], pscPos[2], pscPos[3] };
|
||||
@@ -289,6 +289,7 @@ void RenderableTrail::fullYearSweep(double time) {
|
||||
_oldTime = time;
|
||||
|
||||
_vertexArray.resize(segments+2);
|
||||
glm::dvec3 p;
|
||||
for (int i = 0; i < segments+2; i++) {
|
||||
if (start > time && intervalSet) {
|
||||
time = start;
|
||||
@@ -297,8 +298,16 @@ void RenderableTrail::fullYearSweep(double time) {
|
||||
time = end;
|
||||
}
|
||||
|
||||
glm::dvec3 p;
|
||||
SpiceManager::ref().getTargetPosition(_target, _observer, _frame, "NONE", time, p, lightTime);
|
||||
try {
|
||||
p =
|
||||
SpiceManager::ref().targetPosition(_target, _observer, _frame, SpiceManager::AberrationCorrection(), time, lightTime);
|
||||
}
|
||||
catch (const SpiceManager::SpiceKernelException& e) {
|
||||
// This fires for PLUTO BARYCENTER and SUN and uses the only value sometimes?
|
||||
// ---abock
|
||||
// LERROR(e.what());
|
||||
}
|
||||
|
||||
psc pscPos = PowerScaledCoordinate::CreatePowerScaledCoordinate(p.x, p.y, p.z);
|
||||
pscPos[3] += 3;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user