// Copyright (c) 1997, 2012 INRIA Sophia-Antipolis (France). // All rights reserved. // // This file is part of CGAL (www.cgal.org). // // $URL: https://github.com/CGAL/cgal/blob/v5.2/Alpha_shapes_2/include/CGAL/Alpha_shape_vertex_base_2.h $ // $Id: Alpha_shape_vertex_base_2.h 0779373 2020-03-26T13:31:46+01:00 Sébastien Loriot // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-Commercial // // // Author(s) : Tran Kai Frank DA #ifndef CGAL_ALPHA_SHAPE_VERTEX_BASE_2_H #define CGAL_ALPHA_SHAPE_VERTEX_BASE_2_H #include #include #include #include //------------------------------------------------------------------- namespace CGAL { //------------------------------------------------------------------- template class Alpha_shape_vertex_base_2 : public Default::Get >::type { typedef typename Default::Get >::type Vb; public: typedef typename Vb::Vertex_handle Vertex_handle; typedef typename Vb::Face_handle Face_handle; typedef typename Vb::Point Point; template < typename TDS2 > struct Rebind_TDS { typedef typename Vb::template Rebind_TDS::Other Vb2; typedef Alpha_shape_vertex_base_2< Gt, Vb2, ExactAlphaComparisonTag, Weighted_tag> Other; }; typedef typename internal::Alpha_nt_selector_2< Gt, ExactAlphaComparisonTag, Weighted_tag>::Type_of_alpha Type_of_alpha; typedef Type_of_alpha NT; typedef std::pair< Type_of_alpha, Type_of_alpha > Interval2; private: Interval2 I; public: Alpha_shape_vertex_base_2() : Vb() {} Alpha_shape_vertex_base_2(const Point & p) : Vb(p) {} Alpha_shape_vertex_base_2(const Point & p, Face_handle f) : Vb(p, f) {} public: inline Interval2 get_range() { return I; } inline void set_range(Interval2 Inter) { I = Inter; } }; //------------------------------------------------------------------- } //namespace CGAL //------------------------------------------------------------------- #endif //ALPHA_SHAPE_VERTEX_BASE_2_H