mirror of https://github.com/CGAL/cgal
Updated
This commit is contained in:
parent
1cfbb7a34d
commit
47b1a93240
|
|
@ -24,6 +24,27 @@ namespace CGAL {
|
||||||
|
|
||||||
namespace Set_movable_separability_2 {
|
namespace Set_movable_separability_2 {
|
||||||
|
|
||||||
|
/*! Given a simple polygon and an edge of the polygon, this function determines
|
||||||
|
* whether a cavity (of a mold in the plane) that has the shape of the polygon
|
||||||
|
* can be used so that the polygon could be casted in the mold with the input
|
||||||
|
* edge being the top edge and then pulled out of the mold without colliding
|
||||||
|
* into the mold (but possibly sliding along the mold surface). If the polygon
|
||||||
|
* is <em>castable</em> this way, the function computes the closed range of pull
|
||||||
|
* directions asuming that the the top edge normal is parallel to the
|
||||||
|
* \f$y\f$-axis. In other words, every direction in the range (if exists) must
|
||||||
|
* have a positive component in the positive \f$y\f$-direction.
|
||||||
|
*
|
||||||
|
* \param[in] pgn the input polygon.
|
||||||
|
* \param[in] i the index of an edge in pgn.
|
||||||
|
* \return a pair of elements, where the first is a Boolean that indicates
|
||||||
|
* whether the input edge is a valid top edge, and the second
|
||||||
|
* is a closed range of pull-out directions represented as a pair
|
||||||
|
* of the extreme directions in the range. If the input edge is not
|
||||||
|
* a valid top edge, the range is nondeterministic.
|
||||||
|
*
|
||||||
|
* \pre `png` must be non-degenerate (has at least 3 vertices), simple, and
|
||||||
|
* does not have three consecutive collinear vertices.
|
||||||
|
*/
|
||||||
template <typename CastingTraits_2>
|
template <typename CastingTraits_2>
|
||||||
std::pair<bool, std::pair<typename CastingTraits_2::Direction_2,
|
std::pair<bool, std::pair<typename CastingTraits_2::Direction_2,
|
||||||
typename CastingTraits_2::Direction_2> >
|
typename CastingTraits_2::Direction_2> >
|
||||||
|
|
@ -38,6 +59,11 @@ top_edge_single_mold_translational_casting_2
|
||||||
template <typename CastingTraits_2>
|
template <typename CastingTraits_2>
|
||||||
std::pair<bool, std::pair<typename CastingTraits_2::Direction_2,
|
std::pair<bool, std::pair<typename CastingTraits_2::Direction_2,
|
||||||
typename CastingTraits_2::Direction_2> >
|
typename CastingTraits_2::Direction_2> >
|
||||||
|
/*! Same as above with the additional traits argument.
|
||||||
|
* \param[in] pgn the input polygon.
|
||||||
|
* \param[in] i the index of an edge in pgn.
|
||||||
|
* \param[in] traits the traits to use.
|
||||||
|
*/
|
||||||
top_edge_single_mold_translational_casting_2
|
top_edge_single_mold_translational_casting_2
|
||||||
(const CGAL::Polygon_2<CastingTraits_2>& pgn, size_t i)
|
(const CGAL::Polygon_2<CastingTraits_2>& pgn, size_t i)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue