Merge branch 'to-be-tested/Stop_testing_taucs-sloriot'

Taucs, Lapack and Blas supports are no longer tested

Approved by the Release Manager
Tested in CGAL-4.5-Ic-97

Conflicts:
	Polyhedron/demo/Polyhedron/CMakeLists.txt
This commit is contained in:
Sébastien Loriot 2014-07-16 20:19:21 +02:00
commit 6ed1ba826e
38 changed files with 47 additions and 746 deletions

2
.gitignore vendored
View File

@ -623,7 +623,6 @@ Point_set_processing_3/examples/Point_set_processing_3/normal_estimation
Point_set_processing_3/examples/Point_set_processing_3/oni_copy.xyz
Point_set_processing_3/examples/Point_set_processing_3/property_map
Point_set_processing_3/examples/Point_set_processing_3/sphere_20k_copy.xyz
Point_set_processing_3/include/CGAL/*.Taucs_symmetric_solver_traits
Point_set_processing_3/include/CGAL/*.object_pool
Point_set_processing_3/include/CGAL/*.pool
Point_set_processing_3/include/CGAL/*.reserve_RAM
@ -879,7 +878,6 @@ Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/APSS_re
Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/AQtimeProject
Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/Makefile
Surface_reconstruction_points_3/examples/Surface_reconstruction_points_3/poisson_reconstruction
Surface_reconstruction_points_3/include/CGAL/*.Taucs_symmetric_solver_traits
Surface_reconstruction_points_3/include/CGAL/*.object_pool
Surface_reconstruction_points_3/include/CGAL/*.pool
Surface_reconstruction_points_3/include/CGAL/*.reserve_RAM

View File

@ -703,7 +703,7 @@ cmake -DWITH_examples=OFF -DWITH_demos=OFF -DCMAKE_BUILD_TYPE=Release
-- Build type: Release
-- USING CXXFLAGS = ' -frounding-math -O3 -DNDEBUG'
-- USING LDFLAGS = ' '
-- External libraries supported: GMP;GMPXX;MPFR;zlib;OpenGL;LEDA;MPFI;RS;RS3;OpenNL;TAUCS;EIGEN3;BLAS;LAPACK;QGLViewer;ESBTL;NTL
-- External libraries supported: GMP;GMPXX;MPFR;zlib;OpenGL;LEDA;MPFI;RS;RS3;OpenNL;EIGEN3;BLAS;LAPACK;QGLViewer;ESBTL;NTL
-- Preconfiguring library: GMP ...
-- GMP has been preconfigured:
-- CGAL_UseGMP-file:

View File

@ -512,7 +512,7 @@ endmacro()
# External libs Qt3 and Qt34are configured when Qt3 or Qt4 as lib of cgal are required
# Coin is used in KDS, but no FindCoin or FindCOIN exists
# There exists FindF2C, FindIPE, FindMKL, but they are only used to support supporting libs
list (INSERT CGAL_SUPPORTING_3RD_PARTY_LIBRARIES 0 GMP MPFR ZLIB OpenGL LEDA MPFI RS RS3 OpenNL TAUCS Eigen3 BLAS LAPACK QGLViewer ESBTL Coin3D NTL IPE)
list (INSERT CGAL_SUPPORTING_3RD_PARTY_LIBRARIES 0 GMP MPFR ZLIB OpenGL LEDA MPFI RS RS3 OpenNL Eigen3 BLAS LAPACK QGLViewer ESBTL Coin3D NTL IPE)
if (NOT WIN32)
# GMPXX is not supported on WIN32 machines
list (INSERT CGAL_SUPPORTING_3RD_PARTY_LIBRARIES 1 GMPXX)
@ -856,11 +856,6 @@ if ( GMP_IN_AUXILIARY )
install(DIRECTORY auxiliary/gmp/lib/ DESTINATION ${CGAL_INSTALL_LIB_DIR} )
endif()
if ( TAUCS_IN_AUXILIARY )
install(DIRECTORY auxiliary/taucs/include/ DESTINATION ${CGAL_INSTALL_INC_DIR} )
install(DIRECTORY auxiliary/taucs/lib/ DESTINATION ${CGAL_INSTALL_LIB_DIR} )
endif()
if ( ZLIB_IN_AUXILIARY )
install(DIRECTORY auxiliary/zlib/include/ DESTINATION ${CGAL_INSTALL_INC_DIR} )
install(DIRECTORY auxiliary/zlib/lib/ DESTINATION ${CGAL_INSTALL_LIB_DIR} )

View File

@ -95,16 +95,6 @@ CGAL packages, some are only needed for demos.
http://www.netlib.org/blas/, http://www.netlib.org/lapack/
or precompiled version that can be downloaded with CGAL-x.y-Setup.exe
- TAUCS (sparse matrix solver)
Required by the package (if EIGEN is not available):
o Surface Reconstruction from Point Sets
Accelerates the package:
o Planar Parameterization of Triangulated Surface Meshes
http://www.tau.ac.il/~stoledo/taucs/
The version to used is available at
https://gforge.inria.fr/frs/download.php/24628/taucs_full.tgz
or automatically downloaded with CGAL-x.y-Setup.exe on Windows.
- MPFI
Required by the package:
o Algebraic Kernel

View File

@ -1,2 +0,0 @@
If the Windows installer is used, this directory will contain headers of
the BLAS, LAPACK, and TAUCS libraries.

View File

@ -1,2 +0,0 @@
If the Windows installer is used, this directory will contain precompiled
binaries of the BLAS, LAPACK, and TAUCS libraries.

View File

@ -1,37 +0,0 @@
// Copyright (c) 2004
// Utrecht University (The Netherlands),
// ETH Zurich (Switzerland),
// INRIA Sophia-Antipolis (France),
// Max-Planck-Institute Saarbruecken (Germany),
// and Tel-Aviv University (Israel). All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 3 of the License,
// or (at your option) any later version.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $URL: svn+ssh://fcacciola@scm.gforge.inria.fr/svn/cgal/trunk/Installation/config/support/test_TAUCS.cpp $
// $Id: test_TAUCS.cpp 41686 2008-01-18 20:33:57Z spion $
//
// Author(s) : Laurent Saboret
// Test if TAUCS is available
#include <iostream>
int main(int argc, char* argv[])
{
// TAUCS provides no version number :-(
// Version 1 is obsolete, thus we assume version 2 (latest is 2.2 on 03/2006)
std::cout << "version=2.x" << std::endl;
return 0;
}

View File

@ -1,96 +0,0 @@
// Copyright (c) 2004
// Utrecht University (The Netherlands),
// ETH Zurich (Switzerland),
// INRIA Sophia-Antipolis (France),
// Max-Planck-Institute Saarbruecken (Germany),
// and Tel-Aviv University (Israel). All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 3 of the License,
// or (at your option) any later version.
//
// Licensees holding a valid commercial license may use this file in
// accordance with the commercial license agreement provided with the software.
//
// This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
//
// $URL$
// $Id$
//
// Author(s) : Laurent Saboret
// Test if TAUCS is available
#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <sys/types.h>
#include <sys/timeb.h>
#define TAUCS_CORE_DOUBLE
// In GCC 3.x, <complex.h> includes <complex> and
// complains if we include <complex.h> within "extern C {}"
#if defined(__GNUC__)
#undef __DEPRECATED
#include <complex.h>
#endif
extern "C"
{
// Include TAUCS main header taucs.h
#include <taucs.h>
}
// Avoid error with std::min() and std::max()
#undef min
#undef max
int main(int argc, char* argv[])
{
// Create a TAUCS matrix to link with TAUCS main library
int m = 4,n = 4,nnz = 4, i;
taucs_ccs_matrix* pMatrix = taucs_ccs_create(m, n, nnz, TAUCS_DOUBLE);
pMatrix->colptr[0] = 0;
pMatrix->colptr[1] = 4;
for ( i = 0; i < 4; i++ )
{
pMatrix->rowind[i] = i;
pMatrix->taucs_values[i] = i;
}
// Call a method needing TAUCS external library Metis
int* perm;
int* invperm;
taucs_ccs_order(pMatrix,
&perm,
&invperm,
(char*)"metis");
// Call dpotrf() Lapack routine (Cholesky factorization)
int sn_size = 0;
int lda = 1;
int info;
taucs_potrf((char*)"LOWER",
&sn_size,
NULL,
&lda,
&info);
// ftime() is in compat lib. on FreeBSD and crypto lib. on MacOSX
struct timeb tb;
ftime(&tb);
// TAUCS provides no version number :-(
// Version 1 is obsolete, thus we assume version 2 (latest is 2.2 on 03/2006)
std::cout << "version=2.x" << std::endl;
// clean up
taucs_dccs_free(pMatrix);
return 0;
}

View File

@ -84,18 +84,9 @@ sub reformat_results($)
if (/ZLIB_VERSION = '([^']+)'/) {
$ZLIB="$1";
}
# if (/BLAS_VERSION = '([^']+)'/) {
# $BLAS="+";
# }
# if (/LAPACK_VERSION = '([^']+)'/) {
# $LAPACK="+";
# }
if (/OPENGL_VERSION = '([^']+)'/) {
$OPENGL="$1";
}
# if (/TAUCS_VERSION = '([^']+)'/) {
# $TAUCS="$1";
# }
if (/GMP_VERSION = '([^']+)'/) {
$GMP="$1";
}

View File

@ -27,10 +27,6 @@ if ( CGAL_FOUND )
# VisualC++ optimization for applications dealing with large data
if (MSVC)
# Use /EHa option to catch stack overflows.
# Note: TAUCS needs a stack >= 2MB. CGAL default is 10MB.
string(REGEX REPLACE "/EH[asc]*" "/EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
# Use /FR to turn on IntelliSense
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FR")

View File

@ -25,10 +25,6 @@ if ( CGAL_FOUND )
# VisualC++ optimization for applications dealing with large data
if (MSVC)
# Use /EHa option to catch stack overflows.
# Note: TAUCS needs a stack >= 2MB. CGAL default is 10MB.
string(REGEX REPLACE "/EH[asc]*" "/EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
# Use /FR to turn on IntelliSense
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FR")

View File

@ -61,14 +61,10 @@ endif(QT4_FOUND)
# Eigen is required by default
find_package(Eigen3 3.1.0) #(requires 3.1.0 or greater)
if (EIGEN3_FOUND)
include( ${EIGEN3_USE_FILE} )
else()
message(STATUS "NOTICE: parametrization, poisson reconstruction and curvatures estimation plugins require Eigen 3.1 (or greater) and will not be available.")
endif()
endif(EIGEN3_FOUND)
if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
@ -330,21 +326,11 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
if(EIGEN3_FOUND)
polyhedron_demo_plugin(parameterization_plugin Polyhedron_demo_parameterization_plugin)
target_link_libraries(parameterization_plugin scene_polyhedron_item scene_textured_polyhedron_item )
endif()
if(EIGEN3_FOUND)
qt4_wrap_ui( poissonUI_FILES Polyhedron_demo_poisson_plugin.ui)
polyhedron_demo_plugin(poisson_plugin Polyhedron_demo_poisson_plugin Polyhedron_demo_poisson_plugin_impl.cpp ${poissonUI_FILES})
target_link_libraries(poisson_plugin scene_polyhedron_item scene_points_with_normal_item)
endif()
# Link with BLAS and LAPACK only (optional), for Jet Fitting
if (NOT EIGEN3_FOUND AND LAPACK_FOUND)
include( ${LAPACK_USE_FILE} )
endif()
if(EIGEN3_FOUND OR LAPACK_FOUND)
qt4_wrap_ui( normal_estimationUI_FILES Polyhedron_demo_normal_estimation_plugin.ui)
polyhedron_demo_plugin(normal_estimation_plugin Polyhedron_demo_normal_estimation_plugin ${normal_estimationUI_FILES})
target_link_libraries(normal_estimation_plugin scene_points_with_normal_item)
@ -357,10 +343,14 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
polyhedron_demo_plugin(jet_fitting_plugin Polyhedron_demo_jet_fitting_plugin)
target_link_libraries(jet_fitting_plugin scene_polyhedron_item scene_polylines_item)
else(EIGEN3_FOUND OR LAPACK_FOUND)
message(STATUS "NOTICE: Normal estimation and smoothing plugins require Eigen 3.1 (or greater) or LAPACK libraries and will not be available.")
endif(EIGEN3_FOUND OR LAPACK_FOUND)
else(EIGEN3_FOUND)
message(STATUS "NOTICE: Eigen 3.1 (or greater) was not found. Parameterization plugin will not be available.")
message(STATUS "NOTICE: Eigen 3.1 (or greater) was not found. Poisson reconstruction plugin will not be available.")
message(STATUS "NOTICE: Eigen 3.1 (or greater) was not found. Normal estimation plugin will not be available.")
message(STATUS "NOTICE: Eigen 3.1 (or greater) was not found. Smoothing plugin will not be available.")
message(STATUS "NOTICE: Eigen 3.1 (or greater) was not found. Average spacing plugin will not be available.")
message(STATUS "NOTICE: Eigen 3.1 (or greater) was not found. Jet fitting plugin will not be available.")
endif(EIGEN3_FOUND)
polyhedron_demo_plugin(self_intersection_plugin Polyhedron_demo_self_intersection_plugin)
target_link_libraries(self_intersection_plugin scene_polyhedron_item)

View File

@ -61,10 +61,6 @@ class Polyhedron_demo_poisson_plugin_dialog : public QDialog, private Ui::Poisso
{
setupUi(this);
#ifdef CGAL_TAUCS_ENABLED
m_inputSolver->addItem("Taucs");
#endif
#ifdef CGAL_EIGEN3_ENABLED
m_inputSolver->addItem("Eigen - built-in simplicial LDLt");
m_inputSolver->addItem("Eigen - built-in CG");

View File

@ -16,9 +16,6 @@
#include <CGAL/Poisson_reconstruction_function.h>
#include <CGAL/compute_average_spacing.h>
#ifdef CGAL_TAUCS_ENABLED
#include <CGAL/Taucs_solver_traits.h>
#endif
#ifdef CGAL_EIGEN3_ENABLED
#include <CGAL/Eigen_solver_traits.h>
#endif
@ -91,26 +88,6 @@ Polyhedron* poisson_reconstruct(const Point_set& points,
CGAL::make_normal_of_point_with_normal_pmap(Point_set::value_type()));
bool ok = false;
#ifdef CGAL_TAUCS_ENABLED
if(solver_name=="Taucs")
{
// Creates sparse linear solver:
// TAUCS out-of-core Multifrontal Supernodal Cholesky Factorization
const char* OOC_SUPERNODAL_CHOLESKY_FACTORIZATION[] =
{
"taucs.factor.LLT=true",
"taucs.factor.mf=true",
"taucs.factor.ordering=metis",
"taucs.ooc=true", "taucs.ooc.basename=taucs-ooc",
NULL
};
unlink("taucs-ooc.0"); // make sure TAUCS ooc file does not exist
CGAL::Taucs_symmetric_solver_traits<double> solver(OOC_SUPERNODAL_CHOLESKY_FACTORIZATION);
ok = function.compute_implicit_function(solver, use_two_passes);
}
#endif
#ifdef CGAL_EIGEN3_ENABLED
if(solver_name=="Eigen - built-in simplicial LDLt")
{

View File

@ -123,7 +123,6 @@ foreach( component ${CGAL_COMPONENTS})
set(component ${rewrote_component})
string(REGEX REPLACE "([o|O][p|P][e|E][n|N][n|N][l|L])" "OpenNL" rewrote_component ${component})
set(component ${rewrote_component})
string(REGEX REPLACE "([t|T][a|A][u|U][c|C][s|S])" "TAUCS" rewrote_component ${component})
set(component ${rewrote_component})
string(REGEX REPLACE "([b|B][l|L][a|A][s|S])" "BLAS" rewrote_component ${component})
set(component ${rewrote_component})

View File

@ -33,7 +33,6 @@
#MPFR
#MPFI
#RS
#TAUCS
#BLAS
#LAPACK
#OPENNL
@ -157,7 +156,6 @@ fi
CGAL_COMPONENTS=${CGAL_COMPONENTS//[r|R][s|S]/RS}
CGAL_COMPONENTS=${CGAL_COMPONENTS//[o|O][p|P][e|E][n|N][n|N][l|L]/OpenNL}
CGAL_COMPONENTS=${CGAL_COMPONENTS//[t|T][a|A][u|U][c|C][s|S]/TAUCS}
CGAL_COMPONENTS=${CGAL_COMPONENTS//[b|B][l|L][a|A][s|S]/BLAS}
CGAL_COMPONENTS=${CGAL_COMPONENTS//[l|L][a|A][p|P][a|A][c|C][k|K]/LAPACK}

View File

@ -93,7 +93,7 @@ public:
m_triplets.reserve(rows);
}
/// Delete this object and the wrapped TAUCS matrix.
/// Delete this object and the wrapped matrix.
~Eigen_sparse_matrix()
{
}

View File

@ -75,7 +75,7 @@ public:
return this->size();
}
/// Get TAUCS vector wrapped by this object.
/// Get vector wrapped by this object.
const EigenType& eigen_object() const {
return *this;
}

View File

@ -26,10 +26,6 @@ if ( CGAL_FOUND )
# VisualC++ optimization for applications dealing with large data
if (MSVC)
# Use /EHa option to catch stack overflows.
# Note: TAUCS needs a stack >= 2MB. CGAL default is 10MB.
string(REGEX REPLACE "/EH[asc]*" "/EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
# Use /FR to turn on IntelliSense
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FR")
@ -70,41 +66,23 @@ if ( CGAL_FOUND )
list(APPEND CGAL_3RD_PARTY_LIBRARIES ${Boost_PROGRAM_OPTIONS_LIBRARY})
endif()
# Executables that do *not* use TAUCS
# Executables that do *not* require Eigen
create_single_source_cgal_program( "Authalic_parameterization.cpp" )
create_single_source_cgal_program( "Mesh_cutting_parameterization.cpp" )
create_single_source_cgal_program( "Simple_parameterization.cpp" )
create_single_source_cgal_program( "Square_border_parameterization.cpp" )
# use either Eigen or TAUCS BLAS/LAPACK
find_package(Eigen3 3.1.0) #(requires 3.1.0 or greater)
if (EIGEN3_FOUND)
include( ${EIGEN3_USE_FILE} )
endif()
# Link with BLAS, LAPACK and TAUCS (optional)
find_package(TAUCS)
if(TAUCS_FOUND)
include( ${TAUCS_USE_FILE} )
endif(TAUCS_FOUND)
if (EIGEN3_FOUND)
# Executables that require Eigen 3.1
include( ${EIGEN3_USE_FILE} )
create_single_source_cgal_program( "Complete_parameterization_example.cpp" )
create_single_source_cgal_program( "Eigen_parameterization.cpp" )
else(EIGEN3_FOUND)
message(STATUS "NOTICE: Example Complete_parameterization_example.cpp requires Eigen 3.1 (or greater) and will not be compiled.")
message(STATUS "NOTICE: Some examples require Eigen 3.1 (or greater) and will not be compiled.")
endif(EIGEN3_FOUND)
if (TAUCS_FOUND)
# Executables that require TAUCS (thus BLAS and LAPACK)
create_single_source_cgal_program( "Taucs_parameterization.cpp" )
else(TAUCS_FOUND)
message(STATUS "NOTICE: Example Taucs_parameterization.cpp requires TAUCS and will not be compiled.")
endif(TAUCS_FOUND)
# Executable that can use TAUCS or not, depending on the macro CGAL_USE_TAUCS
create_single_source_cgal_program( "polyhedron_ex_parameterization.cpp" )
else()

View File

@ -1 +1 @@
data/sphere966.off sphere966_authalic_square_taucs_parameterized.eps
data/sphere966.off sphere966_authalic_square_opennl_parameterized.eps

View File

@ -1,122 +0,0 @@
#include <CGAL/Simple_cartesian.h>
#include <CGAL/Polyhedron_3.h>
#include <CGAL/IO/Polyhedron_iostream.h>
#include <CGAL/Parameterization_polyhedron_adaptor_3.h>
#include <CGAL/parameterize.h>
#include <CGAL/Taucs_solver_traits.h>
#include <iostream>
#include <fstream>
#include <cstdlib>
// ----------------------------------------------------------------------------
// Private types
// ----------------------------------------------------------------------------
typedef CGAL::Simple_cartesian<double> Kernel;
typedef CGAL::Polyhedron_3<Kernel> Polyhedron;
// ----------------------------------------------------------------------------
// main()
// ----------------------------------------------------------------------------
int main(int argc, char * argv[])
{
std::cerr << "PARAMETERIZATION" << std::endl;
std::cerr << " Floater parameterization" << std::endl;
std::cerr << " Circle border" << std::endl;
std::cerr << " TAUCS solver" << std::endl;
//***************************************
// decode parameters
//***************************************
if (argc-1 != 1)
{
std::cerr << "Usage: " << argv[0] << " input_file.off" << std::endl;
return(EXIT_FAILURE);
}
// File name is:
const char* input_filename = argv[1];
//***************************************
// Read the mesh
//***************************************
// Read the mesh
std::ifstream stream(input_filename);
Polyhedron mesh;
stream >> mesh;
if(!stream || !mesh.is_valid() || mesh.empty())
{
std::cerr << "Error: cannot read OFF file " << input_filename << std::endl;
return EXIT_FAILURE;
}
//***************************************
// Create Polyhedron adaptor
// Note: no cutting => we support only
// meshes that are topological disks
//***************************************
typedef CGAL::Parameterization_polyhedron_adaptor_3<Polyhedron>
Parameterization_polyhedron_adaptor;
Parameterization_polyhedron_adaptor mesh_adaptor(mesh);
//***************************************
// Floater Mean Value Coordinates parameterization
// (circular border) with TAUCS solver
//***************************************
// Circular border parameterizer (the default)
typedef CGAL::Circular_border_arc_length_parameterizer_3<Parameterization_polyhedron_adaptor>
Border_parameterizer;
// TAUCS solver
typedef CGAL::Taucs_solver_traits<double> Solver;
// Floater Mean Value Coordinates parameterization
// (circular border) with TAUCS solver
typedef CGAL::Mean_value_coordinates_parameterizer_3<Parameterization_polyhedron_adaptor,
Border_parameterizer,
Solver>
Parameterizer;
Parameterizer::Error_code err = CGAL::parameterize(mesh_adaptor, Parameterizer());
switch(err) {
case Parameterizer::OK: // Success
break;
case Parameterizer::ERROR_EMPTY_MESH: // Input mesh not supported
case Parameterizer::ERROR_NON_TRIANGULAR_MESH:
case Parameterizer::ERROR_NO_TOPOLOGICAL_DISC:
case Parameterizer::ERROR_BORDER_TOO_SHORT:
std::cerr << "Input mesh not supported: " << Parameterizer::get_error_message(err) << std::endl;
return EXIT_FAILURE;
break;
default: // Error
std::cerr << "Error: " << Parameterizer::get_error_message(err) << std::endl;
return EXIT_FAILURE;
break;
};
//***************************************
// Output
//***************************************
// Raw output: dump (u,v) pairs
Polyhedron::Vertex_const_iterator pVertex;
for (pVertex = mesh.vertices_begin();
pVertex != mesh.vertices_end();
pVertex++)
{
// (u,v) pair is stored in any halfedge
double u = mesh_adaptor.info(pVertex->halfedge())->uv().x();
double v = mesh_adaptor.info(pVertex->halfedge())->uv().y();
std::cout << "(u,v) = (" << u << "," << v << ")" << std::endl;
}
return EXIT_SUCCESS;
}

View File

@ -11,15 +11,6 @@
//----------------------------------------------------------
// polyhedron_ex_parameterization -t conformal -b circle mesh.off mesh.eps
//----------------------------------------------------------
// floater parameterization
// square border
// TAUCS solver
// output is a eps map
// input file is mesh.off
//----------------------------------------------------------
// polyhedron_ex_parameterization -t floater -b square -s taucs mesh.off mesh.eps
//----------------------------------------------------------
// Least Squares Conformal Maps parameterization
// two pinned vertices (automatically picked)
@ -44,9 +35,6 @@
#include <CGAL/Parameterization_mesh_feature_extractor.h>
#include <CGAL/OpenNL/linear_solver.h>
#ifdef CGAL_USE_TAUCS
#include <CGAL/Taucs_solver_traits.h>
#endif
#include "Polyhedron_ex.h"
#include "Mesh_cutter.h"
@ -326,7 +314,7 @@ int main()
("border,b", po::value<std::string>(&border)->default_value("circle"),
"border shape: circle, square or 2pts (lscm only)")
("solver,s", po::value<std::string>(&solver)->default_value("opennl"),
"solver: opennl or taucs")
"solver: opennl")
("input,i", po::value<std::string>(&input)->default_value(""),
"input mesh (OFF)")
("output,o", po::value<std::string>(&output)->default_value("out.eps"),
@ -434,18 +422,6 @@ int main()
OpenNL::SymmetricLinearSolverTraits<double>
>(mesh_patch, type, border);
}
else if (solver == std::string("taucs"))
{
#ifdef CGAL_USE_TAUCS
err = parameterize<Mesh_patch_polyhedron,
CGAL::Taucs_solver_traits<double>,
CGAL::Taucs_symmetric_solver_traits<double>
>(mesh_patch, type, border);
#else
std::cerr << "Error: TAUCS is not installed" << std::endl;
err = Parameterizer::ERROR_WRONG_PARAMETER;
#endif
}
else
{
std::cerr << "Error: invalid solver parameter " << solver << std::endl;

View File

@ -91,7 +91,6 @@ else
run polyhedron_ex_parameterization
run Simple_parameterization
run Square_border_parameterization
run Taucs_parameterization
fi
#---------------------------------------------------------------------#

View File

@ -3,7 +3,6 @@
# Utility script to run the surface parameterization example without knowing the executable name
# Usage: test.sh parameterization-method border-parameterization solver output-format source-file-root
# Example: test.sh floater circle opennl obj sphere966
# Example: test.sh lscm 2pts taucs eps sphere966
# Find executable name (different on Windows and Unix)
[ -f ./debug/polyhedron_ex_parameterization.exe ] && PARAM_APPLICATION="./debug/polyhedron_ex_parameterization.exe"

View File

@ -10,24 +10,14 @@ echo ""
./test.sh barycentric square opennl eps "$1"
echo " -"
./test.sh barycentric circle taucs obj "$1"
echo " -"
./test.sh floater circle opennl obj "$1"
echo " -"
./test.sh floater square taucs eps "$1"
echo " -"
./test.sh conformal circle taucs obj "$1"
echo " -"
./test.sh conformal square opennl eps "$1"
echo " -"
./test.sh authalic square taucs obj "$1"
echo " -"
# Skip authalic/opennl test which is very unstable
# ./test.sh authalic circle opennl eps "$1"
# echo " -"
./test.sh lscm 2pts opennl obj "$1"
echo " -"
./test.sh lscm 2pts taucs eps "$1"
echo ""
echo " ************************"

View File

@ -14,6 +14,6 @@ The package proposes currently an interface with CGAL Polyhedron_3 data structur
Since parameterizing meshes require efficient representation of sparse matrices
and efficient iterative or direct linear solvers, we provide links to standard
libraries (TAUCS) and propose a separate package devoted to OpenNL
libraries (Eigen3) and propose a separate package devoted to OpenNL
sparse linear solver (Levy).

View File

@ -26,10 +26,6 @@ if ( CGAL_FOUND )
# VisualC++ optimization for applications dealing with large data
if (MSVC)
# Use /EHa option to catch stack overflows.
# Note: TAUCS needs a stack >= 2MB. CGAL default is 10MB.
string(REGEX REPLACE "/EH[asc]*" "/EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
# Use /FR to turn on IntelliSense
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FR")
@ -65,21 +61,11 @@ if ( CGAL_FOUND )
include( ${EIGEN3_USE_FILE} )
endif()
#find TAUCS
find_package(TAUCS)
if(TAUCS_FOUND)
include( ${TAUCS_USE_FILE} )
endif(TAUCS_FOUND)
if(NOT TAUCS_FOUND)
message(STATUS "NOTICE: This directory requires the TAUCS library, and some features will not be available.")
endif(NOT TAUCS_FOUND)
if(NOT EIGEN3_FOUND)
message(STATUS "NOTICE: This directory requires Eigen 3.1 (or greater), and some features will not be available.")
endif()
# Executable that can use EIGEN/TAUCS or not, depending on the macro CGAL_EIGEN3_ENABLED/CGAL_USE_TAUCS
# Executable that can use EIGEN or not, depending on the macro CGAL_EIGEN3_ENABLED
create_single_source_cgal_program( "extensive_parameterization_test.cpp" )
else()

View File

@ -34,9 +34,6 @@
#ifdef CGAL_EIGEN3_ENABLED
#include <CGAL/Eigen_solver_traits.h>
#endif
#ifdef CGAL_USE_TAUCS
#include <CGAL/Taucs_solver_traits.h>
#endif
// This test
#include "Polyhedron_ex.h"
@ -359,121 +356,6 @@ int main(int argc, char * argv[])
std::cerr << "Parameterization: " << task_timer.time() << " seconds." << std::endl << std::endl;
task_timer.reset();
#ifdef CGAL_USE_TAUCS
//***************************************
// Discrete Conformal Map parameterization
// with circular arc length border parameterization
// TAUCS solver (if installed)
//***************************************
std::cerr << "Discrete Conformal Map parameterization" << std::endl;
std::cerr << "with circular arc length border parameterization" << std::endl;
std::cerr << "TAUCS solver" << std::endl;
err = CGAL::parameterize(
mesh_patch,
CGAL::Discrete_conformal_map_parameterizer_3<
Mesh_patch_polyhedron,
CGAL::Circular_border_arc_length_parameterizer_3<Mesh_patch_polyhedron>,
CGAL::Taucs_solver_traits<double>
>());
switch(err) {
case Parameterizer::OK: // Success
break;
case Parameterizer::ERROR_EMPTY_MESH: // Input mesh not supported
case Parameterizer::ERROR_NON_TRIANGULAR_MESH:
case Parameterizer::ERROR_NO_TOPOLOGICAL_DISC:
case Parameterizer::ERROR_BORDER_TOO_SHORT:
std::cerr << "Input mesh not supported: " << Parameterizer::get_error_message(err) << std::endl;
// this is not a bug => do not set accumulated_fatal_err
break;
default: // Error
std::cerr << "Error: " << Parameterizer::get_error_message(err) << std::endl;
accumulated_fatal_err = EXIT_FAILURE;
break;
};
std::cerr << "Parameterization: " << task_timer.time() << " seconds." << std::endl << std::endl;
task_timer.reset();
//***************************************
// Discrete Authalic Parameterization
// with square arc length border parameterization
// TAUCS solver (if installed)
//***************************************
std::cerr << "Discrete Authalic Parameterization" << std::endl;
std::cerr << "with square arc length border parameterization" << std::endl;
std::cerr << "TAUCS solver" << std::endl;
err = CGAL::parameterize(
mesh_patch,
CGAL::Discrete_authalic_parameterizer_3<
Mesh_patch_polyhedron,
CGAL::Square_border_arc_length_parameterizer_3<Mesh_patch_polyhedron>,
CGAL::Taucs_solver_traits<double>
>());
switch(err) {
case Parameterizer::OK: // Success
break;
case Parameterizer::ERROR_EMPTY_MESH: // Input mesh not supported
case Parameterizer::ERROR_NON_TRIANGULAR_MESH:
case Parameterizer::ERROR_NO_TOPOLOGICAL_DISC:
case Parameterizer::ERROR_BORDER_TOO_SHORT:
std::cerr << "Input mesh not supported: " << Parameterizer::get_error_message(err) << std::endl;
// this is not a bug => do not set accumulated_fatal_err
break;
default: // Error
std::cerr << "Error: " << Parameterizer::get_error_message(err) << std::endl;
accumulated_fatal_err = EXIT_FAILURE;
break;
};
std::cerr << "Parameterization: " << task_timer.time() << " seconds." << std::endl << std::endl;
task_timer.reset();
//***************************************
// Least Squares Conformal Maps parameterization
// TAUCS solver (if installed)
//***************************************
std::cerr << "Least Squares Conformal Maps parameterization" << std::endl;
std::cerr << "TAUCS solver" << std::endl;
err = CGAL::parameterize(
mesh_patch,
CGAL::LSCM_parameterizer_3<
Mesh_patch_polyhedron,
CGAL::Two_vertices_parameterizer_3<Mesh_patch_polyhedron>,
CGAL::Taucs_symmetric_solver_traits<double>
>());
switch(err) {
case Parameterizer::OK: // Success
break;
case Parameterizer::ERROR_EMPTY_MESH: // Input mesh not supported
case Parameterizer::ERROR_NON_TRIANGULAR_MESH:
case Parameterizer::ERROR_NO_TOPOLOGICAL_DISC:
case Parameterizer::ERROR_BORDER_TOO_SHORT:
std::cerr << "Input mesh not supported: " << Parameterizer::get_error_message(err) << std::endl;
// this is not a bug => do not set accumulated_fatal_err
break;
default: // Error
std::cerr << "Error: " << Parameterizer::get_error_message(err) << std::endl;
accumulated_fatal_err = EXIT_FAILURE;
break;
};
std::cerr << "Parameterization: " << task_timer.time() << " seconds." << std::endl << std::endl;
task_timer.reset();
#else
std::cerr << "Skip TAUCS tests as TAUCS is not installed" << std::endl << std::endl;
// this is not a bug => do not set accumulated_fatal_err
#endif // CGAL_USE_TAUCS
#ifdef CGAL_EIGEN3_ENABLED
//***************************************

View File

@ -38,11 +38,6 @@ if(QT4_FOUND)
find_package(QGLViewer )
endif(QT4_FOUND)
# Find BLAS, LAPACK and TAUCS (optional), for Poisson
find_package(TAUCS)
# Find BLAS and LAPACK only (optional), for Jet Fitting
find_package(LAPACK)
# Find Eigen3 (requires 3.1.0 or greater)
find_package(Eigen3 3.1.0)
@ -55,28 +50,6 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
include_directories ( ${QGLVIEWER_INCLUDE_DIR} )
# Link with BLAS, LAPACK and TAUCS (optional), for Poisson
if(TAUCS_FOUND)
include( ${TAUCS_USE_FILE} )
else(TAUCS_FOUND)
message(STATUS "NOTICE: TAUCS library is not found.")
endif(TAUCS_FOUND)
if(EIGEN3_FOUND)
include( ${EIGEN3_USE_FILE} )
else()
message(STATUS "NOTICE: Eigen library is not found.")
endif()
# Link with BLAS and LAPACK only (optional), for Jet Fitting
if(LAPACK_FOUND)
include( ${LAPACK_USE_FILE} )
else(LAPACK_FOUND)
if (NOT EIGEN3_FOUND)
message(STATUS "NOTICE: Nor Eigen 3.1 (or greater) nor LAPACK library were found. Normal estimation and smoothing will not be available.")
endif()
endif(LAPACK_FOUND)
if(GLEW_FOUND)
include_directories ( ${GLEW_INCLUDE_DIR} )
add_definitions(-DCGAL_GLEW_ENABLED)
@ -86,10 +59,6 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
# VisualC++ optimization for applications dealing with large data
if (MSVC)
# Use /EHa option to catch stack overflows.
# Note: TAUCS needs a stack >= 2MB. CGAL default is 10MB.
string(REGEX REPLACE "/EH[asc]*" "/EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
# Use /FR to turn on IntelliSense
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FR")
@ -237,15 +206,26 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
target_link_libraries( ${plugin_name} ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )
endmacro(point_set_demo_plugin)
if(TAUCS_FOUND OR EIGEN3_FOUND)
if(EIGEN3_FOUND)
include( ${EIGEN3_USE_FILE} )
qt4_wrap_ui( POISSON_UI_FILES PS_demo_poisson_plugin.ui)
point_set_demo_plugin(PS_demo_poisson_plugin
PS_demo_poisson_plugin
PS_demo_poisson_plugin_cgal_code.cpp
${POISSON_UI_FILES})
target_link_libraries(PS_demo_poisson_plugin PS_demo_scene_polyhedron_item point_set)
point_set_demo_plugin(PS_demo_smoothing_plugin PS_demo_smoothing_plugin)
target_link_libraries(PS_demo_smoothing_plugin point_set)
qt4_wrap_ui( NORMAL_UI_FILES PS_demo_normal_estimation_plugin.ui)
point_set_demo_plugin(PS_demo_normal_estimation_plugin
PS_demo_normal_estimation_plugin
${NORMAL_UI_FILES})
target_link_libraries(PS_demo_normal_estimation_plugin point_set)
else()
message(STATUS "NOTICE: Neither TAUCS nor Eigen 3.1 (or greater) libraries have been found. Poisson reconstruction will not be available.")
message(STATUS "NOTICE: Eigen 3.1 (or greater) library has not been found. Poisson reconstruction, normal estimation and smoothing will not be available.")
endif()
point_set_demo_plugin(PS_demo_inside_out_plugin PS_demo_inside_out_plugin)
@ -269,19 +249,6 @@ if(CGAL_Qt4_FOUND AND QT4_FOUND AND OPENGL_FOUND AND QGLVIEWER_FOUND)
point_set_demo_plugin(PS_demo_average_spacing_plugin PS_demo_average_spacing_plugin)
target_link_libraries(PS_demo_average_spacing_plugin point_set)
if(LAPACK_FOUND OR EIGEN3_FOUND)
point_set_demo_plugin(PS_demo_smoothing_plugin PS_demo_smoothing_plugin)
target_link_libraries(PS_demo_smoothing_plugin point_set)
endif()
if(LAPACK_FOUND)
qt4_wrap_ui( NORMAL_UI_FILES PS_demo_normal_estimation_plugin.ui)
point_set_demo_plugin(PS_demo_normal_estimation_plugin
PS_demo_normal_estimation_plugin
${NORMAL_UI_FILES})
target_link_libraries(PS_demo_normal_estimation_plugin point_set)
endif()
qt4_wrap_ui( CLEANING_UI_FILES PS_demo_cleaning_plugin.ui)
point_set_demo_plugin(PS_demo_cleaning_plugin
PS_demo_cleaning_plugin

View File

@ -60,10 +60,6 @@ class PS_demo_poisson_plugin_dialog : public QDialog, private Ui::PoissonDialog
{
setupUi(this);
#ifdef CGAL_TAUCS_ENABLED
m_inputSolver->addItem("Taucs");
#endif
#ifdef CGAL_EIGEN3_ENABLED
m_inputSolver->addItem("Eigen - built-in simplicial LDLt");
m_inputSolver->addItem("Eigen - built-in CG");

View File

@ -17,9 +17,6 @@
#include <CGAL/Poisson_reconstruction_function.h>
#include <CGAL/compute_average_spacing.h>
#ifdef CGAL_TAUCS_ENABLED
#include <CGAL/Taucs_solver_traits.h>
#endif
#ifdef CGAL_EIGEN3_ENABLED
#include <CGAL/Eigen_solver_traits.h>
#endif
@ -98,25 +95,6 @@ Polyhedron* poisson_reconstruct(const Point_set& points,
);
bool ok = false;
#ifdef CGAL_TAUCS_ENABLED
if(solver_name=="Taucs")
{
// Creates sparse linear solver:
// TAUCS out-of-core Multifrontal Supernodal Cholesky Factorization
const char* OOC_SUPERNODAL_CHOLESKY_FACTORIZATION[] =
{
"taucs.factor.LLT=true",
"taucs.factor.mf=true",
"taucs.factor.ordering=metis",
"taucs.ooc=true", "taucs.ooc.basename=taucs-ooc",
NULL
};
unlink("taucs-ooc.0"); // make sure TAUCS ooc file does not exist
CGAL::Taucs_symmetric_solver_traits<double> solver(OOC_SUPERNODAL_CHOLESKY_FACTORIZATION);
ok = function.compute_implicit_function(solver);
}
#endif
#ifdef CGAL_EIGEN3_ENABLED
if(solver_name=="Eigen - built-in simplicial LDLt")

View File

@ -28,10 +28,6 @@ if ( CGAL_FOUND )
# VisualC++ optimization for applications dealing with large data
if (MSVC)
# Use /EHa option to catch stack overflows.
# Note: TAUCS needs a stack >= 2MB. CGAL default is 10MB.
string(REGEX REPLACE "/EH[asc]*" "/EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
# Use /FR to turn on IntelliSense
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FR")
@ -55,19 +51,14 @@ if ( CGAL_FOUND )
find_package(Eigen3 3.1.0)
if (EIGEN3_FOUND)
include( ${EIGEN3_USE_FILE} )
else()
find_package(TAUCS)
if(TAUCS_FOUND)
include( ${TAUCS_USE_FILE} )
endif(TAUCS_FOUND)
endif()
if (EIGEN3_FOUND OR TAUCS_FOUND)
# Executables that require Eigen 3 or TAUCS
if (EIGEN3_FOUND)
# Executables that require Eigen 3
create_single_source_cgal_program( "poisson_reconstruction_example.cpp" )
create_single_source_cgal_program( "poisson_reconstruction.cpp" )
else()
message(STATUS "NOTICE: The examples needs Eigen 3.1 (or greater) or the TAUCS library and will not be compiled.")
message(STATUS "NOTICE: The examples need Eigen 3.1 (or greater) will not be compiled.")
endif()

View File

@ -25,9 +25,6 @@
#include <CGAL/Point_with_normal_3.h>
#include <CGAL/IO/read_xyz_points.h>
#include <CGAL/compute_average_spacing.h>
#ifdef CGAL_TAUCS_ENABLED
#include <CGAL/Taucs_solver_traits.h>
#endif
#include "compute_normal.h"
@ -124,9 +121,6 @@ int main(int argc, char * argv[])
std::cerr << "Options:\n";
std::cerr << " -sm_radius <float> Radius upper bound (default=100 * average spacing)\n";
std::cerr << " -sm_distance <float> Distance upper bound (default=0.25 * average spacing)\n";
#if defined(CGAL_EIGEN3_ENABLED) && defined(CGAL_TAUCS_ENABLED)
std::cerr << " -solver eigen|taucs Sparse linear solver (default=eigen)\n";
#endif
return EXIT_FAILURE;
}
@ -135,15 +129,7 @@ int main(int argc, char * argv[])
FT sm_angle = 20.0; // Min triangle angle (degrees).
FT sm_radius = 100; // Max triangle size w.r.t. point set average spacing.
FT sm_distance = 0.25; // Approximation error w.r.t. point set average spacing.
#ifdef CGAL_EIGEN3_ENABLED
std::string solver_name = "eigen"; // Sparse linear solver name.
#else
#ifdef CGAL_TAUCS_ENABLED
std::string solver_name = "taucs"; // Sparse linear solver name.
#else
std::string solver_name = "no_solver_available";
#endif
#endif
double approximation_ratio = 0.02;
double average_spacing_ratio = 5;
@ -273,37 +259,6 @@ int main(int argc, char * argv[])
CGAL::make_normal_of_point_with_normal_pmap(PointList::value_type()),
visitor);
#ifdef CGAL_TAUCS_ENABLED
if (solver_name == "taucs")
{
std::cerr << "Use TAUCS out-of-core Multifrontal Supernodal Cholesky Factorization\n";
// Creates sparse linear solver:
// TAUCS out-of-core Multifrontal Supernodal Cholesky Factorization
const char* OOC_SUPERNODAL_CHOLESKY_FACTORIZATION[] =
{
"taucs.factor.LLT=true",
"taucs.factor.mf=true",
"taucs.factor.ordering=metis",
"taucs.ooc=true", "taucs.ooc.basename=taucs-ooc",
NULL
};
unlink("taucs-ooc.0"); // make sure TAUCS ooc file does not exist
CGAL::Taucs_symmetric_solver_traits<double> solver(OOC_SUPERNODAL_CHOLESKY_FACTORIZATION);
// Computes the Poisson indicator function f()
// at each vertex of the triangulation.
if ( ! function.compute_implicit_function(solver, visitor,
approximation_ratio,
average_spacing_ratio) )
{
std::cerr << "Error: cannot compute implicit function" << std::endl;
return EXIT_FAILURE;
}
}
else
#endif
#ifdef CGAL_EIGEN3_ENABLED
{
if (solver_name == "eigen")

View File

@ -38,9 +38,6 @@
#ifdef CGAL_EIGEN3_ENABLED
#include <CGAL/Eigen_solver_traits.h>
#else
#ifdef CGAL_TAUCS_ENABLED
#include <CGAL/Taucs_solver_traits.h>
#endif
#endif
#include <CGAL/centroid.h>
#include <CGAL/property_map.h>
@ -534,23 +531,12 @@ public:
}
/// \cond SKIP_IN_MANUAL
#ifdef CGAL_EIGEN3_ENABLED
// This variant provides the default sparse linear traits class = Eigen_solver_traits.
bool compute_implicit_function(bool smoother_hole_filling = false)
{
typedef Eigen_solver_traits<Eigen::ConjugateGradient<Eigen_sparse_symmetric_matrix<double>::EigenType> > Solver;
return compute_implicit_function<Solver>(Solver(), smoother_hole_filling);
}
#else
#ifdef CGAL_TAUCS_ENABLED
// This variant provides the default sparse linear traits class = Taucs_symmetric_solver_traits.
bool compute_implicit_function(bool smoother_hole_filling = false)
{
typedef Taucs_symmetric_solver_traits<double> Solver;
return compute_implicit_function<Solver>(Solver(), smoother_hole_filling);
}
#endif
#endif
boost::tuple<FT, Cell_handle, bool> special_func(const Point& p) const
{

View File

@ -27,10 +27,6 @@ if ( CGAL_FOUND )
# VisualC++ optimization for applications dealing with large data
if (MSVC)
# Use /EHa option to catch stack overflows.
# Note: TAUCS needs a stack >= 2MB. CGAL default is 10MB.
string(REGEX REPLACE "/EH[asc]*" "/EHa" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
# Use /FR to turn on IntelliSense
SET (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /FR")
@ -51,23 +47,15 @@ if ( CGAL_FOUND )
ADD_DEFINITIONS( "-DDEBUG_TRACE" ) # turn on traces
find_package(Eigen3 3.1.0) #(requires 3.1.0 or greater)
if (NOT EIGEN3_FOUND)
find_package(TAUCS)
if(TAUCS_FOUND)
include( ${TAUCS_USE_FILE} )
endif(TAUCS_FOUND)
else()
if(EIGEN3_FOUND)
include( ${EIGEN3_USE_FILE} )
endif()
if(EIGEN3_FOUND OR TAUCS_FOUND)
# Executables that require Eigen 3.1 or TAUCS (thus BLAS and LAPACK)
# Executables that require Eigen 3.1
create_single_source_cgal_program( "poisson_reconstruction_test.cpp" )
else()
message(STATUS "NOTICE: Some of the executables in this directory need Eigen 3.1 (or greater) or the TAUCS library and will not be compiled.")
message(STATUS "NOTICE: Some of the executables in this directory need Eigen 3.1 (or greater) and will not be compiled.")
endif()

View File

@ -19,7 +19,6 @@
!define ViaFTP
Var Platform
;Var IsTAUCSInstalled
!ifdef ViaFTP
!define DownloadOK "OK"
@ -59,27 +58,6 @@ Var Platform
!insertmacro DownloadFileFrom ${FTP_SRC} ${SRC_FOLDER} ${FILE} ${TGT}
!macroend
!macro Install_LAPACK_TAUCS_libs PLATFORM
; Headers are not platform dependent so we include this only once, but here since
; we want to download headers only if at least one lib variant was selected.
${If} $IsTAUCSInstalled = 0
StrCpy $IsTAUCSInstalled 1
!insertmacro DownloadFile "auxiliary/$Platform/TAUCS-CGAL-3.7/" "taucs.h.zip" "$INSTDIR\auxiliary\taucs\include"
!insertmacro DownloadFile "auxiliary/$Platform/TAUCS-CGAL-3.7/" "taucs_private.h.zip" "$INSTDIR\auxiliary\taucs\include"
!insertmacro DownloadFile "auxiliary/$Platform/TAUCS-CGAL-3.7/" "taucs_config_tests.h.zip" "$INSTDIR\auxiliary\taucs\include"
!insertmacro DownloadFile "auxiliary/$Platform/TAUCS-CGAL-3.7/" "taucs_config_build.h.zip" "$INSTDIR\auxiliary\taucs\include"
!insertmacro DownloadFile "auxiliary/$Platform/TAUCS-CGAL-3.7/" "blaswrap.h.zip" "$INSTDIR\auxiliary\taucs\include"
${If} "$Platform" == "win32"
!insertmacro DownloadFile "auxiliary/win32/TAUCS-CGAL-3.7/" "taucs-common.zip" "$INSTDIR\auxiliary\taucs\lib"
${Endif}
${Endif}
!insertmacro DownloadFile "auxiliary/${PLATFORM}/TAUCS-CGAL-3.7/" "taucs-libs.zip" "$INSTDIR\auxiliary\taucs\lib"
!macroend
!macro Install_GMP_MPFR_bin PLATFORM
!insertmacro DownloadFile "auxiliary/${PLATFORM}/GMP/5.0.1/" "gmp-all-CGAL-3.9.zip" "$INSTDIR\auxiliary\gmp"
!insertmacro DownloadFile "auxiliary/${PLATFORM}/MPFR/3.0.0/" "mpfr-all-CGAL-3.9.zip" "$INSTDIR\auxiliary\gmp"

View File

@ -229,17 +229,6 @@ Section "GMP and MPFR precompiled libs" GMP_LIB_Idx
SectionEnd
; Download and install LAPACK and TAUCSbinaries.
; Depend only on the platform (one variant per platform)
; Laurent Rineau, 2014/03/05: Remove TAUCS from the installer
;Section /o "LAPACK and TAUCS precompiled libs" TAUCS_LIB_Idx
; !ifndef FetchLocal
; !insertmacro Install_LAPACK_TAUCS_libs "$Platform"
; !endif
;SectionEnd
;--------------------------------
@ -305,7 +294,6 @@ SectionEnd
LangString DESC_MAIN ${LANG_ENGLISH} "The main components of the CGAL Library."
LangString DESC_SAMPLES ${LANG_ENGLISH} "The CGAL demos and examples, for which you need Qt 4 in order to build them (and Qt 3 for some)."
LangString DESC_GMP_LIB ${LANG_ENGLISH} "The precompiled GMP and MPFR libraries (needed for exact constructions)."
LangString DESC_TAUCS_LIB ${LANG_ENGLISH} "The precompiled LAPACK and TAUCS libraries."
LangString DESC_DOC ${LANG_ENGLISH} "The HTML manuals."
LangString DESC_ENVSET ${LANG_ENGLISH} "already set"
@ -314,8 +302,6 @@ SectionEnd
!insertmacro MUI_DESCRIPTION_TEXT ${MAIN_Idx} $(DESC_MAIN)
!insertmacro MUI_DESCRIPTION_TEXT ${SAMPLES_Idx} $(DESC_SAMPLES)
!insertmacro MUI_DESCRIPTION_TEXT ${GMP_LIB_Idx} $(DESC_GMP_LIB)
; Laurent Rineau, 2014/03/05: Remove TAUCS from the installer
; !insertmacro MUI_DESCRIPTION_TEXT ${TAUCS_LIB_Idx} $(DESC_TAUCS_LIB)
!insertmacro MUI_DESCRIPTION_TEXT ${DOC_Idx} $(DESC_DOC)
!insertmacro MUI_FUNCTION_DESCRIPTION_END