mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-02-21 12:29:04 -06:00
Merge branch 'thesis/2019/spaceDebris' of https://github.com/OpenSpace/OpenSpace into thesis/2019/spaceDebris
This commit is contained in:
Submodule apps/OpenSpace/ext/sgct updated: 2c774af032...8d672fd0a7
Submodule ext/ghoul updated: 5600165bb3...9045871f1e
@@ -358,10 +358,28 @@ std::vector<KeplerParameters> readTLEFile(const std::string& filename){
|
||||
return data;
|
||||
}
|
||||
|
||||
std::vector<glm::vec3> getPositionBuffer(std::vector<KeplerParameters> tleData) {
|
||||
|
||||
|
||||
std::vector<glm::dvec3> getPositionBuffer(std::vector<KeplerParameters> tleData, std::string& timeStamp) {
|
||||
|
||||
std::vector<glm::dvec3> positionBuffer;
|
||||
for(const auto& orbit : tleData) {
|
||||
KeplerTranslation keplerTranslator;
|
||||
keplerTranslator.setKeplerElements(
|
||||
orbit.eccentricity,
|
||||
orbit.semiMajorAxis,
|
||||
orbit.inclination,
|
||||
orbit.ascendingNode,
|
||||
orbit.argumentOfPeriapsis,
|
||||
orbit.meanAnomaly,
|
||||
orbit.period,
|
||||
orbit.epoch
|
||||
);
|
||||
double timeInSeconds = Time::convertTime(timeStamp);
|
||||
glm::dvec3 position = keplerTranslator.debrisPos(static_cast<float>(timeInSeconds));
|
||||
positionBuffer.push_back(position);
|
||||
|
||||
}
|
||||
|
||||
return positionBuffer;
|
||||
}
|
||||
|
||||
GenerateDebrisVolumeTask::GenerateDebrisVolumeTask(const ghoul::Dictionary& dictionary)
|
||||
@@ -392,7 +410,10 @@ void GenerateDebrisVolumeTask::perform(const Task::ProgressCallback& progressCal
|
||||
|
||||
//1. read TLE-data and position of debris elements.
|
||||
_TLEDataVector = readTLEFile(_inputPath);
|
||||
std::vector<glm::vec3> positionBuffer = getPositionBuffer(_TLEDataVector);
|
||||
std::vector<glm::dvec3> startPositionBuffer = getPositionBuffer(_TLEDataVector, _startTime);
|
||||
// if we deside to integrate the density over time
|
||||
// std::vector<glm::dvec3> endPositionBuffer = getPositionBuffer(_TLEDataVector, _endTime);
|
||||
|
||||
//2. create a grid using dimensions and other .task-parameters.
|
||||
|
||||
//3. calculate what voxel each debris is within for each time step.
|
||||
|
||||
@@ -25,7 +25,11 @@
|
||||
#define __OPENSPACE_MODULE_SPACE___GENERATERDEBRISVOLUMETASK___H__
|
||||
|
||||
#include <openspace/util/task.h>
|
||||
#include <openspace/util/time.h>
|
||||
|
||||
#include <modules/space/rendering/renderablesatellites.h>
|
||||
#include <modules/space/translation/keplertranslation.h>
|
||||
|
||||
|
||||
#include <ghoul/glm.h>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user