mirror of https://github.com/CGAL/cgal
Removed any use of Regular_triangulation_euclidean_traits from Skin surface
This commit is contained in:
parent
81bc8604f0
commit
ecf92c4689
|
|
@ -35,9 +35,6 @@
|
||||||
#include <boost/random/variate_generator.hpp>
|
#include <boost/random/variate_generator.hpp>
|
||||||
#include <boost/shared_ptr.hpp>
|
#include <boost/shared_ptr.hpp>
|
||||||
|
|
||||||
// For the Weighted_converter
|
|
||||||
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
|
|
||||||
|
|
||||||
// Used for the triangulated mixed complex / Voronoi diagram
|
// Used for the triangulated mixed complex / Voronoi diagram
|
||||||
#include <CGAL/Triangulation_vertex_base_with_info_3.h>
|
#include <CGAL/Triangulation_vertex_base_with_info_3.h>
|
||||||
#include <CGAL/Triangulation_cell_base_with_info_3.h>
|
#include <CGAL/Triangulation_cell_base_with_info_3.h>
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,6 @@
|
||||||
|
|
||||||
#include <CGAL/basic.h>
|
#include <CGAL/basic.h>
|
||||||
#include <CGAL/Skin_surface_traits_3.h>
|
#include <CGAL/Skin_surface_traits_3.h>
|
||||||
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
|
|
||||||
#include <CGAL/Filtered_predicate.h>
|
#include <CGAL/Filtered_predicate.h>
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
|
|
|
||||||
|
|
@ -63,11 +63,12 @@ public:
|
||||||
{
|
{
|
||||||
CGAL_PROFILER(std::string("Constructor : ") +
|
CGAL_PROFILER(std::string("Constructor : ") +
|
||||||
std::string(CGAL_PRETTY_FUNCTION));
|
std::string(CGAL_PRETTY_FUNCTION));
|
||||||
Regular_triangulation_euclidean_traits_3<K> reg_traits;
|
|
||||||
p = reg_traits.construct_weighted_circumcenter_3_object()(wp0,wp1);
|
K k;
|
||||||
c = s*(1-s)*reg_traits.compute_squared_radius_smallest_orthogonal_sphere_3_object()(wp0,wp1);
|
p = k.construct_weighted_circumcenter_3_object()(wp0,wp1);
|
||||||
Vector t = reg_traits.construct_vector_3_object()(reg_traits.construct_point_3_object()(wp1),
|
c = s*(1-s)*k.compute_squared_radius_smallest_orthogonal_sphere_3_object()(wp0,wp1);
|
||||||
reg_traits.construct_point_3_object()(wp0));
|
Vector t = k.construct_vector_3_object()(k.construct_point_3_object()(wp1),
|
||||||
|
k.construct_point_3_object()(wp0));
|
||||||
|
|
||||||
FT den = t*t;
|
FT den = t*t;
|
||||||
Q[0] = (- t.x()*t.x()/den + (1-s));
|
Q[0] = (- t.x()*t.x()/den + (1-s));
|
||||||
|
|
@ -87,13 +88,14 @@ public:
|
||||||
{
|
{
|
||||||
CGAL_PROFILER(std::string("Constructor : ") +
|
CGAL_PROFILER(std::string("Constructor : ") +
|
||||||
std::string(CGAL_PRETTY_FUNCTION));
|
std::string(CGAL_PRETTY_FUNCTION));
|
||||||
Regular_triangulation_euclidean_traits_3<K> reg_traits;
|
|
||||||
p = reg_traits.construct_weighted_circumcenter_3_object()(wp0,wp1,wp2);
|
|
||||||
c = s*(1-s)*reg_traits.compute_squared_radius_smallest_orthogonal_sphere_3_object()(wp0,wp1,wp2);
|
|
||||||
|
|
||||||
Vector t = K().construct_orthogonal_vector_3_object()(reg_traits.construct_point_3_object()(wp0),
|
K k;
|
||||||
reg_traits.construct_point_3_object()(wp1),
|
p = k.construct_weighted_circumcenter_3_object()(wp0,wp1,wp2);
|
||||||
reg_traits.construct_point_3_object()(wp2));
|
c = s*(1-s)*k.compute_squared_radius_smallest_orthogonal_sphere_3_object()(wp0,wp1,wp2);
|
||||||
|
|
||||||
|
Vector t = K().construct_orthogonal_vector_3_object()(k.construct_point_3_object()(wp0),
|
||||||
|
k.construct_point_3_object()(wp1),
|
||||||
|
k.construct_point_3_object()(wp2));
|
||||||
|
|
||||||
FT den = t*t;
|
FT den = t*t;
|
||||||
Q[0] = -(- t.x()*t.x()/den + s);
|
Q[0] = -(- t.x()*t.x()/den + s);
|
||||||
|
|
@ -114,9 +116,10 @@ public:
|
||||||
{
|
{
|
||||||
CGAL_PROFILER(std::string("Constructor : ") +
|
CGAL_PROFILER(std::string("Constructor : ") +
|
||||||
std::string(CGAL_PRETTY_FUNCTION));
|
std::string(CGAL_PRETTY_FUNCTION));
|
||||||
Regular_triangulation_euclidean_traits_3<K> reg_traits;
|
|
||||||
p = reg_traits.construct_weighted_circumcenter_3_object()(wp0,wp1,wp2,wp3);
|
K k;
|
||||||
c = s*(1-s)*reg_traits.compute_squared_radius_smallest_orthogonal_sphere_3_object()(wp0,wp1,wp2,wp3);
|
p = k.construct_weighted_circumcenter_3_object()(wp0,wp1,wp2,wp3);
|
||||||
|
c = s*(1-s)*k.compute_squared_radius_smallest_orthogonal_sphere_3_object()(wp0,wp1,wp2,wp3);
|
||||||
Q[1] = Q[3] = Q[4] = 0;
|
Q[1] = Q[3] = Q[4] = 0;
|
||||||
Q[0] = Q[2] = Q[5] = -s;
|
Q[0] = Q[2] = Q[5] = -s;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -23,8 +23,6 @@
|
||||||
|
|
||||||
#include <CGAL/license/Skin_surface_3.h>
|
#include <CGAL/license/Skin_surface_3.h>
|
||||||
|
|
||||||
|
|
||||||
#include <CGAL/Regular_triangulation_euclidean_traits_3.h>
|
|
||||||
#include <CGAL/predicates/predicates_for_mixed_complex_3.h>
|
#include <CGAL/predicates/predicates_for_mixed_complex_3.h>
|
||||||
|
|
||||||
namespace CGAL {
|
namespace CGAL {
|
||||||
|
|
@ -109,18 +107,14 @@ private:
|
||||||
template <class K_>
|
template <class K_>
|
||||||
class Skin_surface_traits_base_3
|
class Skin_surface_traits_base_3
|
||||||
: public K_
|
: public K_
|
||||||
// : public Regular_triangulation_euclidean_traits_3<K_>
|
|
||||||
{
|
{
|
||||||
// typedef Regular_triangulation_euclidean_traits_3<K_> Base;
|
|
||||||
public:
|
public:
|
||||||
typedef K_ Kernel;
|
typedef K_ Kernel;
|
||||||
typedef Skin_surface_traits_base_3<Kernel> Self;
|
typedef Skin_surface_traits_base_3<Kernel> Self;
|
||||||
|
|
||||||
typedef typename Kernel::FT FT;
|
typedef typename Kernel::FT FT;
|
||||||
|
|
||||||
typedef CGAL::Side_of_mixed_cell_3<Self> Side_of_mixed_cell_3;
|
typedef CGAL::Side_of_mixed_cell_3<Self> Side_of_mixed_cell_3;
|
||||||
typedef typename Kernel::Construct_weighted_circumcenter_3
|
|
||||||
Construct_weighted_circumcenter_3;
|
|
||||||
typedef CGAL::Construct_anchor_point_3<Self> Construct_anchor_point_3;
|
typedef CGAL::Construct_anchor_point_3<Self> Construct_anchor_point_3;
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -71,13 +71,11 @@ public:
|
||||||
typedef typename Triangulated_mixed_complex::Vertex_handle TMC_Vertex_handle;
|
typedef typename Triangulated_mixed_complex::Vertex_handle TMC_Vertex_handle;
|
||||||
typedef typename Triangulated_mixed_complex::Cell_handle TMC_Cell_handle;
|
typedef typename Triangulated_mixed_complex::Cell_handle TMC_Cell_handle;
|
||||||
|
|
||||||
|
|
||||||
typedef typename Quadratic_surface::K Surface_traits;
|
typedef typename Quadratic_surface::K Surface_traits;
|
||||||
typedef typename Surface_traits::RT Surface_RT;
|
typedef typename Surface_traits::RT Surface_RT;
|
||||||
typedef Regular_triangulation_euclidean_traits_3<Surface_traits> Surface_regular_traits;
|
typedef typename Quadratic_surface::Point Surface_point;
|
||||||
typedef typename Quadratic_surface::Point Surface_point;
|
typedef typename Quadratic_surface::Vector Surface_vector;
|
||||||
typedef typename Quadratic_surface::Vector Surface_vector;
|
typedef typename Surface_traits::Weighted_point_3 Surface_weighted_point;
|
||||||
typedef typename Surface_traits::Weighted_point_3 Surface_weighted_point;
|
|
||||||
|
|
||||||
typedef
|
typedef
|
||||||
Cartesian_converter < typename Rt_Bare_point::R,
|
Cartesian_converter < typename Rt_Bare_point::R,
|
||||||
|
|
@ -99,7 +97,7 @@ public:
|
||||||
Rt_Facet f;
|
Rt_Facet f;
|
||||||
Rt_Cell_handle ch;
|
Rt_Cell_handle ch;
|
||||||
|
|
||||||
typename Surface_regular_traits::Construct_point_3 wp2p;
|
typename Surface_traits::Construct_point_3 wp2p;
|
||||||
|
|
||||||
switch (s.dimension()) {
|
switch (s.dimension()) {
|
||||||
case 0: {
|
case 0: {
|
||||||
|
|
@ -117,11 +115,11 @@ public:
|
||||||
Surface_weighted_point p1 =
|
Surface_weighted_point p1 =
|
||||||
r2s_converter(e.first->vertex(e.third)->point());
|
r2s_converter(e.first->vertex(e.third)->point());
|
||||||
|
|
||||||
create_hyperboloid(typename Surface_regular_traits::
|
create_hyperboloid(typename Surface_traits::
|
||||||
Construct_weighted_circumcenter_3()(p0,p1),
|
Construct_weighted_circumcenter_3()(p0,p1),
|
||||||
typename Surface_regular_traits::
|
typename Surface_traits::
|
||||||
Compute_squared_radius_smallest_orthogonal_sphere_3()(p0,p1),
|
Compute_squared_radius_smallest_orthogonal_sphere_3()(p0,p1),
|
||||||
typename Surface_regular_traits::
|
typename Surface_traits::
|
||||||
Construct_vector_3()(wp2p(p1),
|
Construct_vector_3()(wp2p(p1),
|
||||||
wp2p(p0)),
|
wp2p(p0)),
|
||||||
r2s_converter(shrink),
|
r2s_converter(shrink),
|
||||||
|
|
@ -137,11 +135,11 @@ public:
|
||||||
Surface_weighted_point p2 =
|
Surface_weighted_point p2 =
|
||||||
r2s_converter(f.first->vertex((f.second+3)&3)->point());
|
r2s_converter(f.first->vertex((f.second+3)&3)->point());
|
||||||
|
|
||||||
create_hyperboloid(typename Surface_regular_traits::
|
create_hyperboloid(typename Surface_traits::
|
||||||
Construct_weighted_circumcenter_3()(p0,p1,p2),
|
Construct_weighted_circumcenter_3()(p0,p1,p2),
|
||||||
typename Surface_regular_traits::
|
typename Surface_traits::
|
||||||
Compute_squared_radius_smallest_orthogonal_sphere_3()(p0,p1,p2),
|
Compute_squared_radius_smallest_orthogonal_sphere_3()(p0,p1,p2),
|
||||||
typename Surface_regular_traits::
|
typename Surface_traits::
|
||||||
Construct_orthogonal_vector_3()(wp2p(p0),wp2p(p1),wp2p(p2)),
|
Construct_orthogonal_vector_3()(wp2p(p0),wp2p(p1),wp2p(p2)),
|
||||||
r2s_converter(1-shrink),
|
r2s_converter(1-shrink),
|
||||||
-1);
|
-1);
|
||||||
|
|
@ -157,10 +155,10 @@ public:
|
||||||
r2s_converter(ch->vertex(3)->point())
|
r2s_converter(ch->vertex(3)->point())
|
||||||
};
|
};
|
||||||
|
|
||||||
create_sphere(typename Surface_regular_traits::
|
create_sphere(typename Surface_traits::
|
||||||
Construct_weighted_circumcenter_3()
|
Construct_weighted_circumcenter_3()
|
||||||
(pts[0],pts[1],pts[2],pts[3]),
|
(pts[0],pts[1],pts[2],pts[3]),
|
||||||
typename Surface_regular_traits::
|
typename Surface_traits::
|
||||||
Compute_squared_radius_smallest_orthogonal_sphere_3()
|
Compute_squared_radius_smallest_orthogonal_sphere_3()
|
||||||
(pts[0],pts[1],pts[2],pts[3]),
|
(pts[0],pts[1],pts[2],pts[3]),
|
||||||
r2s_converter(1-shrink),
|
r2s_converter(1-shrink),
|
||||||
|
|
|
||||||
|
|
@ -260,11 +260,7 @@ private:
|
||||||
|
|
||||||
Cartesian_converter<typename Rt_Bare_point::R, Tmc_traits > r2t_converter_object;
|
Cartesian_converter<typename Rt_Bare_point::R, Tmc_traits > r2t_converter_object;
|
||||||
|
|
||||||
Construct_anchor_point_3<
|
Construct_anchor_point_3<Tmc_traits> construct_anchor_point_3_obj;
|
||||||
// Regular_triangulation_euclidean_traits_3<
|
|
||||||
Triangulated_mixed_complex_traits>
|
|
||||||
// >
|
|
||||||
construct_anchor_point_3_obj;
|
|
||||||
|
|
||||||
typename Tmc_traits::Compute_squared_radius_smallest_orthogonal_sphere_3 orthoweight_obj;
|
typename Tmc_traits::Compute_squared_radius_smallest_orthogonal_sphere_3 orthoweight_obj;
|
||||||
Compute_anchor_3<Regular> compute_anchor_obj;
|
Compute_anchor_3<Regular> compute_anchor_obj;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue