mirror of https://github.com/CGAL/cgal
remove some Point_set_processing specific helper classes
This commit is contained in:
parent
d1047a7560
commit
821e7b79a2
|
|
@ -355,7 +355,7 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
|
|||
friend void put(const DummyNormalMap&, const key_type&, const value_type&) { }
|
||||
};
|
||||
|
||||
typedef DummyNormalMap NoMap;
|
||||
typedef DummyNormalMap NoMap; // public
|
||||
typedef typename internal_np::Lookup_named_param_def<
|
||||
internal_np::normal_t,
|
||||
NamedParameters,
|
||||
|
|
@ -367,6 +367,11 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
|
|||
return parameters::choose_parameter<Point_map>(parameters::get_parameter(np, internal_np::point_map));
|
||||
}
|
||||
|
||||
static Point_map get_point_map(const NamedParameters& np)
|
||||
{
|
||||
return parameters::choose_parameter<Point_map>(parameters::get_parameter(np, internal_np::point_map));
|
||||
}
|
||||
|
||||
static Const_point_map get_const_point_map(const PointRange&, const NamedParameters& np)
|
||||
{
|
||||
return parameters::choose_parameter<Const_point_map>(parameters::get_parameter(np, internal_np::point_map));
|
||||
|
|
@ -377,6 +382,11 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
|
|||
return parameters::choose_parameter<Normal_map>(parameters::get_parameter(np, internal_np::normal_map));
|
||||
}
|
||||
|
||||
static Normal_map get_normal_map(const NamedParameters& np)
|
||||
{
|
||||
return parameters::choose_parameter<Normal_map>(parameters::get_parameter(np, internal_np::normal_map));
|
||||
}
|
||||
|
||||
static Geom_traits get_geom_traits(const PointRange&, const NamedParameters& np)
|
||||
{
|
||||
return parameters::choose_parameter<Geom_traits>(parameters::get_parameter(np, internal_np::geom_traits));
|
||||
|
|
@ -397,67 +407,6 @@ CGAL_DEF_GET_INITIALIZED_INDEX_MAP(face, typename boost::graph_traits<Graph>::fa
|
|||
};
|
||||
};
|
||||
|
||||
namespace parameters
|
||||
{
|
||||
template <typename PointRange>
|
||||
CGAL::parameters::Default_named_parameters
|
||||
inline all_default(const PointRange&)
|
||||
{
|
||||
return CGAL::parameters::all_default();
|
||||
}
|
||||
}
|
||||
|
||||
template<typename PointRange>
|
||||
class GetFT
|
||||
{
|
||||
public:
|
||||
typedef typename Kernel_traits<
|
||||
typename std::iterator_traits<
|
||||
typename PointRange::iterator
|
||||
>::value_type
|
||||
>::Kernel::FT type;
|
||||
};
|
||||
|
||||
template<typename PointRange, typename NamedParameters>
|
||||
class GetK
|
||||
{
|
||||
typedef typename GetPointMap<PointRange, NamedParameters>::type Vpm;
|
||||
typedef typename Kernel_traits<
|
||||
typename boost::property_traits<Vpm>::value_type
|
||||
>::Kernel Default_kernel;
|
||||
|
||||
public:
|
||||
typedef typename internal_np::Lookup_named_param_def <
|
||||
internal_np::geom_traits_t,
|
||||
NamedParameters,
|
||||
Default_kernel
|
||||
> ::type Kernel;
|
||||
};
|
||||
|
||||
template<typename PointRange, typename NamedParameters>
|
||||
class GetNormalMap
|
||||
{
|
||||
struct DummyNormalMap
|
||||
{
|
||||
typedef typename std::iterator_traits<typename PointRange::iterator>::value_type key_type;
|
||||
typedef typename GetK<PointRange, NamedParameters>::Kernel::Vector_3 value_type;
|
||||
typedef value_type reference;
|
||||
typedef boost::read_write_property_map_tag category;
|
||||
|
||||
typedef DummyNormalMap Self;
|
||||
friend value_type get(const Self&, const key_type&) { return CGAL::NULL_VECTOR; }
|
||||
friend void put(const Self&, const key_type&, const value_type&) { }
|
||||
};
|
||||
|
||||
public:
|
||||
typedef DummyNormalMap NoMap;
|
||||
typedef typename internal_np::Lookup_named_param_def <
|
||||
internal_np::normal_t,
|
||||
NamedParameters,
|
||||
DummyNormalMap//default
|
||||
> ::type type;
|
||||
};
|
||||
|
||||
template<typename PlaneRange, typename NamedParameters>
|
||||
class GetPlaneMap
|
||||
{
|
||||
|
|
|
|||
|
|
@ -92,16 +92,16 @@ bool read_OFF(std::istream& is,
|
|||
typedef Point_set_processing_3::Fake_point_range<OutputIteratorValueType> PointRange;
|
||||
|
||||
// basic geometric types
|
||||
typedef typename CGAL::GetPointMap<PointRange, CGAL_BGL_NP_CLASS>::type PointMap;
|
||||
typedef typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::type NormalMap;
|
||||
typedef typename Point_set_processing_3::GetK<PointRange, CGAL_BGL_NP_CLASS>::Kernel Kernel;
|
||||
typedef Point_set_processing_3_np_helper<PointRange, CGAL_BGL_NP_CLASS> NP_helper;
|
||||
typedef typename NP_helper::Point_map PointMap;
|
||||
typedef typename NP_helper::Normal_map NormalMap;
|
||||
typedef typename NP_helper::Geom_traits Kernel;
|
||||
typedef typename Kernel::FT FT;
|
||||
|
||||
bool has_normals = !(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::NoMap>::value);
|
||||
bool has_normals = !(boost::is_same<NormalMap, typename NP_helper::NoMap>::value);
|
||||
|
||||
PointMap point_map = choose_parameter<PointMap>(get_parameter(np, internal_np::point_map));
|
||||
NormalMap normal_map = choose_parameter<NormalMap>(get_parameter(np, internal_np::normal_map));
|
||||
PointMap point_map = NP_helper::get_point_map(np);
|
||||
NormalMap normal_map = NP_helper::get_normal_map(np);
|
||||
|
||||
// value_type_traits is a workaround as back_insert_iterator's value_type is void
|
||||
// typedef typename value_type_traits<OutputIterator>::type Enriched_point;
|
||||
|
|
|
|||
|
|
@ -254,14 +254,14 @@ bool read_PLY(std::istream& is,
|
|||
typedef Point_set_processing_3::Fake_point_range<OutputIteratorValueType> PointRange;
|
||||
|
||||
// basic geometric types
|
||||
typedef typename CGAL::GetPointMap<PointRange, CGAL_BGL_NP_CLASS>::type PointMap;
|
||||
typedef typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::type NormalMap;
|
||||
typedef Point_set_processing_3_np_helper<PointRange, CGAL_BGL_NP_CLASS> NP_helper;
|
||||
typedef typename NP_helper::Point_map PointMap;
|
||||
typedef typename NP_helper::Normal_map NormalMap;
|
||||
|
||||
bool has_normals = !(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::NoMap>::value);
|
||||
bool has_normals = !(boost::is_same<NormalMap, typename NP_helper::NoMap>::value);
|
||||
|
||||
PointMap point_map = choose_parameter<PointMap>(get_parameter(np, internal_np::point_map));
|
||||
NormalMap normal_map = choose_parameter<NormalMap>(get_parameter(np, internal_np::normal_map));
|
||||
PointMap point_map = NP_helper::get_point_map(np);
|
||||
NormalMap normal_map = NP_helper::get_normal_map(np);
|
||||
|
||||
if(has_normals)
|
||||
return read_PLY_with_properties(is, output,
|
||||
|
|
|
|||
|
|
@ -85,15 +85,15 @@ bool read_XYZ(std::istream& is,
|
|||
typedef Point_set_processing_3::Fake_point_range<OutputIteratorValueType> PointRange;
|
||||
|
||||
// basic geometric types
|
||||
typedef typename CGAL::GetPointMap<PointRange, CGAL_BGL_NP_CLASS>::type PointMap;
|
||||
typedef typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::type NormalMap;
|
||||
typedef typename Point_set_processing_3::GetK<PointRange, CGAL_BGL_NP_CLASS>::Kernel Kernel;
|
||||
typedef Point_set_processing_3_np_helper<PointRange, CGAL_BGL_NP_CLASS> NP_helper;
|
||||
typedef typename NP_helper::Point_map PointMap;
|
||||
typedef typename NP_helper::Normal_map NormalMap;
|
||||
typedef typename NP_helper::Geom_traits Kernel;
|
||||
|
||||
bool has_normals = !(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::NoMap>::value);
|
||||
bool has_normals = !(boost::is_same<NormalMap, typename NP_helper::NoMap>::value);
|
||||
|
||||
PointMap point_map = choose_parameter<PointMap>(get_parameter(np, internal_np::point_map));
|
||||
NormalMap normal_map = choose_parameter<NormalMap>(get_parameter(np, internal_np::normal_map));
|
||||
PointMap point_map = NP_helper::get_point_map(np);
|
||||
NormalMap normal_map = NP_helper::get_normal_map(np);
|
||||
|
||||
// value_type_traits is a workaround as back_insert_iterator's value_type is void
|
||||
//typedef typename value_type_traits<OutputIterator>::type Enriched_point;
|
||||
|
|
|
|||
|
|
@ -44,13 +44,14 @@ bool write_OFF_PSP(std::ostream& os,
|
|||
using CGAL::parameters::is_default_parameter;
|
||||
|
||||
// basic geometric types
|
||||
typedef typename CGAL::GetPointMap<PointRange, CGAL_BGL_NP_CLASS>::type PointMap;
|
||||
typedef typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::type NormalMap;
|
||||
typedef Point_set_processing_3_np_helper<PointRange, CGAL_BGL_NP_CLASS> NP_helper;
|
||||
typedef typename NP_helper::Const_point_map PointMap;
|
||||
typedef typename NP_helper::Normal_map NormalMap;
|
||||
|
||||
const bool has_normals = !(is_default_parameter(get_parameter(np, internal_np::normal_map)));
|
||||
|
||||
PointMap point_map = choose_parameter<PointMap>(get_parameter(np, internal_np::point_map));
|
||||
NormalMap normal_map = choose_parameter<NormalMap>(get_parameter(np, internal_np::normal_map));
|
||||
PointMap point_map = NP_helper::get_const_point_map(points, np);
|
||||
NormalMap normal_map = NP_helper::get_normal_map(points, np);
|
||||
|
||||
CGAL_point_set_processing_precondition(points.begin() != points.end());
|
||||
|
||||
|
|
|
|||
|
|
@ -201,8 +201,7 @@ bool write_PLY(std::ostream& os,
|
|||
typedef typename NP_helper::Const_point_map PointMap;
|
||||
typedef typename NP_helper::Normal_map NormalMap;
|
||||
|
||||
bool has_normals = !(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::NoMap>::value);
|
||||
bool has_normals = !(boost::is_same<NormalMap, typename NP_helper::NoMap>::value);
|
||||
|
||||
PointMap point_map = NP_helper::get_const_point_map(points, np);
|
||||
NormalMap normal_map = NP_helper::get_normal_map(points, np);
|
||||
|
|
|
|||
|
|
@ -43,15 +43,14 @@ bool write_XYZ_PSP(std::ostream& os,
|
|||
using CGAL::parameters::get_parameter;
|
||||
|
||||
// basic geometric types
|
||||
typedef typename CGAL::GetPointMap<PointRange, CGAL_BGL_NP_CLASS>::type PointMap;
|
||||
typedef typename Point_set_processing_3::GetNormalMap<PointRange, CGAL_BGL_NP_CLASS>::type NormalMap;
|
||||
typedef Point_set_processing_3_np_helper<PointRange, CGAL_BGL_NP_CLASS> NP_helper;
|
||||
typedef typename NP_helper::Const_point_map PointMap;
|
||||
typedef typename NP_helper::Normal_map NormalMap;
|
||||
|
||||
bool has_normals = !(std::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<
|
||||
PointRange, CGAL_BGL_NP_CLASS>::NoMap>::value);
|
||||
bool has_normals = !(boost::is_same<NormalMap, typename NP_helper::NoMap>::value);
|
||||
|
||||
PointMap point_map = choose_parameter<PointMap>(get_parameter(np, internal_np::point_map));
|
||||
NormalMap normal_map = choose_parameter<NormalMap>(get_parameter(np, internal_np::normal_map));
|
||||
PointMap point_map = NP_helper::get_const_point_map(points, np);
|
||||
NormalMap normal_map = NP_helper::get_normal_map(points, np);
|
||||
|
||||
CGAL_point_set_processing_precondition(points.begin() != points.end());
|
||||
|
||||
|
|
|
|||
|
|
@ -278,8 +278,7 @@ bilateral_smooth_point_set(
|
|||
typedef typename Kernel::Point_3 Point_3;
|
||||
typedef typename Kernel::Vector_3 Vector_3;
|
||||
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, NamedParameters>::NoMap>::value),
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap, typename NP_helper::NoMap>::value),
|
||||
"Error: no normal map");
|
||||
|
||||
typedef typename Kernel::FT FT;
|
||||
|
|
|
|||
|
|
@ -367,8 +367,7 @@ edge_aware_upsample_point_set(
|
|||
typedef typename NP_helper::Geom_traits Kernel;
|
||||
|
||||
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, NamedParameters>::NoMap>::value),
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap, typename NP_helper::NoMap>::value),
|
||||
"Error: no normal map");
|
||||
|
||||
typedef typename Kernel::Point_3 Point;
|
||||
|
|
|
|||
|
|
@ -196,8 +196,7 @@ jet_estimate_normals(
|
|||
typedef typename Kernel::FT FT;
|
||||
typedef typename GetSvdTraits<NamedParameters>::type SvdTraits;
|
||||
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, NamedParameters>::NoMap>::value),
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap, typename NP_helper::NoMap>::value),
|
||||
"Error: no normal map");
|
||||
CGAL_static_assertion_msg(!(boost::is_same<SvdTraits,
|
||||
typename GetSvdTraits<NamedParameters>::NoTraits>::value),
|
||||
|
|
|
|||
|
|
@ -617,8 +617,7 @@ mst_orient_normals(
|
|||
typedef typename NP_helper::Geom_traits Kernel;
|
||||
typedef typename Point_set_processing_3::GetIsConstrainedMap<PointRange, NamedParameters>::type ConstrainedMap;
|
||||
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, NamedParameters>::NoMap>::value),
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap, typename NP_helper::NoMap>::value),
|
||||
"Error: no normal map");
|
||||
|
||||
PointMap point_map = NP_helper::get_point_map(points, np);
|
||||
|
|
|
|||
|
|
@ -168,8 +168,7 @@ pca_estimate_normals(
|
|||
typedef typename NP_helper::Geom_traits Kernel;
|
||||
typedef typename Kernel::FT FT;
|
||||
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, NamedParameters>::NoMap>::value),
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap, typename NP_helper::NoMap>::value),
|
||||
"Error: no normal map");
|
||||
|
||||
PointMap point_map = NP_helper::get_point_map(points, np);
|
||||
|
|
|
|||
|
|
@ -478,9 +478,7 @@ void scanline_orient_normals (PointRange& points, const NamedParameters& np = pa
|
|||
<internal_np::scanline_id_t, NamedParameters, No_map>::type;
|
||||
using Fallback_scanline_ID = Boolean_tag<std::is_same<ScanlineIDMap, No_map>::value>;
|
||||
|
||||
CGAL_static_assertion_msg(!(std::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap
|
||||
<PointRange, NamedParameters>::NoMap>::value),
|
||||
CGAL_static_assertion_msg(!(std::is_same<NormalMap, typename NP_helper::NoMap>::value),
|
||||
"Error: no normal map");
|
||||
|
||||
PointMap point_map = NP_helper::get_point_map(points, np);
|
||||
|
|
|
|||
|
|
@ -233,8 +233,7 @@ public:
|
|||
typedef typename Point_set_processing_3::GetPlaneMap<PlaneRange, NamedParameters>::type PlaneMap;
|
||||
typedef typename Point_set_processing_3::GetPlaneIndexMap<NamedParameters>::type PlaneIndexMap;
|
||||
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, NamedParameters>::NoMap>::value),
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap, typename NP_helper::NoMap>::value),
|
||||
"Error: no normal map");
|
||||
CGAL_static_assertion_msg(!(boost::is_same<PlaneIndexMap,
|
||||
typename Point_set_processing_3::GetPlaneIndexMap<NamedParameters>::NoMap>::value),
|
||||
|
|
|
|||
|
|
@ -321,8 +321,7 @@ vcm_estimate_normals_internal (PointRange& points,
|
|||
typedef typename NP_helper::Geom_traits Kernel;
|
||||
typedef typename GetDiagonalizeTraits<NamedParameters, double, 3>::type DiagonalizeTraits;
|
||||
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap,
|
||||
typename Point_set_processing_3::GetNormalMap<PointRange, NamedParameters>::NoMap>::value),
|
||||
CGAL_static_assertion_msg(!(boost::is_same<NormalMap, typename NP_helper::NoMap>::value),
|
||||
"Error: no normal map");
|
||||
|
||||
PointMap point_map = NP_helper::get_point_map(points, np);
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ void simplify_polyline(const PointRangeIn& input,
|
|||
|
||||
typedef typename GetPointMap<PointRangeIn, NamedParametersIn>::type Point_map_in;
|
||||
typedef typename GetPointMap<PointRangeOut, NamedParametersOut>::type Point_map_out;
|
||||
typedef typename Point_set_processing_3::GetK<PointRangeIn, NamedParametersIn>::Kernel Kernel;
|
||||
typedef typename Point_set_processing_3_np_helper<PointRangeIn, NamedParametersIn>::Geom_traits Kernel;
|
||||
|
||||
Point_map_in in_pm = choose_parameter<Point_map_in>(get_parameter(np_in, internal_np::point_map));
|
||||
Point_map_out out_pm = choose_parameter<Point_map_out>(get_parameter(np_out, internal_np::point_map));
|
||||
|
|
|
|||
Loading…
Reference in New Issue