Merge branch 'feature/osirisrex' of github.com:OpenSpace/OpenSpace into feature/osirisrex

This commit is contained in:
Erik Broberg
2016-08-29 16:16:21 -04:00
39 changed files with 461 additions and 141 deletions
+2
View File
@@ -159,3 +159,5 @@ saturn_rings.png
data/scene/debugglobe/textures/earth_clouds.jpg
data/scene/debugglobe/textures/earth_reflectance.png
data/scene/rosetta/rosetta/obj/Rosetta.obj
data/scene/rosetta/rosetta/rosetta/
data/scene/rosetta/rosetta/textures/
+3 -2
View File
@@ -44,8 +44,9 @@ set(HEADER_FILES
${application_path}/syncwidget.h
)
find_package(Qt5Widgets)
find_package(Qt5Network)
find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Network REQUIRED)
set(MOC_FILES "")
qt5_wrap_cpp(MOC_FILES ${HEADER_FILES})
+3 -2
View File
@@ -174,8 +174,9 @@ function postInitialization()
openspace.setPropertyValue("MilkyWay.renderable.transparency", 0.55)
openspace.setPropertyValue("MilkyWay.renderable.segments", 50)
-- Rotate Osiris Rex model to match the specification in the spice data
openspace.setPropertyValue("OsirisRex.renderable.modelrotation", {90.0, 0.0, 0.0})
-- Activate night textures and water masks
openspace.setPropertyValue("LodEarth.RenderableGlobe.WaterMasks", {0, 1});
openspace.setPropertyValue("LodEarth.RenderableGlobe.NightTextures", {0, 1});
openspace.printInfo("Done setting default values")
openspace.loadMission("${OPENSPACE_DATA}/scene/osirisrex/osirisrex/osirisrex.mission")
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -1,7 +1,7 @@
return {
FileRequest = {
{ Identifier = "rosetta_model", Destination = "obj", Version = 2 },
{ Identifier = "rosetta_textures", Destination = "textures", Version = 1 }
{ Identifier = "rosetta_model", Destination = "rosetta", Version = 3 },
{ Identifier = "rosetta_textures", Destination = "textures", Version = 2 }
},
TorrentFiles = {
{ File = "RosettaKernels.torrent", Destination = "${SPICE}" },
+279 -82
View File
@@ -1,93 +1,290 @@
RosettaKernels = {
--needed
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp",
-- SPK
--long term orbits loaded first
-- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORL_DL_006_01____H__00156.BSP',
-- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORL_DL_006_01____H__00156.BSP',
-- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORL_DL_006_01____H__00156.BSP',
--Jan 2014 - May 2015 (version match with 00162 ck files)
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORB_DV_097_01_______00162.BSP",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORB_DV_097_01_______00162.BSP",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORB_DV_097_01_______00162.BSP",
--IK
"${OPENSPACE_DATA}/spice/RosettaKernels_New/IK/ROS_NAVCAM_V01.TI",
"${OPENSPACE_DATA}/spice/RosettaKernels/IK/ROS_NAVCAM_V00-20130102.TI",
--SCLK
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC",
-- FK
-- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_CHURYUMOV_V01.TF",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF",
-- CK
-- '${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC',
-- "${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC",
--SCLK
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/SCLK/ROS_160425_STEP.TSC",
-- FK
"${OPENSPACE_DATA}/spice/RosettaKernels_New/FK/ROS_CHURYUMOV_V01.TF",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/FK/ROS_V26.TF",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF",
-- CK
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/RATT_DV_211_01_01____00288.BC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/CATT_DV_211_01_______00288.BC",
'${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC',
"${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC",
-- PCK
"${OPENSPACE_DATA}/spice/RosettaKernels_New/PCK/ROS_CGS_RSOC_V03.TPC",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/PCK/ROS_CGS_RSOC_V03.TPC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2014_V0047.BC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2015_V0042.BC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2016_V0019.BC",
}
return {
-- Rosetta Body module
{
Name = "Rosetta",
Parent = "SolarSystemBarycenter",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "obj/Rosetta.obj",
Magnification = 1,
},
Textures = {
Type = "simple",
Color = "textures/gray.png",
},
Rotation = {
Source = "ROS_SPACECRAFT",
Destination = "J2000"
},
},
Parent = "SolarSystemBarycenter",
Transform = {
Translation = {
Type = "SpiceEphemeris",
Body = "ROSETTA",
Reference = "GALACTIC",
Observer = "SUN",
Kernels = {
--needed
"${OPENSPACE_DATA}/spice/de430_1850-2150.bsp",
-- SPK
--long term orbits loaded first
-- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORL_DL_006_01____H__00156.BSP',
-- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORL_DL_006_01____H__00156.BSP',
-- '${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORL_DL_006_01____H__00156.BSP',
--Jan 2014 - May 2015 (version match with 00162 ck files)
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/CORB_DV_097_01_______00162.BSP",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/RORB_DV_097_01_______00162.BSP",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SPK/LORB_DV_097_01_______00162.BSP",
--IK
"${OPENSPACE_DATA}/spice/RosettaKernels_New/IK/ROS_NAVCAM_V01.TI",
"${OPENSPACE_DATA}/spice/RosettaKernels/IK/ROS_NAVCAM_V00-20130102.TI",
--SCLK
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC",
-- FK
-- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_CHURYUMOV_V01.TF",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF",
-- CK
-- '${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC',
-- "${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC",
--SCLK
-- "${OPENSPACE_DATA}/spice/RosettaKernels/SCLK/ROS_150227_STEP.TSC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/SCLK/ROS_160425_STEP.TSC",
-- FK
"${OPENSPACE_DATA}/spice/RosettaKernels_New/FK/ROS_CHURYUMOV_V01.TF",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/FK/ROS_V26.TF",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/FK/ROS_V24.TF",
-- CK
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/RATT_DV_211_01_01____00288.BC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/CATT_DV_211_01_______00288.BC",
'${OPENSPACE_DATA}/spice/RosettaKernels/CK/RATT_DV_097_01_01____00162.BC',
"${OPENSPACE_DATA}/spice/RosettaKernels/CK/CATT_DV_097_01_______00162.BC",
-- PCK
"${OPENSPACE_DATA}/spice/RosettaKernels_New/PCK/ROS_CGS_RSOC_V03.TPC",
-- "${OPENSPACE_DATA}/spice/RosettaKernels/PCK/ROS_CGS_RSOC_V03.TPC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2014_V0047.BC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2015_V0042.BC",
"${OPENSPACE_DATA}/spice/RosettaKernels_New/CK/ROS_SA_2016_V0019.BC",
}
Kernels = RosettaKernels
},
Rotation = {
Type = "SpiceRotation",
SourceFrame = "ROS_SPACECRAFT",
DestinationFrame = "GALACTIC",
}
}
},
{
Name = "Rosetta_black_foil",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/black_foil.obj"
},
},
GuiName = "/Solar/Rosetta"
Textures = {
Type = "simple",
Color = "textures/foil_silver_ramp.png"
}
}
},
{
Name = "Rosetta_black_parts",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/black_parts.obj"
},
Textures = {
Type = "simple",
Color = "textures/foil_silver_ramp.png"
}
}
},
{
Name = "Rosetta_dish",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/dish.obj"
},
Textures = {
Type = "simple",
Color = "textures/dish_AO.png"
}
}
},
{
Name = "Rosetta_parts",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/parts.obj"
},
Textures = {
Type = "simple",
Color = "textures/parts2_AO.png"
}
}
},
{
Name = "Rosetta_silver_foil",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/silver_foil.obj"
},
Textures = {
Type = "simple",
Color = "textures/foil_silver_ramp.png"
}
}
},
{
Name = "Rosetta_vents",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/vents.obj"
},
Textures = {
Type = "simple",
Color = "textures/tex_01.png"
}
}
},
{
Name = "Rosetta_wing_a",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/wingA.obj"
},
Textures = {
Type = "simple",
Color = "textures/tex_01.png"
}
}
},
{
Name = "Rosetta_wing_b",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/wingB.obj"
},
Textures = {
Type = "simple",
Color = "textures/tex_01.png"
}
}
},
{
Name = "Rosetta_yellow_foil",
Parent = "Rosetta",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/yellow_foil.obj"
},
Textures = {
Type = "simple",
Color = "textures/foil_gold_ramp.png"
}
}
},
{
Name = "Philae",
Parent = "Rosetta"
-- This should need a transform, but currently the model is intrinsically
-- translated
},
{
Name = "Philae_foil",
Parent = "Philae",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/lander_foil.obj"
},
Textures = {
Type = "simple",
Color = "textures/foil_silver_ramp.png"
}
}
},
{
Name = "Philae_lids",
Parent = "Philae",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/lander_lids.obj"
},
Textures = {
Type = "simple",
Color = "textures/parts2_AO.png"
}
}
},
{
Name = "Philae_parts",
Parent = "Philae",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/lander_parts.obj"
},
Textures = {
Type = "simple",
Color = "textures/foil_silver_ramp.png"
}
}
},
{
Name = "Philae_solarp",
Parent = "Philae",
Renderable = {
Type = "RenderableModel",
Body = "ROSETTA",
Geometry = {
Type = "MultiModelGeometry",
GeometryFile = "rosetta/lander_solarp.obj"
},
Textures = {
Type = "simple",
Color = "textures/tex_01.png"
}
}
},
--[[ -- Rosetta Trail Module
{
@@ -164,13 +361,13 @@ return {
{
Name = "NAVCAM",
Parent = "Rosetta",
Transform = {
Rotation = {
Type = "SpiceRotation",
SourceFrame = "NAVCAM",
DestinationFrame = "ROS_SPACECRAFT",
},
},
-- Transform = {
-- Rotation = {
-- Type = "SpiceRotation",
-- SourceFrame = "NAVCAM",
-- DestinationFrame = "ROS_SPACECRAFT",
-- },
-- },
GuiName = "/Solar/Rosetta_navcam"
},
{
@@ -36,7 +36,6 @@
#include <list>
#include <modules/globebrowsing/globes/renderableglobe.h>
#include <mutex>
@@ -31,15 +31,14 @@
#include <openspace/util/mouse.h>
#include <openspace/util/keys.h>
#include <modules/globebrowsing/globes/renderableglobe.h>
#include <list>
namespace openspace {
class Camera;
class SceneGraphNode;
class RenderableGlobe;
namespace interaction {
@@ -117,11 +116,11 @@ protected:
void set(T value, double dt) {
_targetValue = value;
_currentValue = _currentValue + (_targetValue - _currentValue) *
min(_scaleFactor * dt, 1.0); // less or equal to 1.0 keeps it stable
std::min(_scaleFactor * dt, 1.0); // less or equal to 1.0 keeps it stable
}
void decelerate(double dt) {
_currentValue = _currentValue + (- _currentValue) *
min(_scaleFactor * _friction * dt, 1.0); // less or equal to 1.0 keeps it stable
std::min(_scaleFactor * _friction * dt, 1.0); // less or equal to 1.0 keeps it stable
}
void setHard(T value) {
_targetValue = value;
+2 -1
View File
@@ -27,10 +27,11 @@
#include <ghoul/misc/dictionary.h>
#include <openspace/util/updatestructures.h>
#include <openspace/properties/propertyowner.h>
namespace openspace {
class Scale {
class Scale : public properties::PropertyOwner {
public:
static Scale* createFromDictionary(const ghoul::Dictionary& dictionary);
+1 -1
View File
@@ -64,7 +64,7 @@ ModelGeometry* ModelGeometry::createFromDictionary(const ghoul::Dictionary& dict
ModelGeometry::ModelGeometry(const ghoul::Dictionary& dictionary)
: _parent(nullptr)
, _magnification("magnification", "Magnification", 0.f, 0.f, 10.f)
, _magnification("magnification", "Magnification", 1.f, 0.f, 10.f)
, _mode(GL_TRIANGLES)
{
setName("ModelGeometry");
+7 -3
View File
@@ -25,24 +25,28 @@
#include <modules/base/scale/staticscale.h>
namespace {
const std::string _loggerCat = "StaticScale";
const std::string KeyValue = "Scale";
}
namespace openspace {
StaticScale::StaticScale(const ghoul::Dictionary& dictionary)
: _scaleValue(1.0)
: _scaleValue("scale", "Scale", 1.0, 1.0, 1000.0)
{
const bool hasValue = dictionary.hasKeyAndValue<glm::vec3>(KeyValue);
if (hasValue) {
dictionary.getValue(KeyValue, _scaleValue);
float value;
dictionary.getValue(KeyValue, value);
_scaleValue.setValue(value);
}
Scale::addProperty(_scaleValue);
}
StaticScale::~StaticScale() {}
double StaticScale::scaleValue() const {
return _scaleValue;
return _scaleValue.value();
}
void StaticScale::update(const UpdateData&) {}
+3 -3
View File
@@ -31,13 +31,13 @@ namespace openspace {
class StaticScale: public Scale {
public:
StaticScale(const ghoul::Dictionary& dictionary
= ghoul::Dictionary());
StaticScale(const ghoul::Dictionary& dictionary = ghoul::Dictionary());
virtual ~StaticScale();
virtual double scaleValue() const;
virtual void update(const UpdateData& data) override;
private:
double _scaleValue;
properties::FloatProperty _scaleValue;
//double _scaleValue;
};
} // namespace openspace
+5
View File
@@ -58,6 +58,7 @@ set(HEADER_FILES
${CMAKE_CURRENT_SOURCE_DIR}/tile/tilediskcache.h
${CMAKE_CURRENT_SOURCE_DIR}/tile/tiledataset.h
${CMAKE_CURRENT_SOURCE_DIR}/tile/tiledatatype.h
${CMAKE_CURRENT_SOURCE_DIR}/tile/tiledepthtransform.h
${CMAKE_CURRENT_SOURCE_DIR}/tile/tileioresult.h
${CMAKE_CURRENT_SOURCE_DIR}/tile/asynctilereader.h
${CMAKE_CURRENT_SOURCE_DIR}/tile/tileprovidermanager.h
@@ -148,6 +149,7 @@ create_new_module(
${HEADER_FILES} ${SOURCE_FILES} ${SHADER_FILES}
)
if (WIN32)
target_include_directories(
openspace-module-globebrowsing
@@ -159,6 +161,9 @@ if (WIN32)
openspace-module-globebrowsing
${CMAKE_CURRENT_SOURCE_DIR}/ext/gdal/lib/gdal_i.lib
)
set(EXTERNAL_LIBRARY "${CMAKE_CURRENT_SOURCE_DIR}/ext/gdal/lib/gdal201.dll" PARENT_SCOPE)
else (WIN32)
find_package(GDAL REQUIRED)
+1
View File
@@ -30,6 +30,7 @@
#include <modules/globebrowsing/chunk/chunk.h>
#include <modules/globebrowsing/chunk/chunkedlodglobe.h>
#include <modules/globebrowsing/tile/layeredtextures.h>
#include <modules/globebrowsing/tile/tileioresult.h>
#include <algorithm>
@@ -37,6 +37,8 @@
#include <openspace/util/spicemanager.h>
#include <openspace/scene/scenegraphnode.h>
#include <openspace/util/time.h>
// ghoul includes
#include <ghoul/misc/assert.h>
@@ -26,6 +26,7 @@
#include <modules/globebrowsing/chunk/chunkrenderer.h>
#include <modules/globebrowsing/chunk/chunkedlodglobe.h>
#include <modules/globebrowsing/tile/layeredtextures.h>
#include <modules/globebrowsing/tile/tileprovidermanager.h>
// open space includes
#include <openspace/engine/wrapper/windowwrapper.h>
@@ -36,7 +36,6 @@
#include <modules/globebrowsing/meshes/grid.h>
#include <modules/globebrowsing/tile/tileprovidermanager.h>
#include <modules/globebrowsing/tile/layeredtextureshaderprovider.h>
#include <modules/globebrowsing/tile/tileselector.h>
@@ -27,6 +27,9 @@
#include <ghoul/misc/threadpool.h>
#include <modules/globebrowsing/tile/tileselector.h>
#include <modules/globebrowsing/chunk/chunkedlodglobe.h>
#include <modules/globebrowsing/tile/tileprovidermanager.h>
// open space includes
#include <openspace/engine/openspaceengine.h>
#include <openspace/rendering/renderengine.h>
@@ -36,6 +39,7 @@
// ghoul includes
#include <ghoul/misc/assert.h>
namespace {
const std::string _loggerCat = "RenderableGlobe";
@@ -38,15 +38,14 @@
#include <modules/globebrowsing/meshes/trianglesoup.h>
#include <modules/globebrowsing/chunk/chunkedlodglobe.h>
#include <modules/globebrowsing/geometry/ellipsoid.h>
#include <modules/globebrowsing/tile/tileprovidermanager.h>
#include <ghoul/misc/threadpool.h>
#include <modules/globebrowsing/other/distanceswitch.h>
#include <unordered_map>
namespace ghoul {
namespace opengl {
class ProgramObject;
@@ -56,6 +55,9 @@ namespace opengl {
namespace openspace {
class ChunkedLodGlobe;
class TileProviderManager;
struct ReferencedBoolSelection : public properties::SelectionProperty {
ReferencedBoolSelection(const std::string& identifier, const std::string& guiName)
: properties::SelectionProperty(identifier, guiName) { }
@@ -167,8 +167,6 @@ vec4 getTileFragColor(){
#endif // USE_COLORTEXTURE
#if USE_WATERMASK
// TODO: Jonathas magic goes here here
// TODO: This function needs more parameters and should update the fragment color for water
color = calculateWater(
color,
fs_uv,
@@ -176,15 +174,13 @@ vec4 getTileFragColor(){
WaterMasks,
WaterMasksParent1,
WaterMasksParent2,
ellipsoidNormalCameraSpace,
lightDirectionCameraSpace,
normalize(ellipsoidNormalCameraSpace),
lightDirectionCameraSpace, // Should already be normalized
positionCameraSpace);
#endif // USE_WATERMASK
#if USE_NIGHTTEXTURE
// TODO: Jonathas magic goes here here
// TODO: This function needs more parameters and should update the fragment color for night texture
color = calculateNight(
color,
fs_uv,
@@ -192,13 +188,12 @@ vec4 getTileFragColor(){
NightTextures,
NightTexturesParent1,
NightTexturesParent2,
ellipsoidNormalCameraSpace,
lightDirectionCameraSpace);
normalize(ellipsoidNormalCameraSpace),
lightDirectionCameraSpace); // Should already be normalized
#endif // USE_NIGHTTEXTURE
#if USE_ATMOSPHERE
// TODO: Jonathas magic goes here here
color = color + vec4(0.5,0.5,1,0) * 0.3; // Just to see something for now
#endif // USE_ATMOSPHERE
@@ -31,6 +31,7 @@
#include <modules/globebrowsing/tile/tiledataset.h>
#include <modules/globebrowsing/tile/tileprovider/tileprovider.h>
#include <modules/globebrowsing/tile/tileioresult.h>
#include <modules/globebrowsing/geometry/angle.h>
@@ -39,6 +40,7 @@
#include <sstream>
#include <algorithm>
#include <gdal_priv.h>
-2
View File
@@ -31,13 +31,11 @@
#include <iostream>
#include <unordered_map>
#include <gdal_priv.h>
#include <ghoul/filesystem/file.h>
#include <ghoul/opengl/texture.h>
#include <ghoul/misc/threadpool.h>
#include <modules/globebrowsing/tile/tileioresult.h>
#include <modules/globebrowsing/tile/tiledatatype.h>
#include <modules/globebrowsing/tile/pixelregion.h>
#include <modules/globebrowsing/geometry/geodetic2.h>
@@ -0,0 +1,33 @@
/*****************************************************************************************
* *
* 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 __TILEDEPTHTRANSFORM_H__
#define __TILEDEPTHTRANSFORM_H__
struct TileDepthTransform {
float depthScale;
float depthOffset;
};
#endif // __TILEDEPTHTRANSFORM_H__
@@ -24,6 +24,8 @@
#include <modules/globebrowsing/tile/tilediskcache.h>
#include <modules/globebrowsing/tile/tileioresult.h>
#include <ghoul/logging/logmanager.h>
#include <sstream>
@@ -34,6 +34,8 @@
namespace openspace {
struct TileIOResult;
using namespace ghoul::filesystem;
class TileDiskCache {
+3 -4
View File
@@ -31,6 +31,8 @@
#include <ghoul/filesystem/file.h>
#include <modules/globebrowsing/tile/tiledepthtransform.h>
#include "gdal_priv.h"
@@ -74,10 +76,7 @@ namespace openspace {
};
struct TileDepthTransform {
float depthScale;
float depthOffset;
};
} // namespace openspace
@@ -28,6 +28,8 @@
#include <modules/globebrowsing/chunk/chunkindex.h>
#include <modules/globebrowsing/tile/asynctilereader.h>
#include <openspace/engine/downloadmanager.h>
#include <ghoul/io/texture/texturereader.h>
@@ -41,6 +43,7 @@
#include <sstream>
#include <gdal_priv.h>
@@ -25,7 +25,6 @@
#ifndef __TILE_PROVIDER_H__
#define __TILE_PROVIDER_H__
#include <gdal_priv.h>
#include <openspace/engine/downloadmanager.h>
#include <set>
@@ -36,10 +35,10 @@
#include <ghoul/io/texture/texturereader.h>
#include <ghoul/font/fontrenderer.h>
#include <modules/globebrowsing/tile/tiledepthtransform.h>
#include <modules/globebrowsing/geometry/geodetic2.h>
#include <modules/globebrowsing/tile/asynctilereader.h>
#include <modules/globebrowsing/other/lrucache.h>
@@ -51,10 +50,11 @@
namespace openspace {
class TilePreprocessData;
// TODO: Remove using directive in header file ---abock
using namespace ghoul::opengl;
struct Tile {
std::shared_ptr<Texture> texture;
@@ -24,6 +24,7 @@
#include <modules/globebrowsing/tile/tileprovidermanager.h>
#include <modules/globebrowsing/tile/tileproviderfactory.h>
#include <modules/globebrowsing/tile/tileprovider/temporaltileprovider.h>
#include <ghoul/logging/logmanager.h>
@@ -26,7 +26,6 @@
#define __TILE_PROVIDER_MANAGER_H__
#include <modules/globebrowsing/tile/tileprovider/temporaltileprovider.h>
#include <modules/globebrowsing/tile/tileprovider/tileprovider.h>
#include <modules/globebrowsing/tile/layeredtextures.h>
@@ -24,11 +24,14 @@
#include <modules/globebrowsing/tile/tileselector.h>
#include <modules/globebrowsing/tile/tileprovider/tileprovider.h>
#include <ghoul/logging/logmanager.h>
#include <sstream>
#include <algorithm>
#include "gdal_priv.h"
@@ -25,10 +25,8 @@
#ifndef __TILE_SELECTOR_H__
#define __TILE_SELECTOR_H__
#include "gdal_priv.h"
#include <modules/globebrowsing/chunk/chunkindex.h>
#include <modules/globebrowsing/tile/tileprovider/tileprovider.h>
#include <modules/globebrowsing/tile/tileprovidermanager.h>
#include <vector>
+2 -7
View File
@@ -7,18 +7,13 @@ return {
-- Sets the scene that is to be loaded by OpenSpace. A scene file is a description
-- of all entities that will be visible during an instance of OpenSpace
-- Scene = "${SCENE}/default-moon.scene",
-- Scene = "${SCENE}/default.scene",
--Scene = "${SCENE}/default.scene",
--Scene = "${SCENE}/globebrowsing.scene",
-- Scene = "${SCENE}/globebrowsing-debug.scene",
-- Scene = "${SCENE}/globebrowsing.scene",
-- Scene = "${SCENE}/rosetta.scene",
-- Scene = "${SCENE}/dawn.scene",
-- Scene = "${SCENE}/newhorizons.scene",
Scene = "${SCENE}/osirisrex.scene",
--Scene = "${SCENE}/debugmodel.scene",
--Scene = "${SCENE}/rosetta.scene",
Scene = "${SCENE}/osirisrex.scene",
Paths = {
SGCT = "${BASE_PATH}/config/sgct",
+7 -3
View File
@@ -37,6 +37,10 @@
#include <glm/gtx/quaternion.hpp>
//#include <modules/globebrowsing/globes/renderableglobe.h>
#include <ghoul/glm.h>
#include <fstream>
namespace {
@@ -722,11 +726,11 @@ void InteractionHandler::resetCameraDirection() {
}
// Create the rotation to look at focus node
dmat4 lookAtMat = lookAt(
dvec3(0, 0, 0),
glm::dmat4 lookAtMat = glm::lookAt(
glm::dvec3(0, 0, 0),
directionToFocusNode,
lookUpVector);
dquat rotationLookAtFocusNode = normalize(quat_cast(inverse(lookAtMat)));
glm::dquat rotationLookAtFocusNode = normalize(quat_cast(inverse(lookAtMat)));
// Update camera Rotation
_camera->setRotation(rotationLookAtFocusNode);
+8 -1
View File
@@ -35,6 +35,10 @@
#include <glm/gtx/quaternion.hpp>
#ifdef OPENSPACE_MODULE_GLOBEBROWSING_ENABLED
#include <modules/globebrowsing/globes/renderableglobe.h>
#include <modules/globebrowsing/chunk/chunkedlodglobe.h>
#endif
namespace {
@@ -466,6 +470,7 @@ GlobeBrowsingInteractionMode::~GlobeBrowsingInteractionMode() {
void GlobeBrowsingInteractionMode::setFocusNode(SceneGraphNode* focusNode) {
InteractionMode::setFocusNode(focusNode);
#ifdef OPENSPACE_MODULE_GLOBEBROWSING_ENABLED
Renderable* baseRenderable = _focusNode->renderable();
if (RenderableGlobe* globe = dynamic_cast<RenderableGlobe*>(baseRenderable)) {
_globe = globe;
@@ -474,13 +479,14 @@ void GlobeBrowsingInteractionMode::setFocusNode(SceneGraphNode* focusNode) {
LWARNING("Focus node is not a renderable globe. GlobeBrowsingInteraction is not possible");
_globe = nullptr;
}
#endif // OPENSPACE_MODULE_GLOBEBROWSING_ENABLED
}
void GlobeBrowsingInteractionMode::updateCameraStateFromMouseStates(Camera& camera) {
// Update synched data
_mouseStates->postSynchronizationPreDraw();
#ifdef OPENSPACE_MODULE_GLOBEBROWSING_ENABLED
using namespace glm;
if (_focusNode && _globe) {
// Declare variables to use in interaction calculations
@@ -629,6 +635,7 @@ void GlobeBrowsingInteractionMode::updateCameraStateFromMouseStates(Camera& came
camera.setPositionVec3(camPos);
camera.setRotation(globalCameraRotation * localCameraRotation);
}
#endif // OPENSPACE_MODULE_GLOBEBROWSING_ENABLED
}
} // namespace interaction
+1
View File
@@ -81,6 +81,7 @@
#include <array>
#include <fstream>
#include <sgct.h>
#include <stack>
// These are temporary ---abock
#include <modules/base/ephemeris/spiceephemeris.h>
+3
View File
@@ -150,6 +150,9 @@ SceneGraphNode* SceneGraphNode::createFromDictionary(const ghoul::Dictionary& di
//parentNode->addNode(result);
result->_scale->setName("Transform");
result->addPropertySubOwner(result->_scale);
LDEBUG("Successfully created SceneGraphNode '"
<< result->name() << "'");
return result;
+21 -2
View File
@@ -242,6 +242,7 @@ function (handle_applications)
if (WIN32)
copy_files(${APPLICATION_NAME} "${CURL_ROOT_DIR}/lib/libcurl.dll")
ghl_copy_shared_libraries(${APPLICATION_NAME} ${OPENSPACE_EXT_DIR}/ghoul)
endif ()
endif ()
@@ -333,6 +334,7 @@ function (handle_internal_modules)
set(defaultModule OFF)
if (EXISTS "${OPENSPACE_MODULE_DIR}/${dir}/include.cmake")
unset(OPENSPACE_DEPENDENCIES)
unset(EXTERNAL_LIBRAY)
unset(DEFAULT_MODULE)
include(${OPENSPACE_MODULE_DIR}/${dir}/include.cmake)
@@ -367,12 +369,14 @@ function (handle_internal_modules)
# Automatically set dependent modules to ON
set(dir_list ${sortedModules})
set(dll_list "")
list(REVERSE dir_list)
foreach (dir ${dir_list})
create_option_name(${dir} optionName)
if (${optionName})
if (EXISTS "${OPENSPACE_MODULE_DIR}/${dir}/include.cmake")
unset(OPENSPACE_DEPENDENCIES)
unset(EXTERNAL_LIBRAY)
unset(DEFAULT_MODULE)
include(${OPENSPACE_MODULE_DIR}/${dir}/include.cmake)
@@ -434,8 +438,14 @@ function (handle_internal_modules)
"#include <${MODULE_PATH}>\n"
#"#endif\n\n"
)
list(APPEND MODULE_CLASSES " new ${MODULE_NAME},\n")
if (EXTERNAL_LIBRARY)
foreach (library ${EXTERNAL_LIBRARY})
get_filename_component(lib ${library} ABSOLUTE)
list(APPEND dll_list ${lib})
endforeach()
endif ()
endif ()
endforeach ()
@@ -451,11 +461,20 @@ function (handle_internal_modules)
${OPENSPACE_CMAKE_EXT_DIR}/module_registration.template
${CMAKE_BINARY_DIR}/_generated/include/openspace/moduleregistration.h
)
list(REMOVE_DUPLICATES dll_list)
if (WIN32)
foreach (application ${OPENSPACE_APPLICATIONS})
foreach (dll ${dll_list})
copy_files(${application} ${dll})
endforeach ()
endforeach ()
endif ()
endfunction ()
function (copy_dynamic_libraries)
if (WIN32)
copy_files(OpenSpace "${CURL_ROOT_DIR}/lib/libcurl.dll")
# Copy DLLs needed by Ghoul into the executable directory