Skip to content

Commit

Permalink
ISSUE #599 Added a copy of Polygon Mesh Processing library and Eigen,…
Browse files Browse the repository at this point in the history
… and new simplification optimiser that passes through meshnodes
  • Loading branch information
sebjf committed Mar 15, 2023
1 parent deb252c commit 9127c39
Show file tree
Hide file tree
Showing 400 changed files with 130,695 additions and 0 deletions.
6 changes: 6 additions & 0 deletions bouncer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,12 @@ set(VERSION_MAJOR 5)
set(VERSION_MINOR 1_1)

include_directories(${Boost_INCLUDE_DIRS} ${MONGO_INCLUDE_DIR} ${ASSIMP_INCLUDE_DIR} ${OCCT_INCLUDE_DIR} ${IFCOPENSHELL_INCLUDE_DIR} ${ODA_INCLUDE_DIR} ${SYNCHRO_READER_INCLUDE_DIR} ${AWSSDK_INCLUDE_DIR} ${CRYPTOLENS_INCLUDE_DIR} src ../)

# == PMP ==
include_directories("D:/3drepo/bouncer/3drepobouncer_ISSUE599/bouncer/src/repo/manipulator/modeloptimizer")
add_definitions(-D_USE_MATH_DEFINES)
# ==

add_definitions(-DREPO_API_LIBRARY)

add_library(3drepobouncer SHARED ${SOURCES})
Expand Down
4 changes: 4 additions & 0 deletions bouncer/src/repo/manipulator/modeloptimizer/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,21 @@
#If you really need to overwrite this file, be aware that it will be overwritten if updateSources.py is executed.


add_subdirectory(Eigen)
add_subdirectory(bvh)
add_subdirectory(pmp)
set(SOURCES
${SOURCES}
${CMAKE_CURRENT_SOURCE_DIR}/repo_optimizer_abstract.cpp
${CMAKE_CURRENT_SOURCE_DIR}/repo_optimizer_mesh_simplification.cpp
${CMAKE_CURRENT_SOURCE_DIR}/repo_optimizer_multipart.cpp
${CMAKE_CURRENT_SOURCE_DIR}/repo_optimizer_trans_reduction.cpp
CACHE STRING "SOURCES" FORCE)

set(HEADERS
${HEADERS}
${CMAKE_CURRENT_SOURCE_DIR}/repo_optimizer_abstract.h
${CMAKE_CURRENT_SOURCE_DIR}/repo_optimizer_mesh_simplification.h
${CMAKE_CURRENT_SOURCE_DIR}/repo_optimizer_multipart.h
${CMAKE_CURRENT_SOURCE_DIR}/repo_optimizer_trans_reduction.h
CACHE STRING "HEADERS" FORCE)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#THIS IS AN AUTOMATICALLY GENERATED FILE - DO NOT OVERWRITE THE CONTENT!
#If you need to update the sources/headers/sub directory information, run updateSources.py at project root level
#If you need to import an extra library or something clever, do it on the CMakeLists.txt at the root level
#If you really need to overwrite this file, be aware that it will be overwritten if updateSources.py is executed.


add_subdirectory(src)
46 changes: 46 additions & 0 deletions bouncer/src/repo/manipulator/modeloptimizer/Eigen/Cholesky
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at the mozilla.org home page

#ifndef EIGEN_CHOLESKY_MODULE_H
#define EIGEN_CHOLESKY_MODULE_H

#include "Core"
#include "Jacobi"

#include "src/Core/util/DisableStupidWarnings.h"

/** \defgroup Cholesky_Module Cholesky module
*
*
*
* This module provides two variants of the Cholesky decomposition for selfadjoint (hermitian) matrices.
* Those decompositions are also accessible via the following methods:
* - MatrixBase::llt()
* - MatrixBase::ldlt()
* - SelfAdjointView::llt()
* - SelfAdjointView::ldlt()
*
* \code
* #include <Eigen/Cholesky>
* \endcode
*/

#include "src/Cholesky/LLT.h"
#include "src/Cholesky/LDLT.h"
#ifdef EIGEN_USE_LAPACKE
#ifdef EIGEN_USE_MKL
#include "mkl_lapacke.h"
#else
#include "src/misc/lapacke.h"
#endif
#include "src/Cholesky/LLT_LAPACKE.h"
#endif

#include "src/Core/util/ReenableStupidWarnings.h"

#endif // EIGEN_CHOLESKY_MODULE_H
/* vim: set filetype=cpp et sw=2 ts=2 ai: */
48 changes: 48 additions & 0 deletions bouncer/src/repo/manipulator/modeloptimizer/Eigen/CholmodSupport
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at the mozilla.org home page

#ifndef EIGEN_CHOLMODSUPPORT_MODULE_H
#define EIGEN_CHOLMODSUPPORT_MODULE_H

#include "SparseCore"

#include "src/Core/util/DisableStupidWarnings.h"

extern "C" {
#include <cholmod.h>
}

/** \ingroup Support_modules
* \defgroup CholmodSupport_Module CholmodSupport module
*
* This module provides an interface to the Cholmod library which is part of the <a href="xxxp://www.suitesparse.com">suitesparse</a> package.
* It provides the two following main factorization classes:
* - class CholmodSupernodalLLT: a supernodal LLT Cholesky factorization.
* - class CholmodDecomposiiton: a general L(D)LT Cholesky factorization with automatic or explicit runtime selection of the underlying factorization method (supernodal or simplicial).
*
* For the sake of completeness, this module also propose the two following classes:
* - class CholmodSimplicialLLT
* - class CholmodSimplicialLDLT
* Note that these classes does not bring any particular advantage compared to the built-in
* SimplicialLLT and SimplicialLDLT factorization classes.
*
* \code
* #include <Eigen/CholmodSupport>
* \endcode
*
* In order to use this module, the cholmod headers must be accessible from the include paths, and your binary must be linked to the cholmod library and its dependencies.
* The dependencies depend on how cholmod has been compiled.
* For a cmake based project, you can use our FindCholmod.cmake module to help you in this task.
*
*/

#include "src/CholmodSupport/CholmodSupport.h"

#include "src/Core/util/ReenableStupidWarnings.h"

#endif // EIGEN_CHOLMODSUPPORT_MODULE_H

Loading

0 comments on commit 9127c39

Please sign in to comment.