From d414003424ab1e20d25becbebc7eeecb24b6082d Mon Sep 17 00:00:00 2001 From: Erik Broberg Date: Mon, 4 Apr 2016 15:16:47 -0400 Subject: [PATCH] added files for Quadtree class and unit test file --- modules/globebrowsing/CMakeLists.txt | 3 ++ .../globebrowsing/datastructures/quadtree.cpp | 34 ++++++++++++++++ .../globebrowsing/datastructures/quadtree.h | 40 +++++++++++++++++++ tests/main.cpp | 19 ++++++--- tests/test_quadtree.inl | 40 +++++++++++++++++++ 5 files changed, 130 insertions(+), 6 deletions(-) create mode 100644 modules/globebrowsing/datastructures/quadtree.cpp create mode 100644 modules/globebrowsing/datastructures/quadtree.h create mode 100644 tests/test_quadtree.inl diff --git a/modules/globebrowsing/CMakeLists.txt b/modules/globebrowsing/CMakeLists.txt index a7b3a9d59d..692ed65599 100644 --- a/modules/globebrowsing/CMakeLists.txt +++ b/modules/globebrowsing/CMakeLists.txt @@ -30,6 +30,8 @@ set(HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/rendering/geometry.h ${CMAKE_CURRENT_SOURCE_DIR}/rendering/gridgeometry.h ${CMAKE_CURRENT_SOURCE_DIR}/rendering/globemesh.h + + ${CMAKE_CURRENT_SOURCE_DIR}/datastructures/quadtree.h ) source_group("Header Files" FILES ${HEADER_FILES}) @@ -40,6 +42,7 @@ set(SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/rendering/gridgeometry.cpp ${CMAKE_CURRENT_SOURCE_DIR}/rendering/globemesh.cpp + ${CMAKE_CURRENT_SOURCE_DIR}/datastructures/quadtree.cpp ) source_group("Source Files" FILES ${SOURCE_FILES}) diff --git a/modules/globebrowsing/datastructures/quadtree.cpp b/modules/globebrowsing/datastructures/quadtree.cpp new file mode 100644 index 0000000000..c93951c40d --- /dev/null +++ b/modules/globebrowsing/datastructures/quadtree.cpp @@ -0,0 +1,34 @@ +/***************************************************************************************** + * * + * 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. * + ****************************************************************************************/ + +#include + +namespace openspace { + +Quadtree::Quadtree() { + +} + + +} // namespace openspace \ No newline at end of file diff --git a/modules/globebrowsing/datastructures/quadtree.h b/modules/globebrowsing/datastructures/quadtree.h new file mode 100644 index 0000000000..0b23c92f68 --- /dev/null +++ b/modules/globebrowsing/datastructures/quadtree.h @@ -0,0 +1,40 @@ +/***************************************************************************************** + * * + * 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 __QUADTREE_H__ +#define __QUADTREE_H__ + + +namespace openspace { + +class Quadtree { +public: + Quadtree(); + + +}; + +} // namespace openspace + +#endif // __QUADTREE_H__ diff --git a/tests/main.cpp b/tests/main.cpp index 6f39f9b1af..1a53c80947 100644 --- a/tests/main.cpp +++ b/tests/main.cpp @@ -32,7 +32,8 @@ #include //#include -#include +//#include +#include //#include //#include #include @@ -48,13 +49,19 @@ using namespace ghoul::filesystem; using namespace ghoul::logging; namespace { - std::string _loggerCat = "OpenSpaceTest"; + std::string _loggerCat = "OpenSpaceTest"; } int main(int argc, char** argv) { - std::vector args; - openspace::OpenSpaceEngine::create(argc, argv, std::make_unique(), args); + std::vector args; + openspace::OpenSpaceEngine::create(argc, argv, std::make_unique(), args); - testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); + testing::InitGoogleTest(&argc, argv); + + int returnVal = RUN_ALL_TESTS(); + + // keep console from closing down + int dummy; std::cin >> dummy; + + return returnVal; } diff --git a/tests/test_quadtree.inl b/tests/test_quadtree.inl new file mode 100644 index 0000000000..df8960b6d4 --- /dev/null +++ b/tests/test_quadtree.inl @@ -0,0 +1,40 @@ +/***************************************************************************************** + * * + * 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. * + ****************************************************************************************/ + +#include "gtest/gtest.h" + +#include +#include + +#include + +class QuadtreeTest : public testing::Test {}; + +using namespace openspace; + +TEST_F(QuadtreeTest, ConstructorTest) { + Quadtree t; + EXPECT_TRUE(&t != nullptr) << "Quadtree was constructed"; +} +