solve merge conflict with develop

This commit is contained in:
Michael Nilsson
2016-04-20 15:03:51 -04:00
182 changed files with 10662 additions and 3631 deletions

48
.gitignore vendored
View File

@@ -41,16 +41,15 @@ gui/externaltimecontrol/CMakeLists.txt
gui/externaltimecontrol/main.cpp
gui/externaltimecontrol/mainwindow.cpp
gui/externaltimecontrol/mainwindow.h
include/openspace/version.h
data/scene/67P/obj/67P_rotated_5_130.obj
data/spice/NewHorizonsKernels/
data/spice/RosettaKernels/
data/scene/plutoprojectionhybrid/textures/
data/scene/plutoprojectionhybrid/textures/Shenk_180.jpg
data/scene/plutoprojectionhybrid/textures/barycenter.png
data/scene/plutoprojectionhybrid/textures/defaultProj.png
data/scene/plutoprojectionhybrid/textures/pluto_highres_180.jpg
data/scene/plutoprojectionhybrid/utcEvents.txt
data/scene/newhorizons/pluto/plutoprojection/textures/
data/scene/newhorizons/pluto/plutoprojection/textures/Shenk_180.jpg
data/scene/newhorizons/pluto/plutoprojection/textures/barycenter.png
data/scene/newhorizons/pluto/plutoprojection/textures/defaultProj.png
data/scene/newhorizons/pluto/plutoprojection/textures/pluto_highres_180.jpg
data/scene/newhorizons/pluto/plutoprojection/utcEvents.txt
data/scene/rosetta/obj/mainbodyros.obj
data/scene/rosetta/obj/solarpanelleft.obj
data/scene/rosetta/obj/solarpanelright.obj
@@ -70,7 +69,7 @@ data/scene/uranus/textures/uranus.jpg
data/scene/venus/textures/venus.jpg
data/scene/vestaprojection/VestaComet/VestaComet_5000.obj
data/spice/DawnKernels/
data/scene/jupiterprojection/ProjectionsOfInterest/
data/scene/newhorizons/jupiter/jupiterprojection/ProjectionsOfInterest/
data/scene/67P/textures/black.jpg
data/scene/67P/textures/defaultProj.jpg
data/scene/67P/textures/gray.jpg
@@ -78,12 +77,12 @@ data/scene/67P/textures/gray.png
data/scene/67P/textures/texmapflipped.jpg
data/scene/67P/textures/white.jpg
data/scene/67P/textures/white.png
data/scene/callistoprojection/textures/callisto.jpg
data/scene/newhorizons/jupiter/callistoprojection/textures/callisto.jpg
data/scene/ceres/textures/gray.png
data/scene/charonprojection/textures/Charon-Text.png
data/scene/charonprojection/textures/charon_highres.jpg
data/scene/charonprojection/textures/charon_highres_annotated.jpg
data/scene/charonprojection/textures/defaultProj.png
data/scene/newhorizons/pluto/charonprojection/textures/Charon-Text.png
data/scene/newhorizons/pluto/charonprojection/textures/charon_highres.jpg
data/scene/newhorizons/pluto/charonprojection/textures/charon_highres_annotated.jpg
data/scene/newhorizons/pluto/charonprojection/textures/defaultProj.png
data/scene/dawn/obj/mainbodydawn.obj
data/scene/dawn/obj/solarpanelleft.obj
data/scene/dawn/obj/solarpanelright.obj
@@ -94,25 +93,25 @@ data/scene/earth/textures/earth_bluemarble.jpg
data/scene/earth/textures/earth_bluemarble_height.jpg
data/scene/earth/textures/earth_night.jpg
data/scene/earth/textures/marker.png
data/scene/europaprojection/textures/europa.jpg
data/scene/ganymedeprojection/textures/ganymede.jpg
data/scene/ioprojection/textures/io.jpg
data/scene/newhorizons/jupiter/europaprojection/textures/europa.jpg
data/scene/newhorizons/jupiter/ganymedeprojection/textures/ganymede.jpg
data/scene/newhorizons/jupiter/ioprojection/textures/io.jpg
data/scene/jupiter/textures/jupiter.jpg
data/scene/mars/textures/mars.jpg
data/scene/mercury/textures/mercury.jpg
data/scene/milkyway/textures/DarkUniverse_mellinger_8k.jpg
data/scene/neptune/textures/neptune.jpg
data/scene/newhorizons/models/Labels.obj
data/scene/newhorizons/models/NewHorizonsCleanModel.obj
data/scene/newhorizons/textures/NHTextureFlipCol.jpg
data/scene/newhorizons/textures/goldfoilbump.tif
data/scene/newhorizons/textures/labels.png
data/scene/newhorizons/newhorizons/models/Labels.obj
data/scene/newhorizons/newhorizons/models/NewHorizonsCleanModel.obj
data/scene/newhorizons/newhorizons/textures/NHTextureFlipCol.jpg
data/scene/newhorizons/newhorizons/textures/goldfoilbump.tif
data/scene/newhorizons/newhorizons/textures/labels.png
data/scene/pluto/textures/
data/scene/pluto/textures/Shenk_180.jpg
data/scene/pluto/textures/pluto_highres_180.jpg
data/scene/plutoprojectionhybrid/assets/core_v9h_obs_getmets_v8_time_fix_nofrcd_mld.txt
data/scene/plutoprojectionhybrid/textures/3.jpg
data/scene/plutoprojectionhybrid/textures/Pluto-Text.png
data/scene/newhorizons/pluto/plutoprojection/assets/core_v9h_obs_getmets_v8_time_fix_nofrcd_mld.txt
data/scene/newhorizons/pluto/plutoprojection/textures/3.jpg
data/scene/newhorizons/pluto/plutoprojection/textures/Pluto-Text.png
data/scene/vestaprojection/VestaComet/VestaComet.mtl
data/scene/vestaprojection/textures/defaultProj_backup.png
data/scene/vestaprojection/textures/dummy.jpg
@@ -123,3 +122,4 @@ data/spice/de430_1850-2150.bsp
data/spice/jup260.bsp
data/BATSRUS.cdf
data/ENLIL.cdf
data/scene/newhorizons/pluto/plutoprojection/images

View File

@@ -41,7 +41,6 @@ include(${GHOUL_BASE_DIR}/support/cmake/CopySharedLibraries.cmake)
test_compiler_compatibility()
cleanup_project()
set_build_output_directories()
configure_openspace_version(0 3 0 "prerelease-8")
option(OPENSPACE_WARNINGS_AS_ERRORS "Treat warnings as errors" OFF)

View File

@@ -166,11 +166,11 @@ QScrollBar::add-page, QScrollBar::sub-page {
)style";
int main(int argc, char** argv) {
QApplication app(argc, argv);
QApplication app(argc, argv);
app.setStyleSheet(style);
MainWindow window;
window.show();
MainWindow window;
window.show();
return app.exec();
return app.exec();
}

View File

@@ -104,58 +104,58 @@ MainWindow::MainWindow()
QWidget* container = new QWidget;
{
QGridLayout* layout = new QGridLayout;
QGridLayout* innerLayout = new QGridLayout;
QLabel* shortcutLabel = new QLabel("Keyboard Shortcuts:");
layout->addWidget(shortcutLabel, 0, 0);
innerLayout->addWidget(shortcutLabel, 0, 0);
QPushButton* shortcutButton = new QPushButton("Open...");
QObject::connect(shortcutButton, SIGNAL(clicked(bool)),
this, SLOT(shortcutButtonPressed())
);
layout->addWidget(shortcutButton, 0, 1);
innerLayout->addWidget(shortcutButton, 0, 1);
layout->setRowStretch(1, 10);
innerLayout->setRowStretch(1, 10);
QLabel* configurationSelectionLabel = new QLabel("Configuration:");
layout->addWidget(configurationSelectionLabel, 2, 0);
innerLayout->addWidget(configurationSelectionLabel, 2, 0);
_configurations = new QComboBox;
layout->addWidget(_configurations, 2, 1);
innerLayout->addWidget(_configurations, 2, 1);
QLabel* sceneSelectionLabel = new QLabel("Scenes:");
layout->addWidget(sceneSelectionLabel, 3, 0);
innerLayout->addWidget(sceneSelectionLabel, 3, 0);
_scenes = new QComboBox;
layout->addWidget(_scenes, 3, 1);
innerLayout->addWidget(_scenes, 3, 1);
container->setLayout(layout);
container->setLayout(innerLayout);
}
layout->addWidget(container, 1, 1);
container = new QWidget;
{
QBoxLayout* layout = new QHBoxLayout;
QBoxLayout* innerLayout = new QHBoxLayout;
QPushButton* cancelButton = new QPushButton("Cancel");
QObject::connect(
cancelButton, SIGNAL(clicked(bool)),
QApplication::instance(), SLOT(quit())
);
layout->addWidget(cancelButton);
innerLayout->addWidget(cancelButton);
QPushButton* syncButton = new QPushButton("Sync");
QObject::connect(
syncButton, SIGNAL(clicked(bool)),
this, SLOT(syncButtonPressed())
);
layout->addWidget(syncButton);
innerLayout->addWidget(syncButton);
QPushButton* startButton = new QPushButton("Start");
QObject::connect(
startButton, SIGNAL(clicked(bool)),
this, SLOT(startButtonPressed())
);
layout->addWidget(startButton);
innerLayout->addWidget(startButton);
container->setLayout(layout);
container->setLayout(innerLayout);
}
layout->addWidget(container, 2, 1);
@@ -257,8 +257,8 @@ void MainWindow::newsNetworkError() {
}
void MainWindow::newsReadyRead() {
QByteArray data = _newsReply->readAll();
QString news = QString::fromLatin1(data);
QByteArray arrayData = _newsReply->readAll();
QString news = QString::fromLatin1(arrayData);
_informationWidget->setText(news);
_newsReply->deleteLater();
}

View File

@@ -26,7 +26,7 @@
#include "infowidget.h"
#include <openspace/version.h>
#include <openspace/openspace.h>
#include <ghoul/ghoul.h>
#include <ghoul/filesystem/filesystem.h>
@@ -37,6 +37,7 @@
#include <QApplication>
#include <QCheckBox>
#include <QDir>
#include <QDirIterator>
#include <QFileInfo>
#include <QGridLayout>
#include <QGroupBox>
@@ -138,9 +139,9 @@ SyncWidget::SyncWidget(QWidget* parent, Qt::WindowFlags f)
libtorrent::session_settings settings = _session->settings();
settings.user_agent =
"OpenSpace/" +
std::to_string(OPENSPACE_VERSION_MAJOR) + "." +
std::to_string(OPENSPACE_VERSION_MINOR) + "." +
std::to_string(OPENSPACE_VERSION_PATCH);
std::to_string(openspace::OPENSPACE_VERSION_MAJOR) + "." +
std::to_string(openspace::OPENSPACE_VERSION_MINOR) + "." +
std::to_string(openspace::OPENSPACE_VERSION_PATCH);
settings.allow_multiple_connections_per_ip = true;
settings.ignore_limits_on_local_network = true;
settings.connection_speed = 20;
@@ -275,8 +276,8 @@ void SyncWidget::handleFileRequest() {
LDEBUG(f.identifier.toStdString() << " (" << f.version << ") -> " << f.destination.toStdString());
ghoul::filesystem::Directory d = FileSys.currentDirectory();
std::string thisDirectory = absPath("${SCENE}/" + f.module.toStdString() + "/");
FileSys.setCurrentDirectory(thisDirectory);
// std::string thisDirectory = absPath("${SCENE}/" + f.module.toStdString() + "/");
FileSys.setCurrentDirectory(f.baseDir.toStdString());
std::string identifier = f.identifier.toStdString();
@@ -301,8 +302,9 @@ void SyncWidget::handleTorrentFiles() {
LDEBUG(f.file.toStdString() << " -> " << f.destination.toStdString());
ghoul::filesystem::Directory d = FileSys.currentDirectory();
std::string thisDirectory = absPath("${SCENE}/" + f.module.toStdString() + "/");
FileSys.setCurrentDirectory(thisDirectory);
// std::string thisDirectory = absPath("${SCENE}/" + f.module.toStdString() + "/");
FileSys.setCurrentDirectory(f.baseDir.toStdString());
// FileSys.setCurrentDirectory(thisDirectory);
QString file = QString::fromStdString(absPath(f.file.toStdString()));
@@ -367,18 +369,65 @@ void SyncWidget::syncButtonPressed() {
LERROR("Could not find 'Modules'");
return;
}
QStringList modulesList;
for (int i = 1; i <= modules.size(); ++i) {
std::string module = modules.value<std::string>(std::to_string(i));
modulesList.append(QString::fromStdString(module));
}
modulesList.append("common");
struct ModuleInformation {
QString moduleName;
QString moduleDatafile;
QString modulePath;
};
QDir sceneDir(scene);
sceneDir.cdUp();
for (QString module : modulesList) {
QString dataFile = sceneDir.absoluteFilePath(module + "/" + module + ".data");
QList<ModuleInformation> modulesList;
for (int i = 1; i <= modules.size(); ++i) {
std::string module = modules.value<std::string>(std::to_string(i));
std::string shortModule = module;
std::string::size_type pos = module.find_last_of(FileSys.PathSeparator);
if (pos != std::string::npos) {
shortModule = module.substr(pos+1);
}
QString m = QString::fromStdString(module);
QString dataFile = sceneDir.absoluteFilePath(
QString::fromStdString(module) + "/" + QString::fromStdString(shortModule) + ".data"
);
if (QFileInfo(dataFile).exists()) {
modulesList.append({
QString::fromStdString(module),
dataFile,
sceneDir.absolutePath() + "/" + QString::fromStdString(module)
});
}
else {
QDir metaModuleDir = sceneDir;
metaModuleDir.cd(QString::fromStdString(module));
QDirIterator it(metaModuleDir.absolutePath(), QStringList() << "*.data", QDir::Files, QDirIterator::Subdirectories);
while (it.hasNext()) {
QString v = it.next();
QDir d(v);
d.cdUp();
modulesList.append({
d.dirName(),
v,
d.absolutePath()
});
}
}
}
modulesList.append({
"common",
sceneDir.absolutePath() + "/common/common.data",
sceneDir.absolutePath() + "/common"
});
for (const ModuleInformation& module : modulesList) {
QString dataFile = module.moduleDatafile;
// QString dataFile = sceneDir.absoluteFilePath(module + "/" + module + ".data");
if (QFileInfo(dataFile).exists()) {
ghoul::Dictionary dataDictionary;
@@ -407,9 +456,10 @@ void SyncWidget::syncButtonPressed() {
dest = d.value<std::string>(DestinationKey);
_directFiles.append({
module,
module.moduleName,
QString::fromStdString(url),
QString::fromStdString(dest)
QString::fromStdString(dest),
module.modulePath
});
}
}
@@ -436,9 +486,10 @@ void SyncWidget::syncButtonPressed() {
int version = static_cast<int>(d.value<double>(VersionKey));
_fileRequests.append({
module,
module.moduleName,
QString::fromStdString(url),
QString::fromStdString(dest),
module.modulePath,
version
});
}
@@ -462,9 +513,10 @@ void SyncWidget::syncButtonPressed() {
dest = "";
_torrentFiles.append({
module,
module.moduleName,
QString::fromStdString(file),
QString::fromStdString(dest)
QString::fromStdString(dest),
module.modulePath
});
}
}

View File

@@ -65,12 +65,14 @@ private:
QString module;
QString url;
QString destination;
QString baseDir;
};
struct FileRequest {
QString module;
QString identifier;
QString destination;
QString baseDir;
int version;
};
@@ -78,6 +80,7 @@ private:
QString module;
QString file;
QString destination;
QString baseDir;
};
void clear();

View File

@@ -167,9 +167,9 @@ int main(int argc, char** argv) {
LDEBUG("Starting rendering loop");
_sgctEngine->render();
//clear function bindings to avoid crash after destroying the OpenSpace Engine
sgct::MessageHandler::instance()->setLogToCallback(false);
sgct::MessageHandler::instance()->setLogCallback(nullptr);
//clear function bindings to avoid crash after destroying the OpenSpace Engine
sgct::MessageHandler::instance()->setLogToCallback(false);
sgct::MessageHandler::instance()->setLogCallback(nullptr);
LDEBUG("Destroying OpenSpaceEngine");
openspace::OpenSpaceEngine::destroy();
@@ -199,7 +199,7 @@ void mainInitFunc() {
size_t nWindows = _sgctEngine->getNumberOfWindows();
for (size_t i = 0; i < nWindows; ++i) {
sgct::SGCTWindow* w = _sgctEngine->getWindowPtr(i);
size_t nViewports = nViewports = w->getNumberOfViewports();
size_t nViewports = w->getNumberOfViewports();
for (size_t j = 0; j < nViewports; ++j) {
sgct_core::Viewport* v = w->getViewport(j);
ghoul_assert(v != nullptr, "Number of reported viewports was incorrect");

View File

@@ -138,7 +138,7 @@ void MainWindow::readTcpData() {
static const uint16_t MessageTypePlayBookHongKang = 4;
QByteArray data = continuousData.append(_socket->readAll());
int d = data.size();
// int d = data.size();
if (QString(data) == "Connected to SGCT!\r\n") {
continuousData.clear();
@@ -191,7 +191,7 @@ void MainWindow::readTcpData() {
case MessageTypePlayBookHongKang:
case MessageTypePlayBookLabel:
{
const char* payloadDebug = data.mid(2).data();
// const char* payloadDebug = data.mid(2).data();
size_t beginning = 0;
uint32_t size = readFromBuffer<uint32_t>(data.mid(2).data(), beginning);

View File

@@ -78,6 +78,7 @@ namespace {
TimelineWidget::TimelineWidget(QWidget* parent)
: QWidget(parent)
, _currentTime{"", 0.0}
{
setMinimumWidth(600);
setMinimumHeight(600);
@@ -152,17 +153,14 @@ void TimelineWidget::drawContent(QPainter& painter, QRectF rect) {
}
void TimelineWidget::drawLegend(QPainter& painter, QRectF rect) {
static const int HalfHeight = LegendHeight / 2;
static const int Padding = 5;
static const int BoxSize = 20;
// Draw Targets
int currentHorizontalPosition = Padding;
int currentVerticalPosition = Padding;
int currentVerticalPosition = Padding + BoxSize + Padding;
// Draw Targets
// Draw Instruments
currentHorizontalPosition = Padding;
currentVerticalPosition = Padding + BoxSize + Padding;
for (int i = 0; i < _instruments.size(); ++i) {
if (i == _instruments.size() / 3 || i == _instruments.size() * 2 / 3) {
currentVerticalPosition += BoxSize + Padding;
@@ -179,7 +177,7 @@ void TimelineWidget::drawLegend(QPainter& painter, QRectF rect) {
painter.setPen(QPen(QColor(200, 200, 200)));
//painter.setPen(QPen(Qt::black));
painter.drawText(currentHorizontalPosition, currentVerticalPosition + BoxSize / 2 + TextOffset, InstrumentConversion[QString::fromStdString(instrument)]);
int textWidth = painter.boundingRect(QRect(), QString::fromStdString(instrument)).width();
// int textWidth = painter.boundingRect(QRect(), QString::fromStdString(instrument)).width();
//currentHorizontalPosition += std::max(textWidth, 25) + Padding;
currentHorizontalPosition += 125;
}
@@ -198,9 +196,6 @@ void TimelineWidget::drawImages(
std::vector<Image*> images,
double minimumTime, double maximumTime)
{
int width = timelineRect.width();
int nInstruments = 0;
std::set<std::string> instrumentSet;
for (Image* i : images) {
for (std::string instrument : i->instruments)
@@ -225,7 +220,7 @@ void TimelineWidget::drawImages(
std::string target = i->target;
auto it = std::find(_targets.begin(), _targets.end(), target);
int iTarget = std::distance(_targets.begin(), it);
// int iTarget = std::distance(_targets.begin(), it);
for (std::string instrument : i->instruments) {
auto it = std::find(_instruments.begin(), _instruments.end(), instrument);

View File

@@ -130,4 +130,4 @@ return {
},
GuiName = "/Solar/67PTrail"
}
}
}

View File

@@ -1,3 +1,5 @@
UseAccurateNewHorizonsKernels = false
return {
ScenePath = ".",
CommonFolder = "common",
@@ -14,41 +16,15 @@ return {
"saturn",
"uranus",
"neptune",
--"PlutoProjection",
"plutoprojectionhybrid",
"charonprojection",
"kerberos",
"nix",
"styx",
"hydra",
"newhorizons/pluto",
"newhorizons/jupiter",
"stars",
-- "stars-denver",
"milkyway",
-- "milkyway-eso",
"imageplane",
--"constellationbounds",
--"io",
--"europa",
--"ganymede",
--"callisto",
"jupiterprojection",
"ioprojection",
"europaprojection",
"ganymedeprojection",
"callistoprojection",
"newhorizons",
"newhorizonsfov",
--"gridGalactic",
--"gridEcliptic",
--"gridEquatorial",
-- "ephemeris",
-- "newhorizonspath",
-- "newhorizonstrail",
-- "enlil",
-- "volumegl3",
-- "volumegl2",
-- "volumegl",
"newhorizons/newhorizons",
"newhorizons/newhorizonsfov",
}
}

View File

@@ -0,0 +1,22 @@
return {
-- Volume module
{
Name = "Enlil New Horizons",
Parent = "Root",
Ephemeris = {
Type = "Static",
Position = { 0.0, 0.0, 0.0, 0}
},
Renderable = {
Type = "RenderableMultiresVolume",
Translation = {0, 0, 0},
Rotation = {2.1, 0, 0},
Scaling = {1.1, 1.1, 1.1},
ScalingExponent = 12,
Source = "tsp/enlil_nh_128_128_16.tsp",
TransferFunction = "transferfunctions/fire.txt",
BrickSelector = "tf",
},
GuiName = "/Volumes/ENLIL New Horizons"
}
}

View File

@@ -0,0 +1,10 @@
width 1024
lower 0.0
upper 1.0
mappingkey 0.05 254 0 0 0
mappingkey 0.10 254 0 0 110
mappingkey 0.12 254 220 0 254
mappingkey 0.15 254 100 0 254
mappingkey 0.20 180 0 0 254
mappingkey 0.25 180 0 80 254

View File

@@ -3,6 +3,6 @@ return {
{ Identifier = "mars_textures", Destination = "textures", Version = 1 }
},
TorrentFiles = {
{ File = "MAR063.BSP.torrent", Destination = "${SPICE}" }
-- { File = "MAR063.BSP.torrent", Destination = "${SPICE}" }
}
}

View File

@@ -37,7 +37,7 @@ return {
Reference = "ECLIPJ2000",
Observer = "SUN",
Kernels = {
"${OPENSPACE_DATA}/spice/MAR063.BSP"
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
Rotation = {

View File

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 9.1 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

@@ -39,7 +39,7 @@ return {
},
Projection = {
--Sequence = "F:/JupiterFullSequence",
Sequence = "${OPENSPACE_DATA}/scene/jupiterprojection/ProjectionsOfInterest",
Sequence = "${OPENSPACE_DATA}/scene/newhorizons/jupiter/jupiterprojection/ProjectionsOfInterest",
SequenceType = "image-sequence",
Observer = "NEW HORIZONS",
Target = "JUPITER",

View File

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 8.5 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

View File

Before

Width:  |  Height:  |  Size: 5.8 KiB

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

Before

Width:  |  Height:  |  Size: 284 KiB

After

Width:  |  Height:  |  Size: 284 KiB

View File

Before

Width:  |  Height:  |  Size: 188 KiB

After

Width:  |  Height:  |  Size: 188 KiB

View File

Before

Width:  |  Height:  |  Size: 2.1 MiB

After

Width:  |  Height:  |  Size: 2.1 MiB

View File

Before

Width:  |  Height:  |  Size: 3.4 MiB

After

Width:  |  Height:  |  Size: 3.4 MiB

View File

Before

Width:  |  Height:  |  Size: 2.7 MiB

After

Width:  |  Height:  |  Size: 2.7 MiB

View File

Before

Width:  |  Height:  |  Size: 1.8 MiB

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

Before

Width:  |  Height:  |  Size: 175 KiB

After

Width:  |  Height:  |  Size: 175 KiB

View File

Before

Width:  |  Height:  |  Size: 89 KiB

After

Width:  |  Height:  |  Size: 89 KiB

View File

Before

Width:  |  Height:  |  Size: 156 KiB

After

Width:  |  Height:  |  Size: 156 KiB

View File

Before

Width:  |  Height:  |  Size: 282 KiB

After

Width:  |  Height:  |  Size: 282 KiB

View File

Before

Width:  |  Height:  |  Size: 2.4 MiB

After

Width:  |  Height:  |  Size: 2.4 MiB

View File

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

Before

Width:  |  Height:  |  Size: 304 B

After

Width:  |  Height:  |  Size: 304 B

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

@@ -1,3 +1,82 @@
if UseAccurateNewHorizonsKernels then
NewHorizonsKernels = {
-- SCLK
"${SPICE}/nh_kernels/sclk/new-horizons_0976.tsc",
-- "${SPICE}/NewHorizonsKernels/new_horizons_413.tsc",
-- SPK
"${SPICE}/nh_kernels/spk/nh_pred_20141201_20190301_od122.bsp",
-- "${SPICE}/nh_kernels/spk/nh_pred_20120501_20160913_od093.bsp",
"${SPICE}/nh_kernels/spk/plu_all_mvi.spk",
"${SPICE}/jup260.bsp",
-- "${SPICE}/NewHorizonsKernels/de413.bsp",
-- CK
"${SPICE}/nh_kernels/ck/nh_scispi_2015_pred.bc",
"${SPICE}/nh_kernels/ck/nh_scispi_2015_recon.bc",
"${SPICE}/nh_kernels/ck/nh_lorri_wcs.bc",
"${SPICE}/nh_kernels/ck/plutonet_PS104.bc",
-- FK
"${SPICE}/nh_kernels/fk/nh_soc_misc_v001.tf",
"${SPICE}/nh_kernels/fk/nh_v220.tf",
-- IK
"${SPICE}/nh_kernels/ik/nh_alice_v120.ti",
"${SPICE}/nh_kernels/ik/nh_allinstruments_v002.ti",
"${SPICE}/nh_kernels/ik/nh_astr_v000.ti",
"${SPICE}/nh_kernels/ik/nh_fss_v000.ti",
"${SPICE}/nh_kernels/ik/nh_lorri_v100.ti",
"${SPICE}/nh_kernels/ik/nh_pepssi_v110.ti",
"${SPICE}/nh_kernels/ik/nh_ralph_v100.ti",
"${SPICE}/nh_kernels/ik/nh_rex_v100.ti",
"${SPICE}/nh_kernels/ik/nh_sdc_v101.ti",
"${SPICE}/nh_kernels/ik/nh_swap_v100.ti",
-- LSK
"${SPICE}/nh_kernels/lsk/naif0011.tls",
-- PCK
"${SPICE}/nh_kernels/pck/nh_targets_v001.tpc",
"${SPICE}/nh_kernels/pck/pck00010.tpc",
"${SPICE}/nh_kernels/pck/nh_pcnh_002.tpc"
};
else
NewHorizonsKernels = {
--SCLK
"${SPICE}/NewHorizonsKernels/new_horizons_413.tsc",
"${SPICE}/NewHorizonsKernels/nhops_CORE_v9g_cdh2.bc",
"${SPICE}/NewHorizonsKernels/nh_ref_20080710_20160101_od059B.bsp",
"${SPICE}/de430_1850-2150.bsp",
-- CK
"${SPICE}/NewHorizonsKernels/merged_nhpc_2006_v011.bc",
"${SPICE}/NewHorizonsKernels/merged_nhpc_2007_v006.bc",
-- FK
"${SPICE}/NewHorizonsKernels/nh_v200.tf",
-- IK
"${SPICE}/NewHorizonsKernels/nh_alice_v110.ti",
"${SPICE}/NewHorizonsKernels/nh_lorri_v100.ti",
"${SPICE}/NewHorizonsKernels/nh_pepssi_v110.ti",
"${SPICE}/NewHorizonsKernels/nh_ralph_v100.ti",
"${SPICE}/NewHorizonsKernels/nh_rex_v100.ti",
"${SPICE}/NewHorizonsKernels/nh_sdc_v101.ti",
"${SPICE}/NewHorizonsKernels/nh_swap_v100.ti",
-- PCK
-- SPK
"${SPICE}/jup260.bsp",
"${SPICE}/NewHorizonsKernels/de413.bsp",
"${SPICE}/NewHorizonsKernels/nh_nep_ura_000.bsp",
"${SPICE}/NewHorizonsKernels/nh_recon_e2j_v1.bsp",
"${SPICE}/NewHorizonsKernels/nh_recon_j2sep07_prelimv1.bsp",
"${SPICE}/NewHorizonsKernels/sb_2002jf56_2.bsp",
"${SPICE}/NewHorizonsKernels/nh_plu017.bsp",
}
end
return {
-- New Horizons Body module
{
@@ -10,7 +89,7 @@ return {
Body = "NEW HORIZONS",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "${OPENSPACE_DATA}/scene/newhorizons/models/NewHorizonsCleanModel.obj",
GeometryFile = "models/NewHorizonsCleanModel.obj",
Magnification = 4,
},
Textures = {
@@ -35,39 +114,7 @@ return {
-- Observer = "PLUTO BARYCENTER",
Observer = "SUN",
-- Observer = "JUPITER BARYCENTER",
Kernels = {
--SCLK
"${SPICE}/NewHorizonsKernels/new_horizons_413.tsc",
"${SPICE}/NewHorizonsKernels/nhops_CORE_v9g_cdh2.bc",
"${SPICE}/NewHorizonsKernels/nh_ref_20080710_20160101_od059B.bsp",
"${SPICE}/de430_1850-2150.bsp",
-- CK
"${SPICE}/NewHorizonsKernels/merged_nhpc_2006_v011.bc",
"${SPICE}/NewHorizonsKernels/merged_nhpc_2007_v006.bc",
-- FK
"${SPICE}/NewHorizonsKernels/nh_v200.tf",
-- IK
"${SPICE}/NewHorizonsKernels/nh_alice_v110.ti",
"${SPICE}/NewHorizonsKernels/nh_lorri_v100.ti",
"${SPICE}/NewHorizonsKernels/nh_pepssi_v110.ti",
"${SPICE}/NewHorizonsKernels/nh_ralph_v100.ti",
"${SPICE}/NewHorizonsKernels/nh_rex_v100.ti",
"${SPICE}/NewHorizonsKernels/nh_sdc_v101.ti",
"${SPICE}/NewHorizonsKernels/nh_swap_v100.ti",
-- PCK
-- SPK
"${SPICE}/jup260.bsp",
"${SPICE}/NewHorizonsKernels/de413.bsp",
"${SPICE}/NewHorizonsKernels/nh_nep_ura_000.bsp",
"${SPICE}/NewHorizonsKernels/nh_recon_e2j_v1.bsp",
"${SPICE}/NewHorizonsKernels/nh_recon_j2sep07_prelimv1.bsp",
"${SPICE}/NewHorizonsKernels/sb_2002jf56_2.bsp",
"${SPICE}/NewHorizonsKernels/nh_plu017.bsp",
}
Kernels = NewHorizonsKernels
},
GuiName = "/Solar/NewHorizons"
},
@@ -104,7 +151,7 @@ return {
Body = "NEW HORIZONS",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "${OPENSPACE_DATA}/scene/newhorizons/models/Labels.obj",
GeometryFile = "models/Labels.obj",
Magnification = 4,
},
Textures = {

View File

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 84 KiB

View File

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 82 KiB

View File

@@ -1,3 +1,14 @@
if UseAccurateNewHorizonsKernels then
NewHorizonsKernels = {
"${SPICE}/nh_kernels/spk/NavSE_plu047_od122.bsp"
}
else
NewHorizonsKernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
end
return {
-- CharonProjection module
{
@@ -47,9 +58,7 @@ return {
Body = "CHARON",
Reference = "ECLIPJ2000",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
Kernels = NewHorizonsKernels
},
Rotation = {
Type = "Spice",

View File

@@ -1,3 +1,13 @@
if UseAccurateNewHorizonsKernels then
NewHorizonsKernels = {
"${SPICE}/nh_kernels/spk/NavSE_plu047_od122.bsp"
}
else
NewHorizonsKernels = {
"${SPICE}/NewHorizonsKernels/nh_p4p5_revised.bsp"
}
end
return {
-- Hydra module
{
@@ -27,9 +37,7 @@ return {
Body = "Hydra",
Reference = "ECLIPJ2000",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${SPICE}/NewHorizonsKernels/nh_p4p5_revised.bsp"
}
Kernels = NewHorizonsKernels
},
Rotation = {
Type = "Spice",

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 587 B

After

Width:  |  Height:  |  Size: 587 B

View File

@@ -1,3 +1,13 @@
if UseAccurateNewHorizonsKernels then
NewHorizonsKernels = {
"${SPICE}/nh_kernels/spk/NavSE_plu047_od122.bsp"
}
else
NewHorizonsKernels = {
"${SPICE}/NewHorizonsKernels/nh_p4p5_revised.bsp"
}
end
return {
-- Styx module
{
@@ -27,9 +37,7 @@ return {
Body = "KERBEROS",
Reference = "ECLIPJ2000",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${SPICE}/NewHorizonsKernels/nh_p4p5_revised.bsp"
}
Kernels = NewHorizonsKernels
},
Rotation = {
Type = "Spice",

View File

Before

Width:  |  Height:  |  Size: 9.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

View File

Before

Width:  |  Height:  |  Size: 587 B

After

Width:  |  Height:  |  Size: 587 B

View File

@@ -1,3 +1,13 @@
if UseAccurateNewHorizonsKernels then
NewHorizonsKernels = {
"${SPICE}/nh_kernels/spk/NavSE_plu047_od122.bsp"
}
else
NewHorizonsKernels = {
"${SPICE}/NewHorizonsKernels/nh_p4p5_revised.bsp"
}
end
return {
-- Nix module
{
@@ -27,9 +37,7 @@ return {
Body = "NIX",
Reference = "ECLIPJ2000",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${SPICE}/NewHorizonsKernels/nh_p4p5_revised.bsp"
}
Kernels = NewHorizonsKernels
},
Rotation = {
Type = "Spice",

View File

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

View File

Before

Width:  |  Height:  |  Size: 587 B

After

Width:  |  Height:  |  Size: 587 B

View File

@@ -2,6 +2,7 @@ return {
FileRequest = {
{ Identifier = "newhorizons_plutoencounter_pluto_assets", Destination = "assets", Version = 1 },
{ Identifier = "newhorizons_plutoencounter_pluto_textures", Destination = "textures", Version = 2 },
{ Identifier = "pluto_textures", Destination = "textures", Version = 2 }
{ Identifier = "pluto_textures", Destination = "textures", Version = 2 },
{ Identifier = "newhorizons_plutoencounter_pluto_images", Destination = "images", Version = 1 }
},
}

View File

@@ -1,3 +1,14 @@
if UseAccurateNewHorizonsKernels then
NewHorizonsKernels = {
"${SPICE}/nh_kernels/spk/NavPE_de433_od122.bsp",
"${SPICE}/nh_kernels/spk/NavSE_plu047_od122.bsp"
}
else
NewHorizonsKernels = {
"${SPICE}/NewHorizonsKernels/nh_plu017.bsp"
}
end
return {
-- Pluto barycenter module
{
@@ -8,9 +19,7 @@ return {
Body = "PLUTO BARYCENTER",
Reference = "ECLIPJ2000",
Observer = "SUN",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
Kernels = NewHorizonsKernels
},
},
-- PlutoProjection module
@@ -28,7 +37,10 @@ return {
},
Textures = {
Type = "simple",
Color = "textures/pluto_large.jpg",
-- Color = "textures/pluto_highres_180.jpg",
Color = "textures/Shenk_180.jpg",
-- Color = "textures/pluto_large.jpg",
-- Color = "textures/white.png",
Project = "textures/3.jpg",
Sequencing = "true",
},
@@ -38,44 +50,14 @@ return {
MieColor = {1.0, 1.0, 1.0}
},
Projection = {
--Sequence = "${OPENSPACE_DATA}/scene/plutoprojection/assets/incomingImagery",
--SequenceType = "image-sequence",
Sequence = "${OPENSPACE_DATA}/scene/plutoprojection/assets/core_v9h_obs_getmets_v8_time_fix_nofrcd_mld.txt",
SequenceType = "playbook",
Observer = "NEW HORIZONS",
Target = "PLUTO",
Aberration = "NONE",
Sequence = "${OPENSPACE_DATA}/scene/newhorizons/pluto/plutoprojection/images",
EventFile = "${OPENSPACE_DATA}/scene/newhorizons/pluto/plutoprojection/assets/core_v9h_obs_getmets_v8_time_fix_nofrcd_mld.txt",
SequenceType = "hybrid",
Observer = "NEW HORIZONS",
Target = "PLUTO",
Aberration = "NONE",
},
DataInputTranslation = {
--[[Instrument = {
LORRI = {
DetectorType = "Camera",
Spice = {"NH_LORRI"},
},
RALPH_MVIC_PAN_FRAME = {
DetectorType = "Scanner",
StopCommand = "RALPH_ABORT",
Spice = {"NH_RALPH_MVIC_FT"},
},
},
Target ={
Read = {
"TARGET_NAME",
"INSTRUMENT_HOST_NAME",
"INSTRUMENT_ID",
"START_TIME",
"STOP_TIME",
"DETECTOR_TYPE",
--"SEQUENCE_ID",
},
Convert = {
PLUTO = {"PLUTO" },
NEWHORIZONS = {"NEW HORIZONS"},
CCD = {"CAMERA" },
FRAMECCD = {"SCANNER" },
},
},
--]]
Instrument = {
LORRI = {
DetectorType = "Camera",
@@ -134,6 +116,23 @@ return {
StopCommand = "REX_MODE_OFF",
Spice = { "NH_REX" },
}
},
Target ={
Read = {
"TARGET_NAME",
"INSTRUMENT_HOST_NAME",
"INSTRUMENT_ID",
"START_TIME",
"STOP_TIME",
"DETECTOR_TYPE",
--"SEQUENCE_ID",
},
Convert = {
PLUTO = {"PLUTO" },
NEWHORIZONS = {"NEW HORIZONS"},
CCD = {"CAMERA" },
FRAMECCD = {"SCANNER" },
},
},
},
Instrument = {
@@ -159,9 +158,7 @@ return {
Body = "PLUTO",
Reference = "GALACTIC",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${SPICE}/NewHorizonsKernels/nh_plu017.bsp"
}
Kernels = NewHorizonsKernels
},
Rotation = {
Type = "Spice",
@@ -171,7 +168,7 @@ return {
GuiName = "/Solar/Planets/Pluto"
},
{
Name = "Barycenter",
Name = "PlutoBarycenterLabel",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderablePlane",
@@ -185,14 +182,8 @@ return {
}
},
Ephemeris = {
Type = "Spice",
Body = "PLUTO BARYCENTER",
Reference = "ECLIPJ2000",
Observer = "SUN",
Kernels = {
--"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
"${OPENSPACE_DATA}/spice/nh_plu017.bsp"
}
Type = "Static",
Position = {0, 0, 0, 1}
},
},
{
@@ -264,25 +255,6 @@ return {
},
},
GuiName = "/Solar/CharonTrail"
},
{
Name = "PlutoBarycenterLabel",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderablePlane",
Billboard = true,
Size = { 5, 4 },
Texture = "textures/barycenter.png",
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
}
},
Ephemeris = {
Type = "Static",
Position = {0, 0, 0, 1}
},
},
-- PlutoTrail module
{

View File

@@ -1,3 +1,13 @@
if UseAccurateNewHorizonsKernels then
NewHorizonsKernels = {
"${SPICE}/nh_kernels/spk/NavSE_plu047_od122.bsp"
}
else
NewHorizonsKernels = {
"${SPICE}/NewHorizonsKernels/nh_p4p5_revised.bsp"
}
end
return {
-- Styx module
{
@@ -27,9 +37,7 @@ return {
Body = "STYX",
Reference = "ECLIPJ2000",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${SPICE}/NewHorizonsKernels/nh_p4p5_revised.bsp"
}
Kernels = NewHorizonsKernels
},
Rotation = {
Type = "Spice",

View File

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

Before

Width:  |  Height:  |  Size: 587 B

After

Width:  |  Height:  |  Size: 587 B

View File

@@ -1,7 +0,0 @@
return {
FileRequest = {
{ Identifier = "newhorizons_plutoencounter_pluto_assets", Destination = "assets", Version = 1 },
{ Identifier = "newhorizons_plutoencounter_pluto_textures", Destination = "textures", Version = 2 },
{ Identifier = "pluto_textures", Destination = "textures", Version = 2 }
},
}

View File

@@ -1,273 +0,0 @@
return {
-- Pluto barycenter module
{
Name = "PlutoBarycenter",
Parent = "SolarSystemBarycenter",
Ephemeris = {
Type = "Spice",
Body = "PLUTO BARYCENTER",
Reference = "ECLIPJ2000",
Observer = "SUN",
Kernels = {
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp"
}
},
},
-- PlutoProjection module
{
Name = "PlutoProjection",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderablePlanetProjection",
Frame = "IAU_PLUTO",
Body = "PLUTO",
Geometry = {
Type = "SimpleSphereProjection",
Radius = { 1.173 , 6 },
Segments = 100
},
Textures = {
Type = "simple",
-- Color = "textures/pluto_highres_180.jpg",
Color = "textures/Shenk_180.jpg",
-- Color = "textures/pluto_large.jpg",
-- Color = "textures/white.png",
Project = "textures/3.jpg",
Sequencing = "true",
},
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
},
Projection = {
Sequence = "${OPENSPACE_DATA}/scene/plutoprojectionhybrid/images",
EventFile = "${OPENSPACE_DATA}/scene/plutoprojectionhybrid/assets/core_v9h_obs_getmets_v8_time_fix_nofrcd_mld.txt",
SequenceType = "hybrid",
Observer = "NEW HORIZONS",
Target = "PLUTO",
Aberration = "NONE",
},
DataInputTranslation = {
Instrument = {
LORRI = {
DetectorType = "Camera",
Spice = {"NH_LORRI"},
},
RALPH_MVIC_PAN_FRAME = {
DetectorType = "Scanner",
StopCommand = "RALPH_ABORT",
Spice = {"NH_RALPH_MVIC_FT"},
},
RALPH_MVIC_COLOR = {
DetectorType = "Scanner",
StopCommand = "END_NOM",
Spice = { "NH_RALPH_MVIC_NIR",
"NH_RALPH_MVIC_METHANE",
"NH_RALPH_MVIC_RED",
"NH_RALPH_MVIC_BLUE" },
},
RALPH_LEISA = {
DetectorType = "Scanner",
StopCommand = "END_NOM",
Spice = {"NH_RALPH_LEISA"},
},
RALPH_MVIC_PAN1 = {
DetectorType = "Scanner",
StopCommand = "END_NOM",
Spice = {"NH_RALPH_MVIC_PAN1"},
},
RALPH_MVIC_PAN2 = {
DetectorType = "Scanner",
StopCommand = "END_NOM",
Spice = {"NH_RALPH_MVIC_PAN2"},
},
ALICE_Use_AIRGLOW = {
DetectorType = "Scanner",
StopCommand = "ALICE_END_PIXELLIST",
Spice = {"NH_ALICE_AIRGLOW"},
},
ALICE_Use_AIRGLOW = {
DetectorType = "Scanner",
StopCommand = "ALICE_END_HISTOGRAM",
Spice = {"NH_ALICE_AIRGLOW"},
},
ALICE_Use_SOCC = {
DetectorType = "Scanner",
StopCommand = "ALICE_END_PIXELLIST",
Spice = {"NH_ALICE_SOC"},
},
ALICE_Use_SOCC = {
DetectorType = "Scanner",
StopCommand = "ALICE_END_HISTOGRAM",
Spice = {"NH_ALICE_SOC"},
},
REX_START = {
DetectorType = "Scanner",
StopCommand = "REX_MODE_OFF",
Spice = { "NH_REX" },
}
},
Target ={
Read = {
"TARGET_NAME",
"INSTRUMENT_HOST_NAME",
"INSTRUMENT_ID",
"START_TIME",
"STOP_TIME",
"DETECTOR_TYPE",
--"SEQUENCE_ID",
},
Convert = {
PLUTO = {"PLUTO" },
NEWHORIZONS = {"NEW HORIZONS"},
CCD = {"CAMERA" },
FRAMECCD = {"SCANNER" },
},
},
},
Instrument = {
Name = "NH_LORRI",
Method = "ELLIPSOID",
Aberration = "NONE",
Fovy = 0.2907,
Aspect = 1,
Near = 0.2,
Far = 10000,
},
PotentialTargets = {
"PLUTO",
"CHARON",
"NIX",
"HYDRA",
"P5",
"P4",
}
},
Ephemeris = {
Type = "Spice",
Body = "PLUTO",
Reference = "GALACTIC",
Observer = "PLUTO BARYCENTER",
Kernels = {
"${SPICE}/NewHorizonsKernels/nh_plu017.bsp"
}
},
Rotation = {
Type = "Spice",
Frame = "IAU_PLUTO",
Reference = "GALACTIC"
},
GuiName = "/Solar/Planets/Pluto"
},
{
Name = "PlutoBarycenterLabel",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderablePlane",
Billboard = true,
Size = { 5, 4 },
Texture = "textures/barycenter.png",
Atmosphere = {
Type = "Nishita", -- for example, values missing etc etc
MieFactor = 1.0,
MieColor = {1.0, 1.0, 1.0}
}
},
Ephemeris = {
Type = "Static",
Position = {0, 0, 0, 1}
},
},
{
Name = "PlutoText",
Parent = "PlutoProjection",
Renderable = {
Type = "RenderablePlane",
Size = {1.0, 6.3},
Origin = "Center",
Billboard = true,
Texture = "textures/Pluto-Text.png"
},
Ephemeris = {
Type = "Static",
Position = {0, -20, 0, 5}
}
},
{
Name = "PlutoTexture",
Parent = "PlutoProjection",
Renderable = {
Type = "RenderablePlane",
Size = {1.0, 6.4},
Origin = "Center",
Billboard = true,
ProjectionListener = true,
Texture = "textures/Pluto-Text.png"
},
Ephemeris = {
Type = "Static",
Position = {0, 0, 40, 5}
}
},
{
Name = "PlutoShadow",
Parent = "PlutoProjection",
Renderable = {
Type = "RenderableShadowCylinder",
TerminatorType = "PENUMBRAL",
LightSource = "SUN",
Observer = "NEW HORIZONS",
Body = "PLUTO",
BodyFrame = "IAU_PLUTO",
MainFrame = "GALACTIC",
Aberration = "NONE",
},
Ephemeris = {
Type = "Static",
Position = {0, 0, 0, 5}
}
},
-- PlutoBarycentricTrail module
{
Name = "PlutoBarycentricTrail",
Parent = "PlutoBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "PLUTO",
Frame = "GALACTIC",
Observer = "PLUTO BARYCENTER",
RGB = {0.00,0.62,1.00},
TropicalOrbitPeriod = 120 ,
EarthOrbitRatio = 0.03,
DayLength = 1,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/CharonTrail"
},
-- PlutoTrail module
{
Name = "PlutoTrail",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableTrail",
Body = "PLUTO BARYCENTER",
Frame = "GALACTIC",
Observer = "SUN",
RGB = { 0.3, 0.7, 0.3 },
TropicalOrbitPeriod = 90588 ,
EarthOrbitRatio = 248.02,
DayLength = 9.9259,
Textures = {
Type = "simple",
Color = "${COMMON_MODULE}/textures/glare_blue.png",
-- need to add different texture
},
},
GuiName = "/Solar/PlutoTrail"
}
}

View File

@@ -116,7 +116,7 @@ public:
* configuration file
* \pre \p filename must not be empty
*/
void loadFromFile(const std::string& filename);
void loadFromFile(const std::string& filename);
private:
/**
@@ -126,7 +126,7 @@ private:
* \return <code>true</code> if the configuration file was complete;
* <code>false</code> otherwise
*/
bool checkCompleteness() const;
bool checkCompleteness() const;
};
} // namespace openspace

View File

@@ -22,55 +22,6 @@
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
//<<<<<<< HEAD
//#ifndef INTERACTIONHANDLER_H
//#define INTERACTIONHANDLER_H
//
//#include <openspace/scripting/scriptengine.h>
//#include <openspace/util/powerscaledcoordinate.h>
//#include <openspace/util/powerscaledscalar.h>
//
//// std includes
//#include <vector>
//#include <mutex>
//#include <map>
//#include <functional>
//
//namespace openspace {
//
//// Forward declare to minimize dependencies
//class Camera;
//class SceneGraphNode;
//class ExternalControl;
//
//class InteractionHandler {
//public:
// InteractionHandler(void);
// InteractionHandler(const InteractionHandler& src);
// InteractionHandler& operator=(const InteractionHandler& rhs);
// virtual ~InteractionHandler();
//
// void enable();
// void disable();
// const bool isEnabled() const;
//
// void connectDevices();
// void addExternalControl(ExternalControl* controller);
//
// void setCamera(Camera *camera = nullptr);
// void setOrigin(SceneGraphNode* node);
//
// Camera* getCamera() const;
// const psc getOrigin() const;
// void lockControls();
// void unlockControls();
//
// void setFocusNode(SceneGraphNode *node);
//
// void orbit(const glm::quat &rotation);
// void rotate(const glm::quat &rotation);
// void distance(const PowerScaledScalar &distance, size_t iterations = 0);
//=======
#ifndef __INTERACTIONHANDLER_H__
#define __INTERACTIONHANDLER_H__
@@ -94,45 +45,45 @@ class InteractionHandler : public properties::PropertyOwner {
public:
InteractionHandler();
~InteractionHandler();
~InteractionHandler();
void setKeyboardController(KeyboardController* controller);
void setMouseController(MouseController* controller);
void addController(Controller* controller);
void setKeyboardController(KeyboardController* controller);
void setMouseController(MouseController* controller);
void addController(Controller* controller);
void lockControls();
void unlockControls();
void lockControls();
void unlockControls();
void update(double deltaTime);
void update(double deltaTime);
void setFocusNode(SceneGraphNode* node);
const SceneGraphNode* const focusNode() const;
void setCamera(Camera* camera);
const Camera* const camera() const;
void setFocusNode(SceneGraphNode* node);
const SceneGraphNode* const focusNode() const;
void setCamera(Camera* camera);
const Camera* const camera() const;
void keyboardCallback(Key key, KeyModifier modifier, KeyAction action);
void mouseButtonCallback(MouseButton button, MouseAction action);
void mousePositionCallback(double x, double y);
void mouseScrollWheelCallback(double pos);
void mouseButtonCallback(MouseButton button, MouseAction action);
void mousePositionCallback(double x, double y);
void mouseScrollWheelCallback(double pos);
double deltaTime() const;
double deltaTime() const;
void orbitDelta(const glm::quat& rotation);
void orbitDelta(const glm::quat& rotation);
void orbit(const float &dx, const float &dy, const float &dz, const float &dist);
void orbit(const float &dx, const float &dy, const float &dz, const float &dist);
//void distance(const float &d);
//void distance(const float &d);
void rotateDelta(const glm::quat& rotation);
void rotateDelta(const glm::quat& rotation);
void distanceDelta(const PowerScaledScalar& distance, size_t iterations = 0);
void distanceDelta(const PowerScaledScalar& distance, size_t iterations = 0);
void lookAt(const glm::quat& rotation);
void lookAt(const glm::quat& rotation);
void setRotation(const glm::quat& rotation);
void setRotation(const glm::quat& rotation);
void resetKeyBindings();
void bindKey(Key key, std::string lua);
void resetKeyBindings();
void bindKey(Key key, KeyModifier modifier, std::string lua);
void setInteractionSensitivity(float sensitivity);
float interactionSensitivity() const;
@@ -143,51 +94,51 @@ public:
void setInvertRotation(bool invert);
bool invertRotation() const;
void addKeyframe(const network::datamessagestructures::PositionKeyframe &kf);
void addKeyframe(const network::datamessagestructures::PositionKeyframe &kf);
void clearKeyframes();
/**
* Returns the Lua library that contains all Lua functions available to affect the
* interaction. The functions contained are
* - openspace::luascriptfunctions::setOrigin
* \return The Lua library that contains all Lua functions available to affect the
* interaction
*/
static scripting::ScriptEngine::LuaLibrary luaLibrary();
private:
/**
* Returns the Lua library that contains all Lua functions available to affect the
* interaction. The functions contained are
* - openspace::luascriptfunctions::setOrigin
* \return The Lua library that contains all Lua functions available to affect the
* interaction
*/
static scripting::ScriptEngine::LuaLibrary luaLibrary();
friend class Controller;
private:
friend class Controller;
InteractionHandler(const InteractionHandler&) = delete;
InteractionHandler& operator=(const InteractionHandler&) = delete;
InteractionHandler(InteractionHandler&&) = delete;
InteractionHandler& operator=(InteractionHandler&&) = delete;
InteractionHandler(InteractionHandler&&) = delete;
InteractionHandler& operator=(InteractionHandler&&) = delete;
Camera* _camera;
SceneGraphNode* _focusNode;
Camera* _camera;
SceneGraphNode* _focusNode;
double _deltaTime;
std::mutex _mutex;
double _deltaTime;
std::mutex _mutex;
bool _validKeyLua;
std::multimap<Key, std::string > _keyLua;
bool _validKeyLua;
std::multimap<KeyWithModifier, std::string > _keyLua;
float _controllerSensitivity;
bool _invertRoll;
bool _invertRotation;
KeyboardController* _keyboardController;
MouseController* _mouseController;
std::vector<Controller*> _controllers;
KeyboardController* _keyboardController;
MouseController* _mouseController;
std::vector<Controller*> _controllers;
properties::StringProperty _origin;
properties::StringProperty _coordinateSystem;
//remote controller
std::vector<network::datamessagestructures::PositionKeyframe> _keyframes;
double _currentKeyframeTime;
std::mutex _keyframeMutex;
//remote controller
std::vector<network::datamessagestructures::PositionKeyframe> _keyframes;
double _currentKeyframeTime;
std::mutex _keyframeMutex;
};
} // namespace interaction

View File

@@ -0,0 +1,42 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2016 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#ifndef __OPENSPACE_H__
#define __OPENSPACE_H__
#include <string>
namespace openspace {
std::string licenseText();
const int OPENSPACE_VERSION_MAJOR = 0;
const int OPENSPACE_VERSION_MINOR = 3;
const int OPENSPACE_VERSION_PATCH = 0;
const std::string OPENSPACE_VERSION_STRING = "prerelease-8";
} // namespace openspace
#endif // __OPENSPACE_H__

View File

@@ -62,16 +62,16 @@ public:
Invalid
};
static const std::string PerformanceMeasurementSharedData;
static const std::string PerformanceMeasurementSharedData;
static const std::string KeyFontMono;
static const std::string KeyFontLight;
RenderEngine();
~RenderEngine();
bool initialize();
bool deinitialize();
RenderEngine();
~RenderEngine();
bool initialize();
bool deinitialize();
void setSceneGraph(Scene* sceneGraph);
Scene* scene();
@@ -81,24 +81,24 @@ public:
RendererImplementation rendererImplementation() const;
RaycasterManager& raycasterManager();
// sgct wrapped functions
// sgct wrapped functions
bool initializeGL();
void postSynchronizationPreDraw();
void preSynchronization();
void render(const glm::mat4 &projectionMatrix, const glm::mat4 &viewMatrix);
void preSynchronization();
void render(const glm::mat4 &projectionMatrix, const glm::mat4 &viewMatrix);
void postDraw();
void takeScreenshot();
void toggleInfoText(bool b);
void takeScreenshot();
void toggleInfoText(bool b);
void setPerformanceMeasurements(bool performanceMeasurements);
bool doesPerformanceMeasurements() const;
void setPerformanceMeasurements(bool performanceMeasurements);
bool doesPerformanceMeasurements() const;
void serialize(SyncBuffer* syncBuffer);
void deserialize(SyncBuffer* syncBuffer);
void serialize(SyncBuffer* syncBuffer);
void deserialize(SyncBuffer* syncBuffer);
float globalBlackOutFactor();
void setGlobalBlackOutFactor(float factor);
float globalBlackOutFactor();
void setGlobalBlackOutFactor(float factor);
void setDisableRenderingOnMaster(bool enabled);
@@ -129,18 +129,18 @@ public:
* as a 'rendererData' variable in the dictionary.
*/
void setRendererData(const ghoul::Dictionary& renderer);
/**
* Returns the Lua library that contains all Lua functions available to affect the
* rendering.
*/
static scripting::ScriptEngine::LuaLibrary luaLibrary();
/**
* Returns the Lua library that contains all Lua functions available to affect the
* rendering.
*/
static scripting::ScriptEngine::LuaLibrary luaLibrary();
// This is a temporary method to change the origin of the coordinate system ---abock
void changeViewPoint(std::string origin);
// Temporary fade functionality
void startFading(int direction, float fadeDuration);
// Temporary fade functionality
void startFading(int direction, float fadeDuration);
void sortScreenspaceRenderables();
// This is temporary until a proper screenspace solution is found ---abock
@@ -153,30 +153,30 @@ public:
private:
void setRenderer(std::unique_ptr<Renderer> renderer);
RendererImplementation rendererFromString(const std::string& method);
void storePerformanceMeasurements();
void storePerformanceMeasurements();
void renderInformation();
void renderScreenLog();
Camera* _mainCamera;
Scene* _sceneGraph;
Camera* _mainCamera;
Scene* _sceneGraph;
RaycasterManager* _raycasterManager;
std::unique_ptr<Renderer> _renderer;
RendererImplementation _rendererImplementation;
ghoul::Dictionary _rendererData;
ScreenLog* _log;
ScreenLog* _log;
bool _showInfo;
bool _showLog;
bool _takeScreenshot;
bool _showInfo;
bool _showLog;
bool _takeScreenshot;
bool _doPerformanceMeasurements;
ghoul::SharedMemory* _performanceMemory;
bool _doPerformanceMeasurements;
ghoul::SharedMemory* _performanceMemory;
float _globalBlackOutFactor;
float _fadeDuration;
float _currentFadeTime;
int _fadeDirection;
float _globalBlackOutFactor;
float _fadeDuration;
float _currentFadeTime;
int _fadeDirection;
std::vector<ghoul::opengl::ProgramObject*> _programs;
std::vector<std::shared_ptr<ScreenSpaceRenderable>> _screenSpaceRenderables;

View File

@@ -0,0 +1,70 @@
/*****************************************************************************************
* *
* OpenSpace *
* *
* Copyright (c) 2014-2015 *
* *
* Permission is hereby granted, free of charge, to any person obtaining a copy of this *
* software and associated documentation files (the "Software"), to deal in the Software *
* without restriction, including without limitation the rights to use, copy, modify, *
* merge, publish, distribute, sublicense, and/or sell copies of the Software, and to *
* permit persons to whom the Software is furnished to do so, subject to the following *
* conditions: *
* *
* The above copyright notice and this permission notice shall be included in all copies *
* or substantial portions of the Software. *
* *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, *
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A *
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT *
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF *
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE *
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. *
****************************************************************************************/
#ifndef __TRANSFERFUNCTION_H__
#define __TRANSFERFUNCTION_H__
#include <string>
#include <glm/glm.hpp>
#include <functional>
#include <ghoul/opengl/texture.h>
#include <ghoul/filesystem/file.h>
#include <memory>
namespace openspace {
class TransferFunction {
public:
typedef std::function<void (const TransferFunction&)> TfChangedCallback;
TransferFunction(const std::string& filepath, TfChangedCallback tfChangedCallback = TfChangedCallback());
void setPath(const std::string& filepath);
ghoul::opengl::Texture& getTexture();
void update();
glm::vec4 sample(size_t t);
size_t width();
void setCallback(TfChangedCallback callback);
private:
void setTextureFromTxt();
void setTextureFromImage();
void uploadTexture();
std::string _filepath;
std::unique_ptr<ghoul::filesystem::File> _file = nullptr;
std::unique_ptr<ghoul::opengl::Texture> _texture = nullptr;
bool _needsUpdate = false;
TfChangedCallback _tfChangedCallback;
};
struct MappingKey {
float position{0.0f};
glm::vec4 color{0.0f,0.0f,0.0f,0.0f};
MappingKey(float p, const glm::vec4& c): position(p), color(c) {};
MappingKey(float p): position(p), color(glm::vec4(0.0f)) {};
bool operator<(const MappingKey& rhs) {return position < rhs.position;};
};
} // namespace openspace
#endif

View File

@@ -62,144 +62,166 @@
namespace openspace {
enum class KeyAction {
enum class KeyAction : int {
Release = 0,
Press = 1,
Repeat = 2
Press = 1,
Repeat = 2
};
enum class KeyModifier {
NoModifier = 0,
Shift = 0x0001,
Control = 0x0002,
Alt = 0x0004,
Super = 0x0008
KeyAction operator|(KeyAction lhs, KeyAction rhs);
KeyAction operator|=(KeyAction& lhs, KeyAction rhs);
enum class KeyModifier : int {
NoModifier = 0,
Shift = 0x0001,
Control = 0x0002,
Alt = 0x0004,
Super = 0x0008
};
KeyModifier operator|(KeyModifier lhs, KeyModifier rhs);
KeyModifier operator|=(KeyModifier& lhs, KeyModifier rhs);
enum class Key {
Unknown = -1,
Space = 32,
Apostrophe = 39,
Comma = 44,
Minus = 45,
Period = 46,
Slash = 47,
Num0 = 48,
Num1 = 49,
Num2 = 50,
Num3 = 51,
Num4 = 52,
Num5 = 53,
Num6 = 54,
Num7 = 55,
Num8 = 56,
Num9 = 57,
SemiColon = 59,
Equal = 61,
A = 65,
B = 66,
C = 67,
D = 68,
E = 69,
F = 70,
G = 71,
H = 72,
I = 73,
J = 74,
K = 75,
L = 76,
M = 77,
N = 78,
O = 79,
P = 80,
Q = 81,
R = 82,
S = 83,
T = 84,
U = 85,
V = 86,
W = 87,
X = 88,
Y = 89,
Z = 90,
LeftBracket = 91,
BackSlash = 92,
RightBracket = 93,
GraveAccent = 96,
World1 = 161,
World2 = 162,
Escape = 256,
Enter = 257,
Tab = 258,
BackSpace = 259,
Insert = 260,
Delete = 261,
Right = 262,
Left = 263,
Down = 264,
Up = 265,
PageUp = 266,
PageDown = 267,
Home = 268,
End = 269,
CapsLock = 280,
ScrollLock = 281,
NumLock = 282,
PrintScreen = 283,
Pause = 284,
F1 = 290,
F2 = 291,
F3 = 292,
F4 = 293,
F5 = 294,
F6 = 295,
F7 = 296,
F8 = 297,
F9 = 298,
F10 = 299,
F11 = 300,
F12 = 301,
F13 = 302,
F14 = 303,
F15 = 304,
F16 = 305,
F17 = 306,
F18 = 307,
F19 = 308,
F20 = 309,
F21 = 310,
F22 = 311,
F23 = 312,
F24 = 313,
F25 = 314,
Keypad0 = 320,
Keypad1 = 321,
Keypad2 = 322,
Keypad3 = 323,
Keypad4 = 324,
Keypad5 = 325,
Keypad6 = 326,
Keypad7 = 327,
Keypad8 = 328,
Keypad9 = 329,
KeypadDecimal = 330,
KeypadDivide = 331,
KeypadMultiply = 332,
KeypadSubtract = 333,
KeypadAdd = 334,
KeypadEnter = 335,
LeftShift = 340,
LeftControl = 341,
LeftAlt = 342,
LeftSuper = 343,
RightShift = 344,
RightControl = 345,
RightAlt = 346,
RightSuper = 347,
Menu = 348,
Last = Menu
Unknown = -1,
Space = 32,
Apostrophe = 39,
Comma = 44,
Minus = 45,
Period = 46,
Slash = 47,
Num0 = 48,
Num1 = 49,
Num2 = 50,
Num3 = 51,
Num4 = 52,
Num5 = 53,
Num6 = 54,
Num7 = 55,
Num8 = 56,
Num9 = 57,
SemiColon = 59,
Equal = 61,
A = 65,
B = 66,
C = 67,
D = 68,
E = 69,
F = 70,
G = 71,
H = 72,
I = 73,
J = 74,
K = 75,
L = 76,
M = 77,
N = 78,
O = 79,
P = 80,
Q = 81,
R = 82,
S = 83,
T = 84,
U = 85,
V = 86,
W = 87,
X = 88,
Y = 89,
Z = 90,
LeftBracket = 91,
BackSlash = 92,
RightBracket = 93,
GraveAccent = 96,
World1 = 161,
World2 = 162,
Escape = 256,
Enter = 257,
Tab = 258,
BackSpace = 259,
Insert = 260,
Delete = 261,
Right = 262,
Left = 263,
Down = 264,
Up = 265,
PageUp = 266,
PageDown = 267,
Home = 268,
End = 269,
CapsLock = 280,
ScrollLock = 281,
NumLock = 282,
PrintScreen = 283,
Pause = 284,
F1 = 290,
F2 = 291,
F3 = 292,
F4 = 293,
F5 = 294,
F6 = 295,
F7 = 296,
F8 = 297,
F9 = 298,
F10 = 299,
F11 = 300,
F12 = 301,
F13 = 302,
F14 = 303,
F15 = 304,
F16 = 305,
F17 = 306,
F18 = 307,
F19 = 308,
F20 = 309,
F21 = 310,
F22 = 311,
F23 = 312,
F24 = 313,
F25 = 314,
Keypad0 = 320,
Keypad1 = 321,
Keypad2 = 322,
Keypad3 = 323,
Keypad4 = 324,
Keypad5 = 325,
Keypad6 = 326,
Keypad7 = 327,
Keypad8 = 328,
Keypad9 = 329,
KeypadDecimal = 330,
KeypadDivide = 331,
KeypadMultiply = 332,
KeypadSubtract = 333,
KeypadAdd = 334,
KeypadEnter = 335,
LeftShift = 340,
LeftControl = 341,
LeftAlt = 342,
LeftSuper = 343,
RightShift = 344,
RightControl = 345,
RightAlt = 346,
RightSuper = 347,
Menu = 348,
Last = Menu
};
struct KeyWithModifier {
Key key;
KeyModifier modifier;
};
KeyWithModifier stringToKey(std::string str);
bool operator<(const KeyWithModifier& lhs, const KeyWithModifier& rhs);
static const std::map<std::string, KeyModifier> KeyModifierMapping = {
{ "SHIFT", KeyModifier::Shift },
{ "ALT", KeyModifier::Alt },
{ "CTRL", KeyModifier::Control },
{ "SUPER", KeyModifier::Super }
};
static const std::map<std::string, Key> KeyMapping = {
{ "SPACE", Key::Space },
{ "APOSTROPHE", Key::Apostrophe },

View File

@@ -142,7 +142,7 @@ public:
* <code>UMBRAL</code> and <code>PENUMBRAL</code>. All other values will result in an
* exception.
* \param type The terminator type
* \param The terminator type enum
* \return The terminator type enum
* \throws std::out_of_range if \p type is not a valid string
* \pre \p type must not be empty
*/
@@ -519,10 +519,8 @@ public:
* compute the intercept
* \param ephemerisTime Intercept time in ephemeris seconds past J2000 TDB
* \param directionVector Probing ray's direction
* \param surfaceIntercept Surface intercept point on the target body
* \param surfaceVector Vector from observer to intercept point
* \param isVisible Flag indicating whether intercept was found
* \return <code>true</code> if not error occurred, <code>false</code> otherwise
* \return A SurfaceInterceptResult structure that contains all information about the
* intercept, including whether an intercept was found
* \throws SpiceException If the \p target or \p observer do not name the same
* NAIF object, the \p target or \p observer name the same NAIF object or are in the
* same location, the \p referenceFrame or \p fovFrame are not recognized,
@@ -618,11 +616,12 @@ public:
* \param referenceFrame The reference frame of the output position vector
* \param aberrationCorrection The aberration correction method
* \param ephemerisTime The time at which the position is to be queried
* \return A TargetStateResult object that contains the <code>position>, containing
* the position of the target; the <code>velocity</code>, containing the velocity of
* the target; and the <code>lightTime</code>, containing the one-way light time
* between the \p target and the \p observer. This method is only set if the
* \p aberrationCorrection is set to a valid different from AberrationCorrection::None
* \return A TargetStateResult object that contains the <code>position</code>,
* containing the position of the target; the <code>velocity</code>, containing the
* velocity of the target; and the <code>lightTime</code>, containing the one-way
* light time between the \p target and the \p observer. This method is only set if
* the \p aberrationCorrection is set to a valid different from
* AberrationCorrection::None
* \throws SpiceException If the \p target or \p observer do not name a valid
* NAIF object, the \p referenceFrame is not a valid frame, or if there is
* insufficient kernel information.
@@ -770,8 +769,9 @@ public:
* surface that is completely illuminated. Note that in astronomy references, the
* unqualified word "terminator" refers to the umbral terminator.
* \param aberrationCorrection The aberration correction method that is used
* \param numberOfPoints The number of points along terminator that should be computed
* by this method
* \param ephemerisTime The time at which the terminator ellipse shall be computed
* \param numberOfTerminatorPoints The number of points along terminator that should
* be computed by this method
* \return A TerminatorEllipseResult structure that contains all outputs of this
* function
* \throws SpiceException If the \p target, \p observer, or \p lightSource are
@@ -807,7 +807,7 @@ public:
* \return the frame of the body
* \todo I think this function should die ---abock
*/
std::string frameFromBody(const std::string body) const;
std::string frameFromBody(const std::string& body) const;
private:
/// Struct storing the information about all loaded kernels

View File

@@ -35,7 +35,7 @@ namespace openspace {
class SyncBuffer {
public:
SyncBuffer(size_t n);
SyncBuffer(size_t n);
void encode(const std::string& s) {
const size_t size = sizeof(char) * s.size() + sizeof(int32_t);
@@ -48,14 +48,14 @@ public:
_encodeOffset += length;
}
template <typename T>
void encode(const T& v) {
const size_t size = sizeof(T);
assert(_encodeOffset + size < _n);
template <typename T>
void encode(const T& v) {
const size_t size = sizeof(T);
assert(_encodeOffset + size < _n);
memcpy(_dataStream.data() + _encodeOffset, &v, size);
_encodeOffset += size;
}
memcpy(_dataStream.data() + _encodeOffset, &v, size);
_encodeOffset += size;
}
std::string decode() {
int32_t length;
@@ -70,38 +70,38 @@ public:
return ret;
}
template <typename T>
T decode() {
const size_t size = sizeof(T);
assert(_decodeOffset + size < _n);
T value;
memcpy(&value, _dataStream.data() + _decodeOffset, size);
_decodeOffset += size;
return value;
}
template <typename T>
T decode() {
const size_t size = sizeof(T);
assert(_decodeOffset + size < _n);
T value;
memcpy(&value, _dataStream.data() + _decodeOffset, size);
_decodeOffset += size;
return value;
}
void decode(std::string& s) {
s = decode();
}
template <typename T>
void decode(T& value) {
const size_t size = sizeof(T);
assert(_decodeOffset + size < _n);
memcpy(&value, _dataStream.data() + _decodeOffset, size);
_decodeOffset += size;
}
template <typename T>
void decode(T& value) {
const size_t size = sizeof(T);
assert(_decodeOffset + size < _n);
memcpy(&value, _dataStream.data() + _decodeOffset, size);
_decodeOffset += size;
}
void write();
void read();
void read();
private:
size_t _n;
size_t _encodeOffset;
size_t _decodeOffset;
std::vector<char> _dataStream;
sgct::SharedVector<char> _synchronizationBuffer;
size_t _n;
size_t _encodeOffset;
size_t _decodeOffset;
std::vector<char> _dataStream;
sgct::SharedVector<char> _synchronizationBuffer;
};
} // namespace openspace

View File

@@ -142,8 +142,8 @@ public:
* Sets the pause function, i.e. setting the deltaTime to 0 (<code>pause</code> =
* <code>true</code>) and restoring it when the function is called with a parameter of
* <code>false</code>.
* \param If <code>true</code>, the simulation time stops; if <code>false</code>, the
* simulation time continues at the previous rate
* \param pause If <code>true</code>, the simulation time stops;
* if <code>false</code>, the simulation time continues at the previous rate
*/
void setPause(bool pause);

View File

@@ -63,7 +63,7 @@ SpiceEphemeris::SpiceEphemeris(const ghoul::Dictionary& dictionary)
LERROR("'" << KeyKernels << "' has to be an array-style table");
try {
SpiceManager::KernelHandle id = SpiceManager::ref().loadKernel(kernel);
SpiceManager::ref().loadKernel(kernel);
_kernelsLoadedSuccessfully = true;
}
catch (const SpiceManager::SpiceException& e) {
@@ -84,9 +84,9 @@ void SpiceEphemeris::update(const UpdateData& data) {
double lightTime = 0.0;
glm::dvec3 position = SpiceManager::ref().targetPosition(_targetName, _originName, "GALACTIC", {}, data.time, lightTime);
//double interval = openspace::ImageSequencer2::ref().getIntervalLength();
//double interval = openspace::ImageSequencer::ref().getIntervalLength();
//if (_ghosting == "TRUE" && interval > 60){
// double _time = openspace::ImageSequencer2::ref().getNextCaptureTime();
// double _time = openspace::ImageSequencer::ref().getNextCaptureTime();
// SpiceManager::ref().getTargetPosition(_targetName, _originName,
// "GALACTIC", "NONE", _time, position, lightTime);
//}

View File

@@ -234,10 +234,10 @@ void RenderableModel::update(const UpdateData& data) {
double _time = data.time;
//if (_isGhost){
// futureTime = openspace::ImageSequencer2::ref().getNextCaptureTime();
// double remaining = openspace::ImageSequencer2::ref().getNextCaptureTime() - data.time;
// double interval = openspace::ImageSequencer2::ref().getIntervalLength();
// double t = 1.f - remaining / openspace::ImageSequencer2::ref().getIntervalLength();
// futureTime = openspace::ImageSequencer::ref().getNextCaptureTime();
// double remaining = openspace::ImageSequencer::ref().getNextCaptureTime() - data.time;
// double interval = openspace::ImageSequencer::ref().getIntervalLength();
// double t = 1.f - remaining / openspace::ImageSequencer::ref().getIntervalLength();
// if (interval > 60) {
// if (t < 0.8)
// _fading = static_cast<float>(t);

Some files were not shown because too many files have changed in this diff Show More