1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137
|
// Copyright (c) 2005 INRIA Sophia-Antipolis (France).
// All rights reserved.
//
// This file is part of CGAL (www.cgal.org); you may redistribute it under
// the terms of the Q Public License version 1.0.
// See the file LICENSE.QPL distributed with CGAL.
//
// 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: svn+ssh://scm.gforge.inria.fr/svn/cgal/branches/CGAL-3.2-branch/Mesh_2/include/CGAL/Mesher_level_default_implementations.h $
// $Id: Mesher_level_default_implementations.h 28567 2006-02-16 14:30:13Z lsaboret $
//
//
// Author(s) : Laurent RINEAU
#ifndef CGAL_MESHER_LEVEL_DEFAULT_IMPLEMENTATIONS_H
#define CGAL_MESHER_LEVEL_DEFAULT_IMPLEMENTATIONS_H
#include <CGAL/Mesher_level.h>
namespace CGAL {
/** This class implements the two get_triangulation_ref() functions.
\param Tr The triangulation type */
template <class Tr>
class Triangulation_ref_impl
{
Tr& tr;
public:
Triangulation_ref_impl(Tr& t) : tr(t)
{
}
Tr& triangulation_ref_impl()
{
return tr;
}
const Tr& triangulation_ref_impl() const
{
return tr;
}
}; // end class Triangulation_ref_impl<Tr>
/** This struct implements an empty private_test_point_conflict_impl()
function. */
struct No_private_test_point_conflict
{
template <typename Point, typename Zone>
Mesher_level_conflict_status
private_test_point_conflict_impl(const Point&, const Zone&) const
{
return NO_CONFLICT;
}
}; // end No_private_test_point_conflict
/** This struct implements an empty test_point_conflict_from_superior_impl()
function. */
struct No_test_point_conflict_from_superior
{
template <typename Point, typename Zone>
Mesher_level_conflict_status
test_point_conflict_from_superior_impl(const Point&, const Zone&) const
{
return NO_CONFLICT;
}
}; // end No_test_point_conflict_from_superior
/** This struct implements empty functions:
- private_test_point_conflict_impl() and
- test_point_conflict_from_superior_impl().
*/
struct No_test_point_conflict :
public No_private_test_point_conflict,
public No_test_point_conflict_from_superior
{
};
/** This struct implements an empty before_insertion_impl()
function. */
struct No_before_insertion
{
template <typename Cell_handle, typename Point, typename Zone>
void before_insertion_impl(const Cell_handle&, const Point&,
Zone& )
{
}
}; // end No_before_insertion
/** This struct implements an empty after_insertion_impl()
function. */
struct No_after_insertion
{
template <typename Vertex_handle>
void after_insertion_impl(const Vertex_handle&)
{
}
}; // end No_after_insertion
/** This struct implements an empty after_insertion_impl()
function. */
struct No_after_no_insertion
{
template <typename Cell_handle, typename Point, typename Zone>
void after_no_insertion_impl(const Cell_handle&, const Point&,
const Zone& )
{
}
}; // end No_after_no_insertion
/** This struct implements empty functions:
- before_insertion_impl(),
- after_insertion_impl(),
- after_no_insertion_impl()
*/
struct No_before_after_insertion :
public No_after_insertion,
public No_before_insertion,
public No_after_no_insertion
{
};
/** This struct implements an empty before_conflicts_impl() function. */
struct No_before_conflicts {
template <typename Face_handle, typename Point>
void before_conflicts_impl(const Face_handle&, const Point&)
{
}
};
} // end namespace CGAL
#endif // CGAL_MESHER_LEVEL_DEFAULT_IMPLEMENTATIONS_H
|