mirror of https://github.com/CGAL/cgal
111 lines
4.1 KiB
C++
111 lines
4.1 KiB
C++
// Copyright (c) 1999,2004 INRIA Sophia-Antipolis (France).
|
|
// 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
|
|
// 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) : Sylvain Pion
|
|
// Monique Teillaud <Monique.Teillaud@sophia.inria.fr>
|
|
// Mariette Yvinec <Mariette.Yvinec@sophia.inria.fr>
|
|
|
|
#ifndef CGAL_REGULAR_TRIANGULATION_EUCLIDEAN_TRAITS_3_H
|
|
#define CGAL_REGULAR_TRIANGULATION_EUCLIDEAN_TRAITS_3_H
|
|
|
|
#include <CGAL/basic.h>
|
|
|
|
namespace CGAL {
|
|
|
|
|
|
|
|
template < class K, class Weight = typename K::RT >
|
|
class Regular_triangulation_euclidean_traits_3
|
|
: public K
|
|
{
|
|
public:
|
|
typedef K Kernel;
|
|
typedef typename K::FT FT;
|
|
typedef typename K::Point_3 Bare_point;
|
|
typedef typename K::Weighted_point_3 Weighted_point;
|
|
typedef Weighted_point Weighted_point_3;
|
|
typedef Weighted_point Point_3;
|
|
|
|
typedef Regular_triangulation_euclidean_traits_3<K, Weight> Self;
|
|
|
|
// The next typedef is there for backward compatibility
|
|
// Some users take their point type from the traits class.
|
|
// Before this type was Point
|
|
typedef Point_3 Point;
|
|
|
|
typedef typename K::Power_side_of_power_sphere_3 Power_side_of_power_sphere_3;
|
|
typedef typename K::Compare_power_distance_3 Compare_power_distance_3;
|
|
typedef typename K::Construct_weighted_circumcenter_3 Construct_weighted_circumcenter_3;
|
|
|
|
|
|
typedef typename K::In_smallest_orthogonal_sphere_3
|
|
In_smallest_orthogonal_sphere_3;
|
|
typedef typename K::Side_of_bounded_orthogonal_sphere_3
|
|
Side_of_bounded_orthogonal_sphere_3;
|
|
typedef typename K::Compute_squared_radius_smallest_orthogonal_sphere_3
|
|
Compute_squared_radius_smallest_orthogonal_sphere_3;
|
|
typedef typename K::Compute_power_product_3 Compute_power_product_3;
|
|
typedef typename K::Compute_power_distance_to_power_sphere_3
|
|
Compute_power_distance_to_power_sphere_3;
|
|
typedef typename K::Compare_weighted_squared_radius_3
|
|
Compare_weighted_squared_radius_3;
|
|
|
|
|
|
Power_side_of_power_sphere_3 power_side_of_power_sphere_3_object() const
|
|
{ return K().power_side_of_power_sphere_3_object(); }
|
|
|
|
Compare_power_distance_3 compare_power_distance_3_object() const
|
|
{ return K().compare_power_distance_3_object(); }
|
|
|
|
Construct_weighted_circumcenter_3
|
|
construct_weighted_circumcenter_3_object() const
|
|
{ return K().construct_weighted_circumcenter_3_object(); }
|
|
|
|
|
|
In_smallest_orthogonal_sphere_3
|
|
in_smallest_orthogonal_sphere_3_object() const
|
|
{ return K().in_smallest_orthogonal_sphere_3_object(); }
|
|
|
|
Side_of_bounded_orthogonal_sphere_3
|
|
side_of_bounded_orthogonal_sphere_3_object() const
|
|
{ return K().side_of_bounded_orthogonal_sphere_3_object(); }
|
|
|
|
Compute_power_product_3
|
|
compute_power_product_3_object() const
|
|
{ return K().compute_power_product_3_object(); }
|
|
|
|
Compute_squared_radius_smallest_orthogonal_sphere_3
|
|
compute_squared_radius_smallest_orthogonal_sphere_3_object() const
|
|
{ return K().compute_squared_radius_smallest_orthogonal_sphere_3_object(); }
|
|
|
|
Compute_power_distance_to_power_sphere_3
|
|
compute_power_distance_to_power_sphere_3_object() const
|
|
{return K().compute_power_distance_to_power_sphere_3_object(); }
|
|
|
|
Compare_weighted_squared_radius_3
|
|
compare_weighted_squared_radius_3_object() const
|
|
{return K().compare_weighted_squared_radius_3_object(); }
|
|
|
|
};
|
|
|
|
|
|
} //namespace CGAL
|
|
|
|
|
|
|
|
#endif // CGAL_REGULAR_TRIANGULATION_EUCLIDEAN_TRAITS_3_H
|