From 037630073254b684ebcd864cd341262fa62598bc Mon Sep 17 00:00:00 2001 From: Alexander Bock Date: Thu, 8 Sep 2016 15:32:27 +0200 Subject: [PATCH] Update Ghoul Change TriangleSoup and StatsCollector to use new Boolean class --- ext/ghoul | 2 +- include/openspace/rendering/renderable.h | 4 +- modules/globebrowsing/meshes/trianglesoup.cpp | 6 +-- modules/globebrowsing/meshes/trianglesoup.h | 10 ++-- modules/globebrowsing/other/statscollector.h | 5 +- src/rendering/renderable.cpp | 49 +++++++------------ 6 files changed, 31 insertions(+), 45 deletions(-) diff --git a/ext/ghoul b/ext/ghoul index 2c2099f161..7e91a75120 160000 --- a/ext/ghoul +++ b/ext/ghoul @@ -1 +1 @@ -Subproject commit 2c2099f161df8fd33ce857660a047a89ba472d4b +Subproject commit 7e91a75120d0810a6998741573d88fe05c1c1b96 diff --git a/include/openspace/rendering/renderable.h b/include/openspace/rendering/renderable.h index 7a669cc700..7b11fc2511 100644 --- a/include/openspace/rendering/renderable.h +++ b/include/openspace/rendering/renderable.h @@ -71,8 +71,8 @@ public: virtual bool isReady() const = 0; bool isEnabled() const; - void setBoundingSphere(const PowerScaledScalar& boundingSphere); - const PowerScaledScalar& getBoundingSphere(); + void setBoundingSphere(PowerScaledScalar boundingSphere); + PowerScaledScalar getBoundingSphere(); virtual void render(const RenderData& data); virtual void render(const RenderData& data, RendererTasks& rendererTask); diff --git a/modules/globebrowsing/meshes/trianglesoup.cpp b/modules/globebrowsing/meshes/trianglesoup.cpp index adfbad88e8..2d8c1e29ad 100644 --- a/modules/globebrowsing/meshes/trianglesoup.cpp +++ b/modules/globebrowsing/meshes/trianglesoup.cpp @@ -36,9 +36,9 @@ TriangleSoup::TriangleSoup(std::vector elements, : _vaoID(0) ,_vertexBufferID(0) ,_elementBufferID(0) - ,_useVertexPositions(usePositions == Positions::Yes) - ,_useTextureCoordinates(useTextures == TextureCoordinates::Yes) - ,_useVertexNormals(useNormals == Normals::Yes) + ,_useVertexPositions(usePositions) + ,_useTextureCoordinates(useTextures) + ,_useVertexNormals(useNormals) { setElements(elements); } diff --git a/modules/globebrowsing/meshes/trianglesoup.h b/modules/globebrowsing/meshes/trianglesoup.h index d2291e8a66..1f1666a2b5 100644 --- a/modules/globebrowsing/meshes/trianglesoup.h +++ b/modules/globebrowsing/meshes/trianglesoup.h @@ -25,6 +25,7 @@ #ifndef __TRIANGLESOUP_H__ #define __TRIANGLESOUP_H__ +#include #include #include @@ -44,12 +45,11 @@ namespace openspace { // TODO : Possibly render triangle strips in this class instead of triangles since // that is faster -class TriangleSoup -{ +class TriangleSoup { public: - enum class Positions { Yes, No }; - enum class TextureCoordinates { Yes, No }; - enum class Normals { Yes, No }; + using Positions = ghoul::Boolean; + using TextureCoordinates = ghoul::Boolean; + using Normals = ghoul::Boolean; TriangleSoup( std::vector elements, // At least elements are required diff --git a/modules/globebrowsing/other/statscollector.h b/modules/globebrowsing/other/statscollector.h index e5b07d8920..3bb73728fa 100644 --- a/modules/globebrowsing/other/statscollector.h +++ b/modules/globebrowsing/other/statscollector.h @@ -24,6 +24,7 @@ #ifndef __STATS_TRACKER_H__ #define __STATS_TRACKER_H__ +#include #include #include @@ -143,13 +144,13 @@ namespace openspace { StatsCollector() = delete; - enum class Enabled { Yes, No }; + using Enabled = ghoul::Boolean; StatsCollector(const std::string& filename, int dumpEveryXRecord, Enabled enabled = Enabled::Yes, const std::string& delimiter = ",") : _filename(filename) , _dumpEveryXRecord(dumpEveryXRecord) , _recordsSinceLastDump(0) - , _enabled(enabled == Enabled::Yes) + , _enabled(enabled) , _delimiter(delimiter) , _hasWrittenHeader(false) , i(TemplatedStatsCollector(_enabled, delimiter)) diff --git a/src/rendering/renderable.cpp b/src/rendering/renderable.cpp index 9ed37b4e4b..14db2e226b 100644 --- a/src/rendering/renderable.cpp +++ b/src/rendering/renderable.cpp @@ -22,14 +22,12 @@ * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * ****************************************************************************************/ -// open space includes #include #include #include #include #include -// ghoul #include #include #include @@ -75,9 +73,7 @@ Renderable::Renderable() , _startTime("") , _endTime("") , _hasTimeInterval(false) -{ - -} +{} Renderable::Renderable(const ghoul::Dictionary& dictionary) : _enabled("enabled", "Is Enabled", true) @@ -87,52 +83,41 @@ Renderable::Renderable(const ghoul::Dictionary& dictionary) , _hasTimeInterval(false) { setName("renderable"); -#ifndef NDEBUG - std::string name; - ghoul_assert(dictionary.getValue(SceneGraphNode::KeyName, name), - "Scenegraphnode need to specify '" << SceneGraphNode::KeyName - << "' because renderables is going to use this for debugging!"); -#endif + + ghoul_assert( + dictionary.hasKeyAndValue(SceneGraphNode::KeyName), + "SceneGraphNode must specify '" << SceneGraphNode::KeyName << "'" + ); dictionary.getValue(keyStart, _startTime); dictionary.getValue(keyEnd, _endTime); - if (_startTime != "" && _endTime != "") + if (_startTime != "" && _endTime != "") { _hasTimeInterval = true; + } addProperty(_enabled); } -Renderable::~Renderable() { +Renderable::~Renderable() {} + +void Renderable::setBoundingSphere(PowerScaledScalar boundingSphere) { + boundingSphere_ = std::move(boundingSphere); } -void Renderable::setBoundingSphere(const PowerScaledScalar& boundingSphere) -{ - boundingSphere_ = boundingSphere; -} - -const PowerScaledScalar& Renderable::getBoundingSphere() -{ +PowerScaledScalar Renderable::getBoundingSphere() { return boundingSphere_; } -void Renderable::update(const UpdateData&) -{ -} +void Renderable::update(const UpdateData&) {} -void Renderable::render(const RenderData& data, RendererTasks& tasks) -{ - (void) tasks; +void Renderable::render(const RenderData& data, RendererTasks&) { render(data); } -void Renderable::render(const RenderData& data) -{ -} +void Renderable::render(const RenderData& data) {} -void Renderable::postRender(const RenderData& data) -{ -} +void Renderable::postRender(const RenderData& data) {} void Renderable::setPscUniforms( ghoul::opengl::ProgramObject& program,