Initial commit of ResInsight version 0.4.8

This commit is contained in:
Alf B. Rustad
2012-05-18 09:45:23 +02:00
parent a680bf941e
commit dfe97efb1b
657 changed files with 176690 additions and 0 deletions

View File

@@ -0,0 +1,57 @@
cmake_minimum_required (VERSION 2.8)
SET (ProjectName ModelVisualization_UnitTests)
project ( ${ProjectName} )
include_directories(
${LibCore_SOURCE_DIR}
${LibGeometry_SOURCE_DIR}
${LibRender_SOURCE_DIR}
${LibViewing_SOURCE_DIR}
${ResInsight_SOURCE_DIR}/ThirdParty
${ResInsight_SOURCE_DIR}/CommonCode
${CMAKE_CURRENT_SOURCE_DIR}/..
)
set( MODEL_VISUALIZATION_CPP_SOURCES
../RivPipeGeometryGenerator.cpp
)
set( CPP_SOURCES
${MODEL_VISUALIZATION_CPP_SOURCES}
)
set( UNIT_TEST_CPP_SOURCES
main.cpp
RivPipeGeometryGenerator-Test.cpp
)
set( LINK_LIBRARIES
LibViewing
LibRender
LibGeometry
LibCore
CommonCode
${OPENGL_LIBRARIES}
)
add_executable( ${ProjectName}
${CPP_SOURCES}
${UNIT_TEST_CPP_SOURCES}
${ResInsight_SOURCE_DIR}/ThirdParty/gtest/gtest-all.cc
)
target_link_libraries( ${ProjectName} ${LINK_LIBRARIES})

View File

@@ -0,0 +1,105 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2011-2012 Statoil ASA, Ceetron AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#include "gtest/gtest.h"
#include "cvfLibCore.h"
#include "cvfLibViewing.h"
#include "cvfLibRender.h"
#include "cvfLibGeometry.h"
#include "RivPipeGeometryGenerator.h"
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
cvf::ref<cvf::Vec3dArray> buildPipeCoords()
{
cvf::ref<cvf::Vec3dArray> coords = new cvf::Vec3dArray;
coords->resize(10);
// Two identical at start
coords->set(0, cvf::Vec3d(10, 10, 10));
coords->set(1, cvf::Vec3d(10, 10, 10));
// 180 degree
coords->set(2, cvf::Vec3d(12, 20, 10));
coords->set(3, cvf::Vec3d(13, 20, 20));
coords->set(4, cvf::Vec3d(13, 20, 20));
coords->set(5, cvf::Vec3d(12, 20, 10));
//coords->set(5, cvf::Vec3d(15, 10, 10));
coords->set(6, cvf::Vec3d(16, 10, 10));
coords->set(7, cvf::Vec3d(17, 10, 10));
// Two identical at end
coords->set(8, cvf::Vec3d(18, 10, 10));
coords->set(9, cvf::Vec3d(18, 10, 10));
return coords;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST(ModelVisualizationTest, AllPartsInputTest)
{
cvf::ref<cvf::Vec3dArray> coords = new cvf::Vec3dArray;
RivPipeGeometryGenerator gen;
// Set empty coords array
gen.setPipeCenterCoords(coords.p());
{
cvf::ref<cvf::DrawableGeo> geo = gen.createPipeSurface();
EXPECT_TRUE(geo.isNull());
}
coords->resize(2);
coords->set(0, cvf::Vec3d(10, 10, 10));
coords->set(1, cvf::Vec3d(10, 10, 10));
gen.setPipeCenterCoords(coords.p());
{
cvf::ref<cvf::DrawableGeo> geo = gen.createPipeSurface();
EXPECT_TRUE(geo.isNull());
}
coords->set(1, cvf::Vec3d(10, 10, 20));
gen.setPipeCenterCoords(coords.p());
{
cvf::ref<cvf::DrawableGeo> geo = gen.createPipeSurface();
EXPECT_TRUE(geo.notNull());
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
TEST(ModelVisualizationTest, PipeGeometryTest)
{
cvf::ref<cvf::Vec3dArray> coords = buildPipeCoords();
RivPipeGeometryGenerator gen;
gen.setPipeCenterCoords(coords.p());
gen.createPipeSurface();
}

View File

@@ -0,0 +1,43 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2011-2012 Statoil ASA, Ceetron AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#include "cvfBase.h"
#include "gtest/gtest.h"
#include <stdio.h>
#include "cvfTrace.h"
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
int main(int argc, char **argv)
{
cvf::Assert::setReportMode(cvf::Assert::CONSOLE);
testing::InitGoogleTest(&argc, argv);
int result = RUN_ALL_TESTS();
std::cout << "Please press <Enter> to close the window.";
std::cin.get();
return result;
}