Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3
Chronological Thread
- From: Kim <>
- To:
- Subject: Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3
- Date: Sun, 20 Sep 2020 14:14:51 -0500 (CDT)
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=SoftFail ; spf=Pass
- Ironport-phdr: 9a23:7tCc8BUpuHcMrEMdzVjny2ZwdSTV8LGtZVwlr6E/grcLSJyIuqrYbBOAt8tkgFKBZ4jH8fUM07OQ7/m/HzVYqsnZ+DBaKdoQDkFD0Z1X1yUbQ+e9QXXhK/DrayFoVO9jb3RCu0+BDE5OBczlbEfTqHDhpRQbGxH4KBYnbr+tQt2agMu4zf299IPOaAtUmjW9falyLBKrpgnNq8Uam4RvJrszxxfTv3dEZ+tayGF0KVmOmxrw+tq88IRs/ihNuv8t7dJMXbn/c68lUbFWETMqPnwv6sb2rxfDVwyP5nUdUmUSjBVFBhXO4Q/5UJnsrCb0r/Jx1yaGM8L4S7A0Qimi4LxwSBD0kicHNiU2/3/Rh8dtka9UuhOhpxh4w47JfIGYMed1c63Bcd8GQ2dKQ8BcXDFDDIyhdYsCF+QPM+ZGoYf+pVQOowawCgawC+3g0TJImn370bEm3+g9DQ3KwgotFM8OvnTOq9X1Mb8fX+W0zKnN0D7OaPZW2Tbn5IfUdRAhu+uMUqx3ccbL1UkgCQbFjk2XqYz/JTyV0v8As2+G7+p8UeKvjGknqwJrrjezwccsj5DEi4QIwV/L6St32pw6JcGkSEFle96kFoNdujyeOodoXs4vQW9ltDg7x7EbuZC2fSoHxYkpyRPBZPGKbYaF7BztWeiRPDp1hHFodbK+ihuy70WtzvDwWtWo3VtMsyFLnN7MtnUX2BzS7MiKUv198V261jmU0wDc9PtILlwzlareLZMq370+loILvEjeGiL7nF/6gaGVe0k++eWl6v7rb7Tnq5KaKoR6kBvxMr40lcy6Gek4MhYBX2yc+emk0r3u8lf1QLNQgfItiabZtI7VKd4Hqa6+Bg9Zyocj6xChADe6yNkUgH0KIVZfdB+JjIXlIVLDLfHiAfq+glmgiDJryOrHPr3lDJXNNH/DkLL5cLZ46k5Q0hY8zddF55JOFL4BJ+j/WlPvu9zdFh85NBa0zPzjCNhm0YMeRH6PAqueMKPVsl+E/P4gI+6JZIMNojbyN+Al5+LyjX8+gVISYaap0oETaHyhA/tmIl6ZbmbxgtcaCmcHpRE+TezviF2aSzFffXeyX6Qm5jE6Eo2qF4nDRpr+yICGiSy0F5kTamFdAU2XCl/pcZ+FUrECcnG8OMhkxx8FUPD1To5n3ha0rgL9jaZqK/LT4CQcnZX+yNxy4O6VnhY3o28nR/+B2n2AGjkn1lgDQCU7ifgm/R5Nj2yb2K09uMR2UMRJ7qoSAAAnKZrbyO88ANf3CFqYL4W5DW2+S9DjOgkfC9c4wtsAeUF4Qo7wiQ3f2y2tAPkekLnZX8VpoJKZ5GD4IoNG81iD1KQliAB7EM0Tc2uvjKR7+k7YAIubykg=
Yes, I call poissonSurfaceReconstruction->compute_implicit_function() in a
non-parallel context.
Bellow I have added a minimal example that results in the assertion
violation when I compile it for parallel use but works fine when I compile
it for non-parallel use. Probably should have created and posted it from the
beginning, my apologies I didn't.
Input file: cylinder.xyz
<http://cgal-discuss.949826.n4.nabble.com/file/t376247/cylinder.xyz>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <CGAL/Poisson_reconstruction_function.h>
#include <CGAL/Point_with_normal_3.h>
#include <CGAL/property_map.h>
#include <CGAL/IO/read_xyz_points.h>
#include <CGAL/Labeled_mesh_domain_3.h>
#include <CGAL/Mesh_triangulation_3.h>
#include <CGAL/Mesh_complex_3_in_triangulation_3.h>
#include <CGAL/Mesh_criteria_3.h>
#include <CGAL/make_mesh_3.h>
#include <vector>
#include <algorithm>
#include <fstream>
#include <iostream>
#include <sstream>
typedef CGAL::Exact_predicates_inexact_constructions_kernel Kernel;
typedef Kernel::FT FT;
typedef Kernel::Point_3 Point_3;
typedef Kernel::Vector_3 Vector_3;
typedef Kernel::Sphere_3 Sphere_3;
typedef CGAL::Parallel_if_available_tag Concurrency_tag;
typedef std::pair<Point_3, Vector_3> Point_with_normal;
typedef std::vector<Point_with_normal> PointList;
typedef CGAL::Poisson_reconstruction_function<Kernel>
Poisson_reconstruction_function;
typedef CGAL::Labeled_mesh_domain_3<Kernel> Implicit_domain;
typedef CGAL::Mesh_triangulation_3<Implicit_domain, CGAL::Default,
Concurrency_tag>::type VTr;
typedef CGAL::Mesh_complex_3_in_triangulation_3<VTr> C3t3;
typedef CGAL::Mesh_criteria_3<VTr> Mesh_criteria;
int main(void) {
PointList points;
std::ifstream stream("cylinder.xyz");
if (!stream ||
!CGAL::read_xyz_points(stream, std::back_inserter(points),
CGAL::parameters::
point_map(CGAL::First_of_pair_property_map<Point_with_normal>()).
normal_map(CGAL::Second_of_pair_property_map<Point_with_normal>())))
{
std::cerr << "Error: cannot read file" << std::endl;
return EXIT_FAILURE;
}
// Create implicit function
Poisson_reconstruction_function *poissonSurfaceReconstruction;
poissonSurfaceReconstruction = NULL;
poissonSurfaceReconstruction = new Poisson_reconstruction_function(
points.begin(), points.end(),
CGAL::First_of_pair_property_map<Point_with_normal>(),
CGAL::Second_of_pair_property_map<Point_with_normal>());
// Computes the Poisson indicator function f().
if ( ! poissonSurfaceReconstruction->compute_implicit_function() )
throw "ERROR_POISSON_LINEAR_SOLVER_FAILED";
// Determine bounding box
CGAL::Bbox_3 boundingBox(-10, -10, -10, 10, 10, 10);
Implicit_domain domain = Implicit_domain::create_implicit_mesh_domain(
*poissonSurfaceReconstruction, boundingBox);
Mesh_criteria criteria(CGAL::parameters::facet_angle = 30,
CGAL::parameters::facet_size = 4,
CGAL::parameters::facet_distance = 0.1);
// Generate mesh
C3t3 c3t3 = CGAL::make_mesh_3<C3t3>(domain, criteria,
CGAL::parameters::manifold());
// Write output to .mesh file
std::ofstream medit_file("out.mesh");
c3t3.output_to_medit(medit_file);
medit_file.close();
delete(poissonSurfaceReconstruction);
return EXIT_SUCCESS;
}
And to give the complete picture, below the pertinent information regarding
the compilation:
g++ -ggdb -I./include -I/usr/include/eigen3 -I./libs/CGAL/CGAL-5.1/include
-I./libs/oneTBB/include/tbb -DTBBROOT=./libs/oneTBB/include/tbb
-DCGAL_CONCURRENT_MESH_3 -DCGAL_LINKED_WITH_TBB -c -o src/test_error.o
src/test_error.cpp
In file included from
./libs/CGAL/CGAL-5.1/include/CGAL/Mesh_3/Worksharing_data_structures.h:26,
from
./libs/CGAL/CGAL-5.1/include/CGAL/Mesh_3/Mesher_level.h:27,
from
./libs/CGAL/CGAL-5.1/include/CGAL/Mesh_3/Refine_facets_3.h:25,
from
./libs/CGAL/CGAL-5.1/include/CGAL/Mesh_3/Mesher_3.h:32,
from ./libs/CGAL/CGAL-5.1/include/CGAL/refine_mesh_3.h:28,
from ./libs/CGAL/CGAL-5.1/include/CGAL/make_mesh_3.h:26,
from src/test_error.cpp:11:
/usr/local/include/tbb/task.h:21:139: note: #pragma message: TBB Warning:
tbb/task.h is deprecated. For details, please see Deprecated Features
appendix in the TBB reference manual.
#pragma message("TBB Warning: tbb/task.h is deprecated. For details, please
see Deprecated Features appendix in the TBB reference manual.")
^
rm -rf main
g++ -ggdb -I./include -I/usr/include/eigen3 -I./libs/CGAL/CGAL-5.1/include
-I./libs/oneTBB/include/tbb -DTBBROOT=./libs/oneTBB/include/tbb
-DCGAL_CONCURRENT_MESH_3 -DCGAL_LINKED_WITH_TBB -o main src/test_error.o
-L./libs/oneTBB/build/linux_intel64_gcc_cc8.3.0_libc2.28_kernel4.4.0_release
-Wl,-rpath,./libs/oneTBB/build/linux_intel64_gcc_cc8.3.0_libc2.28_kernel4.4.0_release
-lgmp -lmpfr -frounding-math -lpthread -ltbb -ltbbmalloc
#rm -rf src/*.o
--
Sent from: http://cgal-discuss.949826.n4.nabble.com/
- [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Kim, 09/18/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Laurent Rineau (CGAL/GeometryFactory), 09/18/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Kim, 09/18/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Laurent Rineau (CGAL/GeometryFactory), 09/18/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Kim, 09/20/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Laurent Rineau (CGAL/GeometryFactory), 09/21/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Kim, 09/20/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Laurent Rineau (CGAL/GeometryFactory), 09/18/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Kim, 09/18/2020
- Re: [cgal-discuss] make_mesh_3 assertion violation in Triangulation_ds_cell_base_3, Laurent Rineau (CGAL/GeometryFactory), 09/18/2020
Archive powered by MHonArc 2.6.19+.