mirror of https://github.com/CGAL/cgal
renaming package to Kinetic_space_partition
This commit is contained in:
parent
9ed7ec2406
commit
c868c0fc91
|
|
@ -102,7 +102,7 @@
|
|||
\package_listing{Scale_space_reconstruction_3}
|
||||
\package_listing{Advancing_front_surface_reconstruction}
|
||||
\package_listing{Polygonal_surface_reconstruction}
|
||||
\package_listing{Kinetic_shape_partition}
|
||||
\package_listing{Kinetic_space_partition}
|
||||
\package_listing{Optimal_transportation_reconstruction_2}
|
||||
|
||||
\cgalPackageSection{PartGeometryProcessing,Geometry Processing}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
#ifndef CGAL_KSP_2_DATA_STRUCTURE_H
|
||||
#define CGAL_KSP_2_DATA_STRUCTURE_H
|
||||
|
||||
#include <CGAL/license/Kinetic_shape_partition.h>
|
||||
#include <CGAL/license/Kinetic_space_partition.h>
|
||||
|
||||
#include <CGAL/KSP/utils.h>
|
||||
#include <CGAL/KSP_2/Support_line.h>
|
||||
|
|
@ -38,11 +38,11 @@ public:
|
|||
typedef typename Kernel::Line_2 Line_2;
|
||||
typedef typename Kernel::Segment_2 Segment_2;
|
||||
|
||||
typedef KSP_2::Support_line<Kernel> Support_line;
|
||||
typedef KSP_2::Segment Segment;
|
||||
typedef KSP_2::Vertex<FT> Vertex;
|
||||
typedef Support_line<Kernel> Support_line;
|
||||
typedef Segment Segment;
|
||||
typedef Vertex<FT> Vertex;
|
||||
|
||||
typedef KSP_2::Meta_vertex<Point_2> Meta_vertex;
|
||||
typedef Meta_vertex<Point_2> Meta_vertex;
|
||||
|
||||
typedef std::vector<Support_line> Support_lines;
|
||||
typedef std::vector<Segment> Segments;
|
||||
|
|
@ -460,7 +460,7 @@ public:
|
|||
for (std::size_t i = 0; i < 4; ++i)
|
||||
{
|
||||
Point_2 point;
|
||||
if (!KSP::intersection(m_support_lines[i].line(), m_support_lines.back().line(), point))
|
||||
if (!KSP::internal::intersection(m_support_lines[i].line(), m_support_lines.back().line(), point))
|
||||
continue;
|
||||
|
||||
FT position = m_support_lines.back().to_1d(point);
|
||||
|
|
|
|||
|
|
@ -13,15 +13,13 @@
|
|||
#ifndef CGAL_KSP_2_EVENT_H
|
||||
#define CGAL_KSP_2_EVENT_H
|
||||
|
||||
#include <CGAL/license/Kinetic_shape_partition.h>
|
||||
#include <CGAL/license/Kinetic_space_partition.h>
|
||||
|
||||
#include <CGAL/KSP/utils.h>
|
||||
|
||||
namespace CGAL
|
||||
{
|
||||
|
||||
namespace KSP_2
|
||||
{
|
||||
namespace CGAL {
|
||||
namespace KSP_2 {
|
||||
namespace internal {
|
||||
|
||||
template <typename GeomTraits>
|
||||
class Event_queue;
|
||||
|
|
@ -45,10 +43,10 @@ private:
|
|||
|
||||
public:
|
||||
|
||||
Event () { }
|
||||
Event() { }
|
||||
|
||||
Event (std::size_t vertex_idx, std::size_t meta_vertex_idx, FT time)
|
||||
: m_vertex_idx (vertex_idx), m_meta_vertex_idx (meta_vertex_idx), m_time (time)
|
||||
Event(std::size_t vertex_idx, std::size_t meta_vertex_idx, FT time)
|
||||
: m_vertex_idx(vertex_idx), m_meta_vertex_idx(meta_vertex_idx), m_time(time)
|
||||
{ }
|
||||
|
||||
const std::size_t& vertex_idx() const { return m_vertex_idx; }
|
||||
|
|
@ -61,14 +59,15 @@ public:
|
|||
friend std::ostream& operator<< (std::ostream& os, const Event& ev)
|
||||
{
|
||||
os << "Event at t=" << ev.m_time << " between vertex " << ev.m_vertex_idx
|
||||
<< " and meta vertex " << ev.m_meta_vertex_idx;
|
||||
<< " and meta vertex " << ev.m_meta_vertex_idx;
|
||||
return os;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
}} // namespace CGAL::KSP_2
|
||||
} // namespace internal
|
||||
} // namespace KSP_2
|
||||
} // namespace CGAL
|
||||
|
||||
|
||||
#endif // CGAL_KSP_2_EVENT_H
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
#ifndef CGAL_KSP_2_EVENT_QUEUE_H
|
||||
#define CGAL_KSP_2_EVENT_QUEUE_H
|
||||
|
||||
#include <CGAL/license/Kinetic_shape_partition.h>
|
||||
#include <CGAL/license/Kinetic_space_partition.h>
|
||||
|
||||
#include <CGAL/KSP/utils.h>
|
||||
#include <CGAL/KSP_2/Event.h>
|
||||
|
|
@ -23,11 +23,9 @@
|
|||
#include <boost/multi_index/identity.hpp>
|
||||
#include <boost/multi_index/member.hpp>
|
||||
|
||||
namespace CGAL
|
||||
{
|
||||
|
||||
namespace KSP_2
|
||||
{
|
||||
namespace CGAL {
|
||||
namespace KSP_2 {
|
||||
namespace internal {
|
||||
|
||||
template <typename GeomTraits>
|
||||
class Event_queue
|
||||
|
|
@ -36,19 +34,19 @@ public:
|
|||
typedef GeomTraits Kernel;
|
||||
typedef typename Kernel::FT FT;
|
||||
|
||||
typedef KSP_2::Event<GeomTraits> Event;
|
||||
typedef Event<GeomTraits> Event;
|
||||
|
||||
private:
|
||||
|
||||
typedef boost::multi_index_container
|
||||
<Event,
|
||||
boost::multi_index::indexed_by<
|
||||
boost::multi_index::ordered_non_unique
|
||||
<boost::multi_index::member<Event, FT, &Event::m_time> >,
|
||||
boost::multi_index::ordered_non_unique
|
||||
<boost::multi_index::member<Event, std::size_t, &Event::m_vertex_idx> >
|
||||
>
|
||||
> Queue;
|
||||
<Event,
|
||||
boost::multi_index::indexed_by<
|
||||
boost::multi_index::ordered_non_unique
|
||||
<boost::multi_index::member<Event, FT, &Event::m_time> >,
|
||||
boost::multi_index::ordered_non_unique
|
||||
<boost::multi_index::member<Event, std::size_t, &Event::m_vertex_idx> >
|
||||
>
|
||||
> Queue;
|
||||
|
||||
typedef typename Queue::iterator Queue_iterator;
|
||||
typedef typename Queue::template nth_index<0>::type Queue_by_time;
|
||||
|
|
@ -65,9 +63,9 @@ public:
|
|||
bool empty() const { return m_queue.empty(); }
|
||||
std::size_t size() const { return m_queue.size(); }
|
||||
|
||||
void push (const Event& ev)
|
||||
void push(const Event& ev)
|
||||
{
|
||||
m_queue.insert (ev);
|
||||
m_queue.insert(ev);
|
||||
}
|
||||
|
||||
const Queue_by_time& queue_by_time() const { return m_queue.template get<0>(); }
|
||||
|
|
@ -75,7 +73,7 @@ public:
|
|||
Queue_by_time& queue_by_time() { return m_queue.template get<0>(); }
|
||||
Queue_by_event_idx& queue_by_event_idx() { return m_queue.template get<1>(); }
|
||||
|
||||
Event pop ()
|
||||
Event pop()
|
||||
{
|
||||
Queue_iterator iter = queue_by_time().begin();
|
||||
Event out = *iter;
|
||||
|
|
@ -89,19 +87,20 @@ public:
|
|||
std::cerr << e << std::endl;
|
||||
}
|
||||
|
||||
void erase_vertex_events (std::size_t vertex_idx, std::vector<Event>& events)
|
||||
void erase_vertex_events(std::size_t vertex_idx, std::vector<Event>& events)
|
||||
{
|
||||
std::pair<Queue_by_event_idx_iterator, Queue_by_event_idx_iterator>
|
||||
range = queue_by_event_idx().equal_range(vertex_idx);
|
||||
|
||||
std::copy (range.first, range.second, std::back_inserter (events));
|
||||
queue_by_event_idx().erase (range.first, range.second);
|
||||
std::copy(range.first, range.second, std::back_inserter(events));
|
||||
queue_by_event_idx().erase(range.first, range.second);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
}} // namespace CGAL::KSP_2
|
||||
} // namespace internal
|
||||
} // namespace KSP_2
|
||||
} // namespace CGAL
|
||||
|
||||
|
||||
#endif // CGAL_KSP_2_EVENT_QUEUE_H
|
||||
|
|
|
|||
|
|
@ -13,16 +13,14 @@
|
|||
#ifndef CGAL_KSP_2_META_VERTEX_H
|
||||
#define CGAL_KSP_2_META_VERTEX_H
|
||||
|
||||
#include <CGAL/license/Kinetic_shape_partition.h>
|
||||
#include <CGAL/license/Kinetic_space_partition.h>
|
||||
|
||||
#include <CGAL/KSP/utils.h>
|
||||
#include <set>
|
||||
|
||||
namespace CGAL
|
||||
{
|
||||
|
||||
namespace KSP_2
|
||||
{
|
||||
namespace CGAL {
|
||||
namespace KSP_2 {
|
||||
namespace internal {
|
||||
|
||||
template <typename Point_2>
|
||||
class Meta_vertex
|
||||
|
|
@ -36,29 +34,36 @@ private:
|
|||
|
||||
public:
|
||||
|
||||
Meta_vertex () { }
|
||||
Meta_vertex() { }
|
||||
|
||||
Meta_vertex (const Point_2& point) : m_point (point) { }
|
||||
Meta_vertex(const Point_2& point) : m_point(point) { }
|
||||
|
||||
const Point_2& point() const { return m_point; }
|
||||
|
||||
const std::set<std::size_t>& support_lines_idx() const { return m_support_lines_idx; }
|
||||
std::set<std::size_t>& support_lines_idx() { return m_support_lines_idx; }
|
||||
|
||||
void make_deadend_of (std::size_t support_line_idx)
|
||||
{ m_deadends.insert (support_line_idx); }
|
||||
void make_deadend_of(std::size_t support_line_idx)
|
||||
{
|
||||
m_deadends.insert(support_line_idx);
|
||||
}
|
||||
|
||||
bool is_deadend_of (std::size_t support_line_idx) const
|
||||
{ return m_deadends.find(support_line_idx) != m_deadends.end(); }
|
||||
bool is_deadend_of(std::size_t support_line_idx) const
|
||||
{
|
||||
return m_deadends.find(support_line_idx) != m_deadends.end();
|
||||
}
|
||||
|
||||
void make_no_longer_deadend_of (std::size_t support_line_idx)
|
||||
{ m_deadends.erase (support_line_idx); }
|
||||
void make_no_longer_deadend_of(std::size_t support_line_idx)
|
||||
{
|
||||
m_deadends.erase(support_line_idx);
|
||||
}
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
}} // namespace CGAL::KSP_2
|
||||
} // namespace internal
|
||||
} // namespace KSP_2
|
||||
} // namespace CGAL
|
||||
|
||||
|
||||
#endif // CGAL_KSP_2_META_VERTEX_H
|
||||
|
|
|
|||
|
|
@ -13,13 +13,11 @@
|
|||
#ifndef CGAL_KSP_2_SEGMENT_H
|
||||
#define CGAL_KSP_2_SEGMENT_H
|
||||
|
||||
#include <CGAL/license/Kinetic_shape_partition.h>
|
||||
#include <CGAL/license/Kinetic_space_partition.h>
|
||||
|
||||
namespace CGAL
|
||||
{
|
||||
|
||||
namespace KSP_2
|
||||
{
|
||||
namespace CGAL {
|
||||
namespace KSP_2 {
|
||||
namespace internal {
|
||||
|
||||
class Segment
|
||||
{
|
||||
|
|
@ -32,10 +30,10 @@ private:
|
|||
|
||||
public:
|
||||
|
||||
Segment () { }
|
||||
Segment() { }
|
||||
|
||||
Segment (std::size_t input_idx, std::size_t support_line_idx)
|
||||
: m_input_idx (input_idx), m_support_line_idx (support_line_idx) { }
|
||||
Segment(std::size_t input_idx, std::size_t support_line_idx)
|
||||
: m_input_idx(input_idx), m_support_line_idx(support_line_idx) { }
|
||||
|
||||
const std::size_t& input_idx() const { return m_input_idx; }
|
||||
std::size_t& input_idx() { return m_input_idx; }
|
||||
|
|
@ -47,8 +45,9 @@ public:
|
|||
std::size_t& support_line_idx() { return m_support_line_idx; }
|
||||
};
|
||||
|
||||
|
||||
}} // namespace CGAL::KSP_2
|
||||
} // namespace internal
|
||||
} // namespace KSP_2
|
||||
} // namespace CGAL
|
||||
|
||||
|
||||
#endif // CGAL_KSP_2_POLYGON_H
|
||||
|
|
|
|||
|
|
@ -13,16 +13,14 @@
|
|||
#ifndef CGAL_KSP_2_SUPPORT_LINE_H
|
||||
#define CGAL_KSP_2_SUPPORT_LINE_H
|
||||
|
||||
#include <CGAL/license/Kinetic_shape_partition.h>
|
||||
#include <CGAL/license/Kinetic_space_partition.h>
|
||||
|
||||
#include <CGAL/KSP/utils.h>
|
||||
#include <CGAL/KSP_2/Vertex.h>
|
||||
|
||||
namespace CGAL
|
||||
{
|
||||
|
||||
namespace KSP_2
|
||||
{
|
||||
namespace CGAL {
|
||||
namespace KSP_2 {
|
||||
namespace internal {
|
||||
|
||||
template <typename GeomTraits>
|
||||
class Support_line
|
||||
|
|
@ -47,18 +45,18 @@ private:
|
|||
|
||||
public:
|
||||
|
||||
Support_line () { }
|
||||
Support_line() { }
|
||||
|
||||
Support_line (const Segment_2& segment)
|
||||
: m_minimum ((std::numeric_limits<FT>::max)())
|
||||
, m_maximum (-(std::numeric_limits<FT>::max)())
|
||||
Support_line(const Segment_2& segment)
|
||||
: m_minimum((std::numeric_limits<FT>::max)())
|
||||
, m_maximum(-(std::numeric_limits<FT>::max)())
|
||||
, m_connected_components(1)
|
||||
{
|
||||
m_origin = CGAL::midpoint (segment.source(), segment.target());
|
||||
m_vector = KSP::normalize (Vector_2 (segment.source(), segment.target()));
|
||||
m_origin = CGAL::midpoint(segment.source(), segment.target());
|
||||
m_vector = KSP::internal::normalize(Vector_2(segment.source(), segment.target()));
|
||||
}
|
||||
|
||||
Line_2 line() const { return Line_2 (m_origin, m_vector); }
|
||||
Line_2 line() const { return Line_2(m_origin, m_vector); }
|
||||
|
||||
const Point_2& origin() const { return m_origin; }
|
||||
const Vector_2& vector() const { return m_vector; }
|
||||
|
|
@ -73,14 +71,14 @@ public:
|
|||
|
||||
CGAL::Bbox_2 bbox() const
|
||||
{
|
||||
Point_2 pmin = to_2d (m_minimum);
|
||||
Point_2 pmax = to_2d (m_maximum);
|
||||
Point_2 pmin = to_2d(m_minimum);
|
||||
Point_2 pmax = to_2d(m_maximum);
|
||||
return pmin.bbox() + pmax.bbox();
|
||||
}
|
||||
|
||||
Segment_2 segment_2() const
|
||||
{
|
||||
return Segment_2 (to_2d (m_minimum), to_2d (m_maximum));
|
||||
return Segment_2(to_2d(m_minimum), to_2d(m_maximum));
|
||||
}
|
||||
|
||||
const std::vector<std::size_t>& segments_idx() const { return m_segments_idx; }
|
||||
|
|
@ -89,12 +87,12 @@ public:
|
|||
const std::vector<std::size_t>& meta_vertices_idx() const { return m_meta_vertices_idx; }
|
||||
std::vector<std::size_t>& meta_vertices_idx() { return m_meta_vertices_idx; }
|
||||
|
||||
FT to_1d (const Point_2& point) const
|
||||
FT to_1d(const Point_2& point) const
|
||||
{
|
||||
return m_vector * Vector_2 (m_origin, point);
|
||||
return m_vector * Vector_2(m_origin, point);
|
||||
}
|
||||
|
||||
Point_2 to_2d (const FT& point) const { return m_origin + point * m_vector; }
|
||||
Point_2 to_2d(const FT& point) const { return m_origin + point * m_vector; }
|
||||
|
||||
};
|
||||
|
||||
|
|
@ -107,7 +105,7 @@ bool operator== (const Support_line<Kernel>& a, const Support_line<Kernel>& b)
|
|||
if (CGAL::abs(va * vb) < 0.99999)
|
||||
return false;
|
||||
|
||||
return (CGAL::approximate_sqrt(CGAL::squared_distance (b.origin(), a.line())) < 1e-10);
|
||||
return (CGAL::approximate_sqrt(CGAL::squared_distance(b.origin(), a.line())) < 1e-10);
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -115,13 +113,15 @@ bool operator== (const Support_line<Kernel>& a, const Support_line<Kernel>& b)
|
|||
template <>
|
||||
bool operator==<CGAL::Exact_predicates_exact_constructions_kernel>
|
||||
(const Support_line<CGAL::Exact_predicates_exact_constructions_kernel>& a,
|
||||
const Support_line<CGAL::Exact_predicates_exact_constructions_kernel>& b)
|
||||
const Support_line<CGAL::Exact_predicates_exact_constructions_kernel>& b)
|
||||
{
|
||||
return (a.line() == b.line());
|
||||
}
|
||||
#endif
|
||||
|
||||
}} // namespace CGAL::KSP_2
|
||||
} // namespace internal
|
||||
} // namespace KSP_2
|
||||
} // namespace CGAL
|
||||
|
||||
|
||||
#endif // CGAL_KSP_2_SUPPORT_LINE_H
|
||||
|
|
|
|||
|
|
@ -13,15 +13,13 @@
|
|||
#ifndef CGAL_KSP_2_VERTEX_H
|
||||
#define CGAL_KSP_2_VERTEX_H
|
||||
|
||||
#include <CGAL/license/Kinetic_shape_partition.h>
|
||||
#include <CGAL/license/Kinetic_space_partition.h>
|
||||
|
||||
#include <CGAL/KSP/utils.h>
|
||||
|
||||
namespace CGAL
|
||||
{
|
||||
|
||||
namespace KSP_2
|
||||
{
|
||||
namespace CGAL {
|
||||
namespace KSP_2 {
|
||||
namespace internal {
|
||||
|
||||
template <typename FT>
|
||||
class Vertex
|
||||
|
|
@ -36,16 +34,16 @@ private:
|
|||
|
||||
public:
|
||||
|
||||
Vertex () { }
|
||||
Vertex() { }
|
||||
|
||||
Vertex (FT point,
|
||||
std::size_t segment_idx = KSP::no_element(),
|
||||
unsigned int remaining_intersections = 0)
|
||||
: m_point (point)
|
||||
, m_direction (0)
|
||||
, m_segment_idx (segment_idx)
|
||||
Vertex(FT point,
|
||||
std::size_t segment_idx = std::size_t(-1),
|
||||
unsigned int remaining_intersections = 0)
|
||||
: m_point(point)
|
||||
, m_direction(0)
|
||||
, m_segment_idx(segment_idx)
|
||||
, m_remaining_intersections(remaining_intersections)
|
||||
, m_meta_vertex_idx (KSP::no_element())
|
||||
, m_meta_vertex_idx(std::size_t(-1))
|
||||
{
|
||||
}
|
||||
|
||||
|
|
@ -55,7 +53,7 @@ public:
|
|||
FT point(FT time) const { return m_point + time * m_direction; }
|
||||
const FT& direction() const { return m_direction; }
|
||||
FT& direction() { return m_direction; }
|
||||
FT speed() const { return CGAL::abs (m_direction); }
|
||||
FT speed() const { return CGAL::abs(m_direction); }
|
||||
|
||||
const unsigned int& remaining_intersections() const { return m_remaining_intersections; }
|
||||
unsigned int& remaining_intersections() { return m_remaining_intersections; }
|
||||
|
|
@ -74,15 +72,15 @@ public:
|
|||
friend std::ostream& operator<< (std::ostream& os, const Vertex& vertex)
|
||||
{
|
||||
os << "vertex(" << vertex.m_point << "," << vertex.m_direction << ") on segment " << vertex.m_segment_idx
|
||||
<< " and meta vertex " << vertex.meta_vertex_idx() << " with "
|
||||
<< vertex.m_remaining_intersections << " remaining intersection(s)";
|
||||
<< " and meta vertex " << vertex.meta_vertex_idx() << " with "
|
||||
<< vertex.m_remaining_intersections << " remaining intersection(s)";
|
||||
return os;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
|
||||
}} // namespace CGAL::KSP_2
|
||||
|
||||
} // namespace internal
|
||||
} // namespace KSP_2
|
||||
} // namespace CGAL
|
||||
|
||||
#endif // CGAL_KSP_2_VERTEX_H
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -10,10 +10,10 @@
|
|||
//
|
||||
// Author(s) : Simon Giraudot
|
||||
|
||||
#ifndef CGAL_KINETIC_SHAPE_RECONSTRUCTION_2_H
|
||||
#define CGAL_KINETIC_SHAPE_PARTITION_2_H
|
||||
#ifndef CGAL_KINETIC_SPACE_PARTITION_2_H
|
||||
#define CGAL_KINETIC_SPACE_PARTITION_2_H
|
||||
|
||||
#include <CGAL/license/Kinetic_shape_partition.h>
|
||||
#include <CGAL/license/Kinetic_space_partition.h>
|
||||
|
||||
#include <CGAL/box_intersection_d.h>
|
||||
|
||||
|
|
@ -30,7 +30,7 @@ namespace CGAL
|
|||
{
|
||||
|
||||
template <typename GeomTraits>
|
||||
class Kinetic_shape_partition_2
|
||||
class Kinetic_space_partition_2
|
||||
{
|
||||
public:
|
||||
|
||||
|
|
@ -43,15 +43,15 @@ public:
|
|||
typedef typename Kernel::Ray_2 Ray_2;
|
||||
typedef typename Kernel::Vector_2 Vector_2;
|
||||
|
||||
typedef KSP_2::Data_structure<Kernel> Data;
|
||||
typedef KSP_2::internal::Data_structure<Kernel> Data;
|
||||
typedef typename Data::Support_line Support_line;
|
||||
typedef typename Data::Segment Segment;
|
||||
typedef typename Data::Vertex Vertex;
|
||||
|
||||
typedef typename Data::Meta_vertex Meta_vertex;
|
||||
|
||||
typedef KSP_2::Event<Kernel> Event;
|
||||
typedef KSP_2::Event_queue<Kernel> Event_queue;
|
||||
typedef KSP_2::internal::Event<Kernel> Event;
|
||||
typedef KSP_2::internal::Event_queue<Kernel> Event_queue;
|
||||
|
||||
private:
|
||||
|
||||
|
|
@ -60,7 +60,7 @@ private:
|
|||
|
||||
public:
|
||||
|
||||
Kinetic_shape_partition_2() {}
|
||||
Kinetic_space_partition_2() {}
|
||||
|
||||
template <typename SegmentRange, typename SegmentMap>
|
||||
void partition (const SegmentRange& segments, SegmentMap segment_map,
|
||||
|
|
@ -124,7 +124,7 @@ public:
|
|||
const Support_line& support_line = m_data.support_line(i);
|
||||
for (std::size_t s : support_line.segments_idx())
|
||||
{
|
||||
if (s == KSP::no_element())
|
||||
if (s == std::size_t(-1))
|
||||
{
|
||||
if (verbose)
|
||||
std::cerr << "ERROR: Support_line[" << i
|
||||
|
|
@ -162,21 +162,21 @@ public:
|
|||
{
|
||||
const Segment& segment = m_data.segment(i);
|
||||
|
||||
if (segment.source_idx() == KSP::no_element())
|
||||
if (segment.source_idx() == std::size_t(-1))
|
||||
{
|
||||
if (verbose)
|
||||
std::cerr << "ERROR: Segment[" << i
|
||||
<< "] has source Vertex[-1]" << std::endl;
|
||||
return false;
|
||||
}
|
||||
if (segment.target_idx() == KSP::no_element())
|
||||
if (segment.target_idx() == std::size_t(-1))
|
||||
{
|
||||
if (verbose)
|
||||
std::cerr << "ERROR: Segment[" << i
|
||||
<< "] has source Vertex[-1]" << std::endl;
|
||||
return false;
|
||||
}
|
||||
if (segment.support_line_idx() == KSP::no_element())
|
||||
if (segment.support_line_idx() == std::size_t(-1))
|
||||
{
|
||||
if (verbose)
|
||||
std::cerr << "ERROR: Segment[" << i
|
||||
|
|
@ -209,8 +209,8 @@ public:
|
|||
<< "] acting both as source and target" << std::endl;
|
||||
return false;
|
||||
}
|
||||
if (m_data.source_of_segment(segment).meta_vertex_idx() != KSP::no_element()
|
||||
&& m_data.target_of_segment(segment).meta_vertex_idx() != KSP::no_element()
|
||||
if (m_data.source_of_segment(segment).meta_vertex_idx() != std::size_t(-1)
|
||||
&& m_data.target_of_segment(segment).meta_vertex_idx() != std::size_t(-1)
|
||||
&& m_data.source_of_segment(segment).meta_vertex_idx() == m_data.target_of_segment(segment).meta_vertex_idx())
|
||||
{
|
||||
if (verbose)
|
||||
|
|
@ -261,14 +261,14 @@ public:
|
|||
{
|
||||
const Vertex& vertex = m_data.vertex(i);
|
||||
|
||||
if (vertex.segment_idx() == KSP::no_element())
|
||||
if (vertex.segment_idx() == std::size_t(-1))
|
||||
{
|
||||
if (verbose)
|
||||
std::cerr << "ERROR: Vertex[" << i
|
||||
<< "] is on Segment[-1]" << std::endl;
|
||||
return false;
|
||||
}
|
||||
// if (vertex.meta_vertex_idx() == KSP::no_element())
|
||||
// if (vertex.meta_vertex_idx() == std::size_t(-1))
|
||||
// {
|
||||
// if (verbose)
|
||||
// std::cerr << "ERROR: Vertex[" << i
|
||||
|
|
@ -618,7 +618,7 @@ private:
|
|||
!= m_data.segment(segment_idx_b).support_line_idx());
|
||||
|
||||
Point_2 point;
|
||||
if (!KSP::intersection(segments_2[segment_idx_a], segments_2[segment_idx_b], point))
|
||||
if (!KSP::internal::intersection(segments_2[segment_idx_a], segments_2[segment_idx_b], point))
|
||||
return;
|
||||
|
||||
todo.push_back (std::make_tuple (point,
|
||||
|
|
@ -712,7 +712,7 @@ private:
|
|||
continue;
|
||||
|
||||
Point_2 point;
|
||||
if (!KSP::intersection(si, segments_2[segment_idx], point))
|
||||
if (!KSP::internal::intersection(si, segments_2[segment_idx], point))
|
||||
continue;
|
||||
|
||||
Support_line& sli = m_data.support_line_of_vertex(vertex);
|
||||
|
|
@ -896,7 +896,7 @@ private:
|
|||
m_data.vertex(ev.vertex_idx()).remaining_intersections() --;
|
||||
|
||||
// If there are still intersections to be made, propagate
|
||||
std::size_t new_vertex_idx = KSP::no_element();
|
||||
std::size_t new_vertex_idx = std::size_t(-1);
|
||||
if (m_data.vertex(ev.vertex_idx()).remaining_intersections() != 0)
|
||||
new_vertex_idx = m_data.propagate_segment (ev.vertex_idx());
|
||||
else
|
||||
|
|
@ -912,7 +912,7 @@ private:
|
|||
std::vector<Event> events;
|
||||
m_queue.erase_vertex_events (old_vertex, events);
|
||||
|
||||
if (new_vertex != KSP::no_element())
|
||||
if (new_vertex != std::size_t(-1))
|
||||
for (Event& ev : events)
|
||||
{
|
||||
ev.vertex_idx() = new_vertex;
|
||||
|
|
@ -934,13 +934,13 @@ private:
|
|||
|
||||
CGAL_assertion (support_line.meta_vertices_idx().size() > 1);
|
||||
|
||||
std::size_t beginning = KSP::no_element();
|
||||
std::size_t end = KSP::no_element();
|
||||
std::size_t beginning = std::size_t(-1);
|
||||
std::size_t end = std::size_t(-1);
|
||||
|
||||
for (std::size_t segment_idx : support_line.segments_idx())
|
||||
{
|
||||
// New segment
|
||||
if (beginning == KSP::no_element())
|
||||
if (beginning == std::size_t(-1))
|
||||
{
|
||||
beginning = m_data.source_of_segment(segment_idx).meta_vertex_idx();
|
||||
end = m_data.target_of_segment(segment_idx).meta_vertex_idx();
|
||||
|
|
@ -974,4 +974,4 @@ private:
|
|||
} // namespace CGAL
|
||||
|
||||
|
||||
#endif // CGAL_KINETIC_SHAPE_RECONSTRUCTION_2_H
|
||||
#endif // CGAL_KINETIC_SPACE_PARTITION_2_H
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
#include <CGAL/Real_timer.h>
|
||||
#include <CGAL/Surface_mesh.h>
|
||||
#include <CGAL/Aff_transformation_2.h>
|
||||
#include <CGAL/Kinetic_shape_partition_2.h>
|
||||
#include <CGAL/Kinetic_space_partition_2.h>
|
||||
|
||||
using SC = CGAL::Simple_cartesian<double>;
|
||||
using EPECK = CGAL::Exact_predicates_exact_constructions_kernel;
|
||||
|
|
@ -23,8 +23,8 @@ using Transform = CGAL::Aff_transformation_2<EPECK>;
|
|||
using Random = CGAL::Random;
|
||||
using Mesh = CGAL::Surface_mesh<Point_2>;
|
||||
|
||||
using Exact_reconstruction = CGAL::Kinetic_shape_partition_2<EPECK>;
|
||||
using Inexact_reconstruction = CGAL::Kinetic_shape_partition_2<EPICK>;
|
||||
using Exact_reconstruction = CGAL::Kinetic_space_partition_2<EPECK>;
|
||||
using Inexact_reconstruction = CGAL::Kinetic_space_partition_2<EPICK>;
|
||||
|
||||
Random cgal_rand;
|
||||
|
||||
|
|
@ -130,7 +130,7 @@ void test_segments(
|
|||
std::vector<typename Kernel::Segment_2> segments;
|
||||
get_segments_from_exact<Kernel>(exact_segments, segments);
|
||||
|
||||
CGAL::Kinetic_shape_partition_2<Kernel> ksp;
|
||||
CGAL::Kinetic_space_partition_2<Kernel> ksp;
|
||||
ksp.partition(segments, CGAL::Identity_property_map<typename Kernel::Segment_2>(), k, 2);
|
||||
segments.clear();
|
||||
ksp.output_partition_edges_to_segment_soup(std::back_inserter(segments));
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#include <CGAL/Simple_cartesian.h>
|
||||
#include <CGAL/Exact_predicates_exact_constructions_kernel.h>
|
||||
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
|
||||
#include <CGAL/Kinetic_shape_partition_3.h>
|
||||
#include <CGAL/Kinetic_space_partition_3.h>
|
||||
#include <CGAL/Real_timer.h>
|
||||
#include <CGAL/IO/OFF.h>
|
||||
#include <CGAL/IO/PLY.h>
|
||||
|
|
@ -19,7 +19,7 @@ bool run_test(
|
|||
const std::vector<std::vector<unsigned int> >& results) {
|
||||
|
||||
using Point_3 = typename Kernel::Point_3;
|
||||
using KSP = CGAL::Kinetic_shape_partition_3<Kernel>;
|
||||
using KSP = CGAL::Kinetic_space_partition_3<Kernel>;
|
||||
|
||||
std::string filename = input_filename;
|
||||
std::ifstream input_file_off(filename);
|
||||
|
|
@ -38,13 +38,12 @@ bool run_test(
|
|||
|
||||
std::cout << input_filename << std::endl;
|
||||
|
||||
KSP ksp(CGAL::parameters::verbose(true).debug(true));
|
||||
|
||||
ksp.insert(input_vertices, input_faces);
|
||||
|
||||
ksp.initialize();
|
||||
|
||||
for (std::size_t i = 0; i < ks.size(); i++) {
|
||||
KSP ksp(CGAL::parameters::verbose(false).debug(false));
|
||||
|
||||
ksp.insert(input_vertices, input_faces);
|
||||
|
||||
ksp.initialize();
|
||||
//std::cout << std::endl << "--INPUT K: " << k << std::endl;
|
||||
ksp.partition(ks[i]);
|
||||
|
||||
|
|
@ -79,38 +78,38 @@ void run_all_tests() {
|
|||
|
||||
//run_test<Kernel>("20-inserted-polygons.ply", { 3 }, results);
|
||||
|
||||
results[0] = { 837, 855, 228 };
|
||||
results[1] = { 919, 1043, 285 };
|
||||
results[2] = { 955, 1279, 360 };
|
||||
results[0] = { 58, 89, 20 };
|
||||
results[1] = { 63, 102, 24 };
|
||||
results[2] = { 63, 106, 26 };
|
||||
run_test<Kernel>("data/stress-test-5/test-2-rnd-polygons-20-4.off", { 1, 2, 3 }, results);
|
||||
|
||||
results[0] = { 333, 497, 133 };
|
||||
results[1] = { 339, 529, 143 };
|
||||
results[2] = { 345, 575, 158 };
|
||||
results[0] = { 206, 385, 99 };
|
||||
results[1] = { 232, 449, 118 };
|
||||
results[2] = { 265, 540, 147 };
|
||||
run_test<Kernel>("data/real-data-test/test-15-polygons.off", { 1, 2, 3 }, results);
|
||||
|
||||
results[0] = { 53, 49, 10 };
|
||||
results[1] = { 54, 63, 14 };
|
||||
results[2] = { 54, 77, 18 };
|
||||
results[0] = { 39, 49, 10 };
|
||||
results[1] = { 48, 70, 16 };
|
||||
results[2] = { 54, 84, 20 };
|
||||
run_test<Kernel>("data/edge-case-test/test-same-time.off", { 1, 2, 3 }, results);
|
||||
|
||||
// Edge tests.
|
||||
results[0] = { 18, 20, 4 };
|
||||
run_test<Kernel>("data/edge-case-test/test-2-polygons.off", { 1 }, results);
|
||||
|
||||
results[0] = { 24, 29, 6 };
|
||||
results[0] = { 22, 25, 5 };
|
||||
run_test<Kernel>("data/edge-case-test/test-4-polygons.off", { 1 }, results);
|
||||
|
||||
results[0] = { 24, 29, 6 };
|
||||
results[0] = { 22, 25, 5 };
|
||||
run_test<Kernel>("data/edge-case-test/test-5-polygons.off", { 1 }, results);
|
||||
|
||||
results[0] = { 53, 52, 11 };
|
||||
results[1] = { 54, 77, 18 };
|
||||
results[0] = { 40, 52, 11 };
|
||||
results[1] = { 51, 77, 18 };
|
||||
run_test<Kernel>("data/edge-case-test/test-local-global-1.off", { 1, 2 }, results);
|
||||
|
||||
results[0] = { 53, 52, 11 };
|
||||
results[1] = { 53, 73, 17 };
|
||||
results[2] = { 54, 77, 18 };
|
||||
results[0] = { 40, 52, 11 };
|
||||
results[1] = { 49, 73, 17 };
|
||||
results[2] = { 54, 84, 20 };
|
||||
run_test<Kernel>("data/edge-case-test/test-local-global-2.off", { 1, 2, 3 }, results);
|
||||
|
||||
// Stress tests 0.
|
||||
|
|
@ -124,34 +123,34 @@ void run_all_tests() {
|
|||
run_test<Kernel>("data/stress-test-0/test-1-polygon-d.off", { 1 }, results);
|
||||
results[0] = { 20, 22, 4 };
|
||||
run_test<Kernel>("data/stress-test-0/test-2-polygons-ab.off", { 1 }, results);
|
||||
results[0] = { 20, 19, 3 };
|
||||
results[0] = { 19, 19, 3 };
|
||||
results[1] = { 20, 22, 4 };
|
||||
run_test<Kernel>("data/stress-test-0/test-2-polygons-ac.off", { 1, 2 }, results);
|
||||
results[0] = { 20, 22, 4 };
|
||||
run_test<Kernel>("data/stress-test-0/test-2-polygons-ad.off", { 1 }, results);
|
||||
results[0] = { 18, 18, 3 };
|
||||
run_test<Kernel>("data/stress-test-0/test-2-polygons-bc.off", { 1 }, results);
|
||||
results[0] = { 19, 18, 3 };
|
||||
results[0] = { 18, 18, 3 };
|
||||
results[1] = { 19, 21, 4 };
|
||||
run_test<Kernel>("data/stress-test-0/test-2-polygons-bd.off", { 1, 2 }, results);
|
||||
results[0] = { 19, 21, 4 };
|
||||
run_test<Kernel>("data/stress-test-0/test-2-polygons-cd.off", { 1 }, results);
|
||||
results[0] = { 27, 32, 6 };
|
||||
run_test<Kernel>("data/stress-test-0/test-3-polygons-abc.off", { 1 }, results);
|
||||
results[0] = { 30, 33, 6 };
|
||||
results[0] = { 28, 33, 6 };
|
||||
results[1] = { 30, 39, 8 };
|
||||
run_test<Kernel>("data/stress-test-0/test-3-polygons-abd.off", { 1, 2 }, results);
|
||||
results[0] = { 28, 32, 6 };
|
||||
results[0] = { 27, 32, 6 };
|
||||
results[1] = { 28, 35, 7 };
|
||||
run_test<Kernel>("data/stress-test-0/test-3-polygons-acd.off", { 1, 2 }, results);
|
||||
results[0] = { 26, 28, 5 };
|
||||
results[0] = { 25, 28, 5 };
|
||||
results[1] = { 26, 31, 6 };
|
||||
run_test<Kernel>("data/stress-test-0/test-3-polygons-bcd.off", { 1, 2 }, results);
|
||||
results[0] = { 38, 46, 9 };
|
||||
results[0] = { 36, 46, 9 };
|
||||
results[1] = { 38, 52, 11 };
|
||||
run_test<Kernel>("data/stress-test-0/test-4-polygons-abcd.off", { 1, 2 }, results);
|
||||
results[0] = { 66, 76, 16 };
|
||||
results[1] = { 67, 102, 24 };
|
||||
results[0] = { 54, 76, 16 };
|
||||
results[1] = { 64, 102, 24 };
|
||||
results[2] = { 67, 109, 26 };
|
||||
run_test<Kernel>("data/stress-test-0/test-6-polygons.off", { 1, 2, 3 }, results);
|
||||
|
||||
|
|
@ -165,13 +164,13 @@ void run_all_tests() {
|
|||
run_test<Kernel>("data/stress-test-1/test-3-rnd-polygons-1-4.off", { 1 }, results);
|
||||
results[0] = { 14, 13, 2 };
|
||||
run_test<Kernel>("data/stress-test-1/test-4-rnd-polygons-1-4.off", { 1 }, results);
|
||||
results[0] = { 20, 18, 3 };
|
||||
results[0] = { 18, 18, 3 };
|
||||
results[1] = { 20, 22, 4 };
|
||||
run_test<Kernel>("data/stress-test-1/test-5-rnd-polygons-2-4.off", { 1, 2 }, results);
|
||||
results[0] = { 19, 18, 3 };
|
||||
results[0] = { 18, 18, 3 };
|
||||
results[1] = { 19, 21, 4 };
|
||||
run_test<Kernel>("data/stress-test-1/test-6-rnd-polygons-2-4.off", { 1, 2 }, results);
|
||||
results[0] = { 20, 22, 4 };
|
||||
results[0] = { 18, 18, 3 };
|
||||
run_test<Kernel>("data/stress-test-1/test-7-rnd-polygons-2-4.off", { 1 }, results);
|
||||
|
||||
// Stress tests 2.
|
||||
|
|
@ -184,38 +183,38 @@ void run_all_tests() {
|
|||
run_test<Kernel>("data/stress-test-2/test-3-rnd-polygons-1-4.off", { 1 }, results);
|
||||
results[0] = { 14, 13, 2 };
|
||||
run_test<Kernel>("data/stress-test-2/test-4-rnd-polygons-1-3.off", { 1 }, results);
|
||||
results[0] = { 19, 17, 3 };
|
||||
results[0] = { 17, 17, 3 };
|
||||
results[1] = { 19, 21, 4 };
|
||||
run_test<Kernel>("data/stress-test-2/test-5-rnd-polygons-2-4.off", { 1, 2 }, results);
|
||||
results[0] = { 26, 31, 6 };
|
||||
results[0] = { 22, 23, 4 };
|
||||
run_test<Kernel>("data/stress-test-2/test-6-rnd-polygons-3-4.off", { 1 }, results);
|
||||
|
||||
// Stress tests 3.
|
||||
|
||||
results[0] = { 20, 18, 3 };
|
||||
results[0] = { 18, 18, 3 };
|
||||
results[1] = { 20, 22, 4 };
|
||||
run_test<Kernel>("data/stress-test-3/test-1-rnd-polygons-2-3.off", { 1, 2 }, results);
|
||||
results[0] = { 17, 17, 3 };
|
||||
run_test<Kernel>("data/stress-test-3/test-2-rnd-polygons-2-3.off", { 1 }, results);
|
||||
results[0] = { 19, 18, 3 };
|
||||
results[0] = { 18, 18, 3 };
|
||||
results[1] = { 19, 21, 4 };
|
||||
run_test<Kernel>("data/stress-test-3/test-3-rnd-polygons-2-3.off", { 1, 2 }, results);
|
||||
results[0] = { 19, 17, 3 };
|
||||
results[0] = { 17, 17, 3 };
|
||||
results[1] = { 19, 21, 4 };
|
||||
run_test<Kernel>("data/stress-test-3/test-4-rnd-polygons-2-4.off", { 1, 2 }, results);
|
||||
//results[0] = { 12, 11, 2 };
|
||||
//run_test<Kernel>("data/stress-test-3/test-5-rnd-polygons-1-3.off", { 1 }, results);
|
||||
results[0] = { 19, 18, 3 };
|
||||
results[0] = { 18, 18, 3 };
|
||||
results[1] = { 19, 21, 4 };
|
||||
run_test<Kernel>("data/stress-test-3/test-6-rnd-polygons-2-3.off", { 1, 2 }, results);
|
||||
results[0] = { 22, 21, 3 };
|
||||
results[0] = { 21, 21, 3 };
|
||||
results[1] = { 22, 24, 4 };
|
||||
run_test<Kernel>("data/stress-test-3/test-7-rnd-polygons-2-4.off", { 1, 2 }, results);
|
||||
results[0] = { 18, 17, 3 };
|
||||
results[0] = { 17, 17, 3 };
|
||||
results[1] = { 18, 20, 4 };
|
||||
run_test<Kernel>("data/stress-test-3/test-8-rnd-polygons-2-10.off", { 1, 2 }, results);
|
||||
results[0] = { 36, 37, 7 };
|
||||
results[1] = { 39, 46, 10 };
|
||||
results[0] = { 31, 37, 7 };
|
||||
results[1] = { 34, 46, 10 };
|
||||
results[2] = { 39, 57, 13 };
|
||||
run_test<Kernel>("data/stress-test-3/test-9-rnd-polygons-4-4.off", { 1, 2, 3 }, results);
|
||||
results[0] = { 55, 84, 19 };
|
||||
|
|
@ -223,61 +222,61 @@ void run_all_tests() {
|
|||
|
||||
// Stress tests 4.
|
||||
|
||||
results[0] = { 20, 22, 4 };
|
||||
results[0] = { 17, 17, 3 };
|
||||
run_test<Kernel>("data/stress-test-4/test-1-rnd-polygons-2-6.off", { 1 }, results);
|
||||
results[0] = { 29, 32, 6 };
|
||||
results[0] = { 27, 32, 6 };
|
||||
results[1] = { 29, 38, 8 };
|
||||
run_test<Kernel>("data/stress-test-4/test-2-rnd-polygons-3-8.off", { 1, 2 }, results);
|
||||
results[0] = { 37, 38, 7 };
|
||||
results[1] = { 37, 45, 9 };
|
||||
results[0] = { 32, 38, 7 };
|
||||
results[1] = { 35, 45, 9 };
|
||||
results[2] = { 37, 51, 11 };
|
||||
run_test<Kernel>("data/stress-test-4/test-3-rnd-polygons-4-4.off", { 1, 2, 3 }, results);
|
||||
results[0] = { 35, 27, 5 };
|
||||
results[1] = { 37, 41, 8 };
|
||||
results[0] = { 25, 27, 5 };
|
||||
results[1] = { 33, 41, 8 };
|
||||
results[2] = { 37, 53, 12 };
|
||||
run_test<Kernel>("data/stress-test-4/test-4-rnd-polygons-4-6.off", { 1, 2, 3 }, results);
|
||||
results[0] = { 83, 105, 24 };
|
||||
results[1] = { 83, 128, 31 };
|
||||
results[2] = { 83, 128, 31 };
|
||||
run_test<Kernel>("data/stress-test-4/test-5-rnd-polygons-6-4.off", { 1, 2, 3}, results);
|
||||
results[0] = { 61, 91, 20 };
|
||||
results[1] = { 73, 121, 29 };
|
||||
results[2] = { 83, 145, 36 };
|
||||
run_test<Kernel>("data/stress-test-4/test-5-rnd-polygons-6-4.off", { 1, 2, 3 }, results);
|
||||
|
||||
results[0] = { 50, 62, 13 };
|
||||
results[0] = { 45, 62, 13 };
|
||||
results[1] = { 50, 75, 17 };
|
||||
run_test<Kernel>("data/stress-test-4/test-6-rnd-polygons-5-6.off", { 1, 2 }, results);
|
||||
results[0] = { 98, 105, 24 };
|
||||
results[1] = { 104, 147, 36 };
|
||||
results[2] = { 104, 157, 39 };
|
||||
results[0] = { 64, 97, 22 };
|
||||
results[1] = { 84, 141, 34 };
|
||||
results[2] = { 88, 151, 37 };
|
||||
run_test<Kernel>("data/stress-test-4/test-7-rnd-polygons-7-6.off", { 1, 2, 3 }, results);
|
||||
results[0] = { 69, 77, 16 };
|
||||
results[1] = { 69, 107, 25 };
|
||||
results[0] = { 56, 77, 16 };
|
||||
results[1] = { 68, 107, 25 };
|
||||
results[2] = { 69, 110, 26 };
|
||||
run_test<Kernel>("data/stress-test-4/test-8-rnd-polygons-7-8.off", { 1, 2, 3 }, results);
|
||||
results[0] = { 243, 304, 74 };
|
||||
results[1] = { 248, 360, 93 };
|
||||
results[2] = { 248, 384, 101};
|
||||
results[0] = { 172, 304, 74 };
|
||||
results[1] = { 192, 366, 95 };
|
||||
results[2] = { 198, 382, 100};
|
||||
run_test<Kernel>("data/stress-test-4/test-9-rnd-polygons-12-4.off", { 1, 2, 3 }, results);
|
||||
|
||||
// Stress tests 5.
|
||||
|
||||
results[0] = { 386, 349, 83 };
|
||||
results[1] = { 417, 459, 115 };
|
||||
results[2] = { 444, 616, 165 };
|
||||
results[0] = { 202, 351, 84 };
|
||||
results[1] = { 232, 427, 107 };
|
||||
results[2] = { 284, 558, 146 };
|
||||
run_test<Kernel>("data/stress-test-5/test-1-rnd-polygons-15-6.off", { 1, 2, 3 }, results);
|
||||
results[0] = { 837, 855, 228 };
|
||||
results[1] = { 919, 1043, 285 };
|
||||
results[2] = { 955, 1279, 360 };
|
||||
results[0] = { 58, 89, 20 };
|
||||
results[1] = { 63, 102, 24 };
|
||||
results[2] = { 63, 106, 26 };
|
||||
run_test<Kernel>("data/stress-test-5/test-2-rnd-polygons-20-4.off", { 1, 2, 3 }, results);
|
||||
|
||||
// Real data tests.
|
||||
|
||||
results[0] = { 128, 162, 38 };
|
||||
results[1] = { 133, 220, 56 };
|
||||
results[2] = { 133, 241, 62 };
|
||||
results[0] = { 91, 143, 33 };
|
||||
results[1] = { 109, 187, 46 };
|
||||
results[2] = { 127, 233, 60 };
|
||||
run_test<Kernel>("data/real-data-test/test-10-polygons.off", { 1, 2, 3 }, results);
|
||||
|
||||
results[0] = { 2225, 1360, 347 };
|
||||
results[1] = { 2336, 1540, 403 };
|
||||
results[2] = { 2527, 2018, 550 };
|
||||
results[0] = { 1006, 2067, 552 };
|
||||
results[1] = { 973, 1984, 527 };
|
||||
results[2] = { 1186, 2560, 708 };
|
||||
run_test<Kernel>("data/real-data-test/test-40-polygons.ply", { 1, 2, 3 }, results);
|
||||
|
||||
const auto kernel_name = boost::typeindex::type_id<Kernel>().pretty_name();
|
||||
|
|
|
|||
Loading…
Reference in New Issue