mirror of https://github.com/CGAL/cgal
remove new template parameter RNG
using CGAL::Random everywhere is simpler and definitely enough note we are using CGAL::Random& as in Random_generator_base (see CGAL/generators.h)
This commit is contained in:
parent
a3341d0ec2
commit
6566c592c2
|
|
@ -46,14 +46,13 @@ namespace CGAL {
|
||||||
*/
|
*/
|
||||||
template<class Function,
|
template<class Function,
|
||||||
class BGT,
|
class BGT,
|
||||||
class RNG = CGAL::Random,
|
|
||||||
class Wrapper = Mesh_3::Implicit_to_labeled_function_wrapper<Function,BGT> >
|
class Wrapper = Mesh_3::Implicit_to_labeled_function_wrapper<Function,BGT> >
|
||||||
class Implicit_mesh_domain_3
|
class Implicit_mesh_domain_3
|
||||||
: public Mesh_3::Labeled_mesh_domain_3<Wrapper, BGT, RNG>
|
: public Mesh_3::Labeled_mesh_domain_3<Wrapper, BGT>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
/// Base type
|
/// Base type
|
||||||
typedef Mesh_3::Labeled_mesh_domain_3<Wrapper, BGT, RNG> Base;
|
typedef Mesh_3::Labeled_mesh_domain_3<Wrapper, BGT> Base;
|
||||||
|
|
||||||
/// Public types
|
/// Public types
|
||||||
typedef typename Base::Sphere_3 Sphere_3;
|
typedef typename Base::Sphere_3 Sphere_3;
|
||||||
|
|
@ -68,7 +67,7 @@ public:
|
||||||
*/
|
*/
|
||||||
Implicit_mesh_domain_3(const Function& f,
|
Implicit_mesh_domain_3(const Function& f,
|
||||||
const Sphere_3& bounding_sphere,
|
const Sphere_3& bounding_sphere,
|
||||||
RNG rng = CGAL::Random(0),
|
CGAL::Random& rng = CGAL::Random(0),
|
||||||
const FT& error_bound = FT(1e-3))
|
const FT& error_bound = FT(1e-3))
|
||||||
: Base(Wrapper(f), bounding_sphere, rng, error_bound) {}
|
: Base(Wrapper(f), bounding_sphere, rng, error_bound) {}
|
||||||
|
|
||||||
|
|
@ -78,7 +77,7 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Disabled copy constructor & assignment operator
|
// Disabled copy constructor & assignment operator
|
||||||
typedef Implicit_mesh_domain_3<Function,BGT,RNG> Self;
|
typedef Implicit_mesh_domain_3<Function,BGT> Self;
|
||||||
Implicit_mesh_domain_3(const Self& src);
|
Implicit_mesh_domain_3(const Self& src);
|
||||||
Self& operator=(const Self& src);
|
Self& operator=(const Self& src);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,13 +41,13 @@ namespace CGAL {
|
||||||
*/
|
*/
|
||||||
template<class Image,
|
template<class Image,
|
||||||
class BGT,
|
class BGT,
|
||||||
class RNG = CGAL::Random,
|
|
||||||
class Wrapper = Mesh_3::Image_to_labeled_function_wrapper<Image, BGT> >
|
class Wrapper = Mesh_3::Image_to_labeled_function_wrapper<Image, BGT> >
|
||||||
class Labeled_image_mesh_domain_3
|
class Labeled_image_mesh_domain_3
|
||||||
: public Mesh_3::Labeled_mesh_domain_3<Wrapper, BGT, RNG>
|
: public Mesh_3::Labeled_mesh_domain_3<Wrapper, BGT>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
typedef Mesh_3::Labeled_mesh_domain_3<Wrapper, BGT, RNG> Base;
|
typedef Mesh_3::Labeled_mesh_domain_3<Wrapper, BGT> Base;
|
||||||
|
|
||||||
typedef typename Base::Sphere_3 Sphere_3;
|
typedef typename Base::Sphere_3 Sphere_3;
|
||||||
typedef typename Base::FT FT;
|
typedef typename Base::FT FT;
|
||||||
|
|
@ -56,7 +56,7 @@ public:
|
||||||
|
|
||||||
/// Constructor
|
/// Constructor
|
||||||
Labeled_image_mesh_domain_3(const Image& image,
|
Labeled_image_mesh_domain_3(const Image& image,
|
||||||
RNG rng = CGAL::Random(0),
|
CGAL::Random& rng = CGAL::Random(0),
|
||||||
const FT& error_bound = FT(1e-3))
|
const FT& error_bound = FT(1e-3))
|
||||||
: Base(Wrapper(image),
|
: Base(Wrapper(image),
|
||||||
compute_bounding_box(image),
|
compute_bounding_box(image),
|
||||||
|
|
|
||||||
|
|
@ -57,8 +57,7 @@ namespace Mesh_3 {
|
||||||
* Thus, a boundary facet of the domain is labelled <0,b>, where b!=0.
|
* Thus, a boundary facet of the domain is labelled <0,b>, where b!=0.
|
||||||
*/
|
*/
|
||||||
template<class Function,
|
template<class Function,
|
||||||
class BGT,
|
class BGT>
|
||||||
class RNG = CGAL::Random >
|
|
||||||
class Labeled_mesh_domain_3
|
class Labeled_mesh_domain_3
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|
@ -97,12 +96,12 @@ public:
|
||||||
*/
|
*/
|
||||||
Labeled_mesh_domain_3(const Function& f,
|
Labeled_mesh_domain_3(const Function& f,
|
||||||
const Sphere_3& bounding_sphere,
|
const Sphere_3& bounding_sphere,
|
||||||
RNG rng = CGAL::Random(0),
|
CGAL::Random& rng = CGAL::Random(0),
|
||||||
const FT& error_bound = FT(1e-3));
|
const FT& error_bound = FT(1e-3));
|
||||||
|
|
||||||
Labeled_mesh_domain_3(const Function& f,
|
Labeled_mesh_domain_3(const Function& f,
|
||||||
const Bbox_3& bbox,
|
const Bbox_3& bbox,
|
||||||
RNG rng = CGAL::Random(0),
|
CGAL::Random& rng = CGAL::Random(0),
|
||||||
const FT& error_bound = FT(1e-3));
|
const FT& error_bound = FT(1e-3));
|
||||||
|
|
||||||
/// Destructor
|
/// Destructor
|
||||||
|
|
@ -467,14 +466,14 @@ private:
|
||||||
/// The bounding box
|
/// The bounding box
|
||||||
const Iso_cuboid_3 bbox_;
|
const Iso_cuboid_3 bbox_;
|
||||||
/// The random number generator used by Construct_initial_points
|
/// The random number generator used by Construct_initial_points
|
||||||
RNG& rng_;
|
CGAL::Random& rng_;
|
||||||
/// Error bound relative to sphere radius
|
/// Error bound relative to sphere radius
|
||||||
FT squared_error_bound_;
|
FT squared_error_bound_;
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// Disabled copy constructor & assignment operator
|
// Disabled copy constructor & assignment operator
|
||||||
typedef Labeled_mesh_domain_3<Function,BGT,RNG> Self;
|
typedef Labeled_mesh_domain_3<Function,BGT> Self;
|
||||||
Labeled_mesh_domain_3(const Self& src);
|
Labeled_mesh_domain_3(const Self& src);
|
||||||
Self& operator=(const Self& src);
|
Self& operator=(const Self& src);
|
||||||
|
|
||||||
|
|
@ -486,11 +485,11 @@ private:
|
||||||
//-------------------------------------------------------
|
//-------------------------------------------------------
|
||||||
// Method implementation
|
// Method implementation
|
||||||
//-------------------------------------------------------
|
//-------------------------------------------------------
|
||||||
template<class F, class BGT, class RNG>
|
template<class F, class BGT>
|
||||||
Labeled_mesh_domain_3<F,BGT,RNG>::Labeled_mesh_domain_3(
|
Labeled_mesh_domain_3<F,BGT>::Labeled_mesh_domain_3(
|
||||||
const F& f,
|
const F& f,
|
||||||
const Sphere_3& bounding_sphere,
|
const Sphere_3& bounding_sphere,
|
||||||
RNG rng,
|
CGAL::Random& rng,
|
||||||
const FT& error_bound )
|
const FT& error_bound )
|
||||||
: function_(f)
|
: function_(f)
|
||||||
, bbox_(iso_cuboid(bounding_sphere.bbox()))
|
, bbox_(iso_cuboid(bounding_sphere.bbox()))
|
||||||
|
|
@ -500,11 +499,11 @@ Labeled_mesh_domain_3<F,BGT,RNG>::Labeled_mesh_domain_3(
|
||||||
// TODO : CGAL_ASSERT(0 < f(bounding_sphere.get_center()) ) ?
|
// TODO : CGAL_ASSERT(0 < f(bounding_sphere.get_center()) ) ?
|
||||||
}
|
}
|
||||||
|
|
||||||
template<class F, class BGT, class RNG>
|
template<class F, class BGT>
|
||||||
Labeled_mesh_domain_3<F,BGT,RNG>::Labeled_mesh_domain_3(
|
Labeled_mesh_domain_3<F,BGT>::Labeled_mesh_domain_3(
|
||||||
const F& f,
|
const F& f,
|
||||||
const Bbox_3& bbox,
|
const Bbox_3& bbox,
|
||||||
RNG rng,
|
CGAL::Random& rng,
|
||||||
const FT& error_bound )
|
const FT& error_bound )
|
||||||
: function_(f)
|
: function_(f)
|
||||||
, bbox_(iso_cuboid(bbox))
|
, bbox_(iso_cuboid(bbox))
|
||||||
|
|
@ -516,10 +515,10 @@ Labeled_mesh_domain_3<F,BGT,RNG>::Labeled_mesh_domain_3(
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
template<class F, class BGT, class RNG>
|
template<class F, class BGT>
|
||||||
template<class OutputIterator>
|
template<class OutputIterator>
|
||||||
OutputIterator
|
OutputIterator
|
||||||
Labeled_mesh_domain_3<F,BGT,RNG>::Construct_initial_points::operator()(
|
Labeled_mesh_domain_3<F,BGT>::Construct_initial_points::operator()(
|
||||||
OutputIterator pts,
|
OutputIterator pts,
|
||||||
const int nb_points) const
|
const int nb_points) const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -149,7 +149,6 @@ struct IGT_generator<Gt,CGAL::Tag_false>
|
||||||
template<class Polyhedron,
|
template<class Polyhedron,
|
||||||
class IGT_,
|
class IGT_,
|
||||||
class TriangleAccessor=Triangle_accessor_3<Polyhedron,IGT_>,
|
class TriangleAccessor=Triangle_accessor_3<Polyhedron,IGT_>,
|
||||||
class RNG=CGAL::Random,
|
|
||||||
class Use_patch_id_tag=Tag_false,
|
class Use_patch_id_tag=Tag_false,
|
||||||
class Use_exact_intersection_construction_tag = CGAL::Tag_true>
|
class Use_exact_intersection_construction_tag = CGAL::Tag_true>
|
||||||
class Polyhedral_mesh_domain_3
|
class Polyhedral_mesh_domain_3
|
||||||
|
|
@ -206,17 +205,15 @@ public:
|
||||||
: tree_()
|
: tree_()
|
||||||
, bounding_tree_(&tree_)
|
, bounding_tree_(&tree_)
|
||||||
, has_cache(false)
|
, has_cache(false)
|
||||||
, rng_(CGAL::default_random)
|
, rng_(CGAL::Random(0))
|
||||||
{
|
{}
|
||||||
CGAL::default_random = CGAL::Random(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Constructor. Contruction from a polyhedral surface
|
* @brief Constructor. Contruction from a polyhedral surface
|
||||||
* @param polyhedron the polyhedron describing the polyhedral surface
|
* @param polyhedron the polyhedron describing the polyhedral surface
|
||||||
*/
|
*/
|
||||||
Polyhedral_mesh_domain_3(const Polyhedron& p,
|
Polyhedral_mesh_domain_3(const Polyhedron& p,
|
||||||
RNG rng = CGAL::Random(0))
|
CGAL::Random& rng = CGAL::Random(0))
|
||||||
: tree_(TriangleAccessor().triangles_begin(p),
|
: tree_(TriangleAccessor().triangles_begin(p),
|
||||||
TriangleAccessor().triangles_end(p)),
|
TriangleAccessor().triangles_end(p)),
|
||||||
bounding_tree_(&tree_) // the bounding tree is tree_
|
bounding_tree_(&tree_) // the bounding tree is tree_
|
||||||
|
|
@ -231,7 +228,7 @@ public:
|
||||||
|
|
||||||
Polyhedral_mesh_domain_3(const Polyhedron& p,
|
Polyhedral_mesh_domain_3(const Polyhedron& p,
|
||||||
const Polyhedron& bounding_polyhedron,
|
const Polyhedron& bounding_polyhedron,
|
||||||
RNG rng = CGAL::Random(0))
|
CGAL::Random& rng = CGAL::Random(0))
|
||||||
: tree_(TriangleAccessor().triangles_begin(p),
|
: tree_(TriangleAccessor().triangles_begin(p),
|
||||||
TriangleAccessor().triangles_end(p))
|
TriangleAccessor().triangles_end(p))
|
||||||
, bounding_tree_(new AABB_tree_(TriangleAccessor().triangles_begin(bounding_polyhedron),
|
, bounding_tree_(new AABB_tree_(TriangleAccessor().triangles_begin(bounding_polyhedron),
|
||||||
|
|
@ -260,7 +257,7 @@ public:
|
||||||
Polyhedral_mesh_domain_3(InputPolyhedraPtrIterator begin,
|
Polyhedral_mesh_domain_3(InputPolyhedraPtrIterator begin,
|
||||||
InputPolyhedraPtrIterator end,
|
InputPolyhedraPtrIterator end,
|
||||||
const Polyhedron& bounding_polyhedron,
|
const Polyhedron& bounding_polyhedron,
|
||||||
RNG rng = CGAL::Random(0))
|
CGAL::Random& rng = CGAL::Random(0))
|
||||||
: has_cache(false)
|
: has_cache(false)
|
||||||
, rng_(rng)
|
, rng_(rng)
|
||||||
{
|
{
|
||||||
|
|
@ -297,7 +294,7 @@ public:
|
||||||
template <typename InputPolyhedraPtrIterator>
|
template <typename InputPolyhedraPtrIterator>
|
||||||
Polyhedral_mesh_domain_3(InputPolyhedraPtrIterator begin,
|
Polyhedral_mesh_domain_3(InputPolyhedraPtrIterator begin,
|
||||||
InputPolyhedraPtrIterator end,
|
InputPolyhedraPtrIterator end,
|
||||||
RNG rng = CGAL::Random(0))
|
CGAL::Random& rng = CGAL::Random(0))
|
||||||
: has_cache(false)
|
: has_cache(false)
|
||||||
, rng_(rng)
|
, rng_(rng)
|
||||||
{
|
{
|
||||||
|
|
@ -610,7 +607,7 @@ private:
|
||||||
mutable AABB_primitive_id cached_primitive_id;
|
mutable AABB_primitive_id cached_primitive_id;
|
||||||
|
|
||||||
//random number generator for Construct_initial_points
|
//random number generator for Construct_initial_points
|
||||||
RNG& rng_;
|
CGAL::Random& rng_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
@ -641,10 +638,10 @@ private:
|
||||||
|
|
||||||
|
|
||||||
template<typename P_, typename IGT_, typename TA,
|
template<typename P_, typename IGT_, typename TA,
|
||||||
typename RNG_, typename Tag, typename E_tag_>
|
typename Tag, typename E_tag_>
|
||||||
template<class OutputIterator>
|
template<class OutputIterator>
|
||||||
OutputIterator
|
OutputIterator
|
||||||
Polyhedral_mesh_domain_3<P_,IGT_,TA,RNG_,Tag,E_tag_>::
|
Polyhedral_mesh_domain_3<P_,IGT_,TA,Tag,E_tag_>::
|
||||||
Construct_initial_points::operator()(OutputIterator pts,
|
Construct_initial_points::operator()(OutputIterator pts,
|
||||||
const int n) const
|
const int n) const
|
||||||
{
|
{
|
||||||
|
|
@ -697,9 +694,9 @@ Construct_initial_points::operator()(OutputIterator pts,
|
||||||
|
|
||||||
|
|
||||||
template<typename P_, typename IGT_, typename TA,
|
template<typename P_, typename IGT_, typename TA,
|
||||||
typename RNG_, typename Tag, typename E_tag_>
|
typename Tag, typename E_tag_>
|
||||||
typename Polyhedral_mesh_domain_3<P_,IGT_,TA,RNG_,Tag,E_tag_>::Subdomain
|
typename Polyhedral_mesh_domain_3<P_,IGT_,TA,Tag,E_tag_>::Subdomain
|
||||||
Polyhedral_mesh_domain_3<P_,IGT_,TA,RNG_,Tag,E_tag_>::
|
Polyhedral_mesh_domain_3<P_,IGT_,TA,Tag,E_tag_>::
|
||||||
Is_in_domain::operator()(const Point_3& p) const
|
Is_in_domain::operator()(const Point_3& p) const
|
||||||
{
|
{
|
||||||
if(r_domain_.bounding_tree_ == 0) return Subdomain();
|
if(r_domain_.bounding_tree_ == 0) return Subdomain();
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,6 @@ namespace CGAL {
|
||||||
template < class IGT_,
|
template < class IGT_,
|
||||||
class Polyhedron_ = typename Mesh_polyhedron_3<IGT_>::type,
|
class Polyhedron_ = typename Mesh_polyhedron_3<IGT_>::type,
|
||||||
class TriangleAccessor=Triangle_accessor_3<Polyhedron_,IGT_>,
|
class TriangleAccessor=Triangle_accessor_3<Polyhedron_,IGT_>,
|
||||||
class RNG=CGAL::Random,
|
|
||||||
class Use_patch_id_tag = Tag_true,
|
class Use_patch_id_tag = Tag_true,
|
||||||
class Use_exact_intersection_construction_tag = CGAL::Tag_true >
|
class Use_exact_intersection_construction_tag = CGAL::Tag_true >
|
||||||
class Polyhedral_mesh_domain_with_features_3
|
class Polyhedral_mesh_domain_with_features_3
|
||||||
|
|
@ -65,13 +64,12 @@ class Polyhedral_mesh_domain_with_features_3
|
||||||
Polyhedral_mesh_domain_3< Polyhedron_,
|
Polyhedral_mesh_domain_3< Polyhedron_,
|
||||||
IGT_,
|
IGT_,
|
||||||
TriangleAccessor,
|
TriangleAccessor,
|
||||||
RNG,
|
|
||||||
Use_patch_id_tag,
|
Use_patch_id_tag,
|
||||||
Use_exact_intersection_construction_tag > >
|
Use_exact_intersection_construction_tag > >
|
||||||
{
|
{
|
||||||
typedef Mesh_domain_with_polyline_features_3<
|
typedef Mesh_domain_with_polyline_features_3<
|
||||||
Polyhedral_mesh_domain_3<
|
Polyhedral_mesh_domain_3<
|
||||||
Polyhedron_, IGT_, TriangleAccessor, RNG,
|
Polyhedron_, IGT_, TriangleAccessor,
|
||||||
Use_patch_id_tag, Use_exact_intersection_construction_tag > > Base;
|
Use_patch_id_tag, Use_exact_intersection_construction_tag > > Base;
|
||||||
|
|
||||||
typedef Polyhedron_ Polyhedron;
|
typedef Polyhedron_ Polyhedron;
|
||||||
|
|
@ -128,8 +126,8 @@ private:
|
||||||
|
|
||||||
|
|
||||||
template < typename GT_, typename P_, typename TA_,
|
template < typename GT_, typename P_, typename TA_,
|
||||||
typename RNG_, typename Tag_, typename E_tag_>
|
typename Tag_, typename E_tag_>
|
||||||
Polyhedral_mesh_domain_with_features_3<GT_,P_,TA_,RNG_,Tag_,E_tag_>::
|
Polyhedral_mesh_domain_with_features_3<GT_,P_,TA_,Tag_,E_tag_>::
|
||||||
Polyhedral_mesh_domain_with_features_3(const Polyhedron& p)
|
Polyhedral_mesh_domain_with_features_3(const Polyhedron& p)
|
||||||
: Base()
|
: Base()
|
||||||
, polyhedron_(p)
|
, polyhedron_(p)
|
||||||
|
|
@ -138,8 +136,8 @@ Polyhedral_mesh_domain_with_features_3(const Polyhedron& p)
|
||||||
}
|
}
|
||||||
|
|
||||||
template < typename GT_, typename P_, typename TA_,
|
template < typename GT_, typename P_, typename TA_,
|
||||||
typename RNG_, typename Tag_, typename E_tag_>
|
typename Tag_, typename E_tag_>
|
||||||
Polyhedral_mesh_domain_with_features_3<GT_,P_,TA_,RNG_,Tag_,E_tag_>::
|
Polyhedral_mesh_domain_with_features_3<GT_,P_,TA_,Tag_,E_tag_>::
|
||||||
Polyhedral_mesh_domain_with_features_3(const std::string& filename)
|
Polyhedral_mesh_domain_with_features_3(const std::string& filename)
|
||||||
: Base()
|
: Base()
|
||||||
, polyhedron_()
|
, polyhedron_()
|
||||||
|
|
@ -152,9 +150,9 @@ Polyhedral_mesh_domain_with_features_3(const std::string& filename)
|
||||||
|
|
||||||
|
|
||||||
template < typename GT_, typename P_, typename TA_,
|
template < typename GT_, typename P_, typename TA_,
|
||||||
typename RNG_, typename Tag_, typename E_tag_>
|
typename Tag_, typename E_tag_>
|
||||||
void
|
void
|
||||||
Polyhedral_mesh_domain_with_features_3<GT_,P_,TA_,RNG_,Tag_,E_tag_>::
|
Polyhedral_mesh_domain_with_features_3<GT_,P_,TA_,Tag_,E_tag_>::
|
||||||
initialize_ts(Polyhedron& p)
|
initialize_ts(Polyhedron& p)
|
||||||
{
|
{
|
||||||
std::size_t ts = 0;
|
std::size_t ts = 0;
|
||||||
|
|
@ -177,9 +175,9 @@ initialize_ts(Polyhedron& p)
|
||||||
|
|
||||||
|
|
||||||
template < typename GT_, typename P_, typename TA_,
|
template < typename GT_, typename P_, typename TA_,
|
||||||
typename RNG_, typename Tag_, typename E_tag_>
|
typename Tag_, typename E_tag_>
|
||||||
void
|
void
|
||||||
Polyhedral_mesh_domain_with_features_3<GT_,P_,TA_,RNG_,Tag_,E_tag_>::
|
Polyhedral_mesh_domain_with_features_3<GT_,P_,TA_,Tag_,E_tag_>::
|
||||||
detect_features(FT angle_in_degree, Polyhedron& p)
|
detect_features(FT angle_in_degree, Polyhedron& p)
|
||||||
{
|
{
|
||||||
initialize_ts(p);
|
initialize_ts(p);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue