Use boost::optional::get_ptr() + comments

This commit is contained in:
Clement Jamin 2014-04-01 17:19:54 +02:00
parent 2258e7a810
commit 40538db82e
2 changed files with 18 additions and 1 deletions

View File

@ -172,6 +172,11 @@ public:
{
}
// With this constructor,
// the user can specify a Flat_orientation_d object to be used for
// orienting simplices of a specific dimension
// (= preset_flat_orientation_.first)
// It it used for by dark triangulations created by DT::remove
Delaunay_triangulation(
int dim,
const std::pair<int, const Flat_orientation_d *> &preset_flat_orientation,
@ -453,10 +458,13 @@ Delaunay_triangulation<DCTraits, TDS>
typedef typename Dark_triangulation::Vertex_handle Dark_v_handle;
typedef typename Dark_triangulation::Full_cell_handle Dark_s_handle;
// If flat_orientation_ is defined, we give it the Dark triangulation
// so that the orientation it uses for "current_dimension()"-simplices is
// coherent with the global triangulation
Dark_triangulation dark_side(
maximal_dimension(),
flat_orientation_ ?
std::make_pair(current_dimension(), &flat_orientation_.get())
std::make_pair(current_dimension(), flat_orientation_.get_ptr())
: std::make_pair<int, const Flat_orientation_d *>(std::numeric_limits<int>::max(), NULL) );
Dark_s_handle dark_s;

View File

@ -149,6 +149,10 @@ protected: // DATA MEMBERS
Vertex_handle infinity_;
mutable std::vector<Oriented_side> orientations_;
mutable boost::optional<Flat_orientation_d> flat_orientation_;
// The user can specify a Flat_orientation_d object to be used for
// orienting simplices of a specific dimension
// (= preset_flat_orientation_.first)
// preset_flat_orientation_.first = numeric_limits<int>::max() otherwise)
std::pair<int, const Flat_orientation_d *> preset_flat_orientation_;
// for stochastic walk in the locate() function:
mutable Random rng_;
@ -201,6 +205,11 @@ public:
clear();
}
// With this constructor,
// the user can specify a Flat_orientation_d object to be used for
// orienting simplices of a specific dimension
// (= preset_flat_orientation_.first)
// It it used for by dark triangulations created by DT::remove
Triangulation(
int dim,
const std::pair<int, const Flat_orientation_d *> &preset_flat_orientation,