![]() |
Prusa Slicer 2.6.0
|
#include <src/libslic3r/MarchingSquares.hpp>
Collaboration diagram for marchsq::__impl::Grid< Rst >:Classes | |
| struct | CellIt |
| struct | Edge |
Public Member Functions | |
| Grid (const Rst &rst, const Coord &cellsz, const Coord &overlap) | |
| template<class ExecutionPolicy > | |
| void | tag_grid (ExecutionPolicy &&policy, TRasterValue< Rst > isoval) |
| std::vector< Ring > | scan_rings () |
| template<class ExecutionPolicy > | |
| void | interpolate_rings (ExecutionPolicy &&policy, std::vector< Ring > &rings, TRasterValue< Rst > isov) |
Private Member Functions | |
| Coord | rastercoord (const Coord &crd) const |
| Coord | bl (const Coord &crd) const |
| Coord | br (const Coord &crd) const |
| Coord | tr (const Coord &crd) const |
| Coord | tl (const Coord &crd) const |
| bool | is_within (const Coord &crd) |
| uint8_t | get_tag_for_cell (const Coord &cell, TRasterValue< Rst > v) |
| Coord | coord (size_t i) const |
| size_t | seq (const Coord &crd) const |
| bool | is_visited (size_t idx, Dir d=Dir::none) const |
| void | set_visited (size_t idx, Dir d=Dir::none) |
| bool | is_ambiguous (size_t idx) const |
| size_t | search_start_cell (size_t i=0) const |
| SquareTag | get_tag (size_t idx) const |
| Dir | next_dir (Dir prev, SquareTag tag) const |
| Edge | _edge (const Coord &ringvertex) const |
| Edge | edge (const Coord &ringvertex) const |
Private Attributes | |
| const Rst * | m_rst = nullptr |
| Coord | m_cellsize |
| Coord | m_res_1 |
| Coord | m_window |
| Coord | m_gridsize |
| Coord | m_grid_1 |
| std::vector< uint8_t > | m_tags |
| struct marchsq::__impl::Grid::Edge |
|
inlineexplicit |
|
inlineprivate |
References marchsq::__impl::a, marchsq::__impl::ab, marchsq::__impl::abc, marchsq::__impl::abd, marchsq::__impl::ac, marchsq::__impl::acd, marchsq::__impl::ad, marchsq::__impl::b, marchsq::__impl::bc, marchsq::__impl::bcd, marchsq::__impl::bd, marchsq::__impl::Grid< Rst >::bl(), marchsq::__impl::Grid< Rst >::br(), marchsq::Coord::c, marchsq::__impl::c, marchsq::__impl::cd, marchsq::__impl::Grid< Rst >::coord(), marchsq::__impl::d, marchsq::__impl::down, marchsq::__impl::full, marchsq::__impl::left, marchsq::__impl::Grid< Rst >::m_cellsize, marchsq::__impl::Grid< Rst >::m_rst, marchsq::__impl::Grid< Rst >::m_tags, marchsq::__impl::none, marchsq::Coord::r, marchsq::__impl::right, marchsq::__impl::Grid< Rst >::tl(), marchsq::__impl::Grid< Rst >::tr(), and marchsq::__impl::up.
Referenced by marchsq::__impl::Grid< Rst >::edge().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::__impl::Grid< Rst >::m_res_1, marchsq::Coord::r, and marchsq::__impl::Grid< Rst >::tl().
Referenced by marchsq::__impl::Grid< Rst >::_edge(), and marchsq::__impl::Grid< Rst >::get_tag_for_cell().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::Coord::c, marchsq::__impl::Grid< Rst >::m_res_1, marchsq::Coord::r, and marchsq::__impl::Grid< Rst >::tl().
Referenced by marchsq::__impl::Grid< Rst >::_edge(), and marchsq::__impl::Grid< Rst >::get_tag_for_cell().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::Coord::c, long, and marchsq::__impl::Grid< Rst >::m_gridsize.
Referenced by marchsq::__impl::Grid< Rst >::_edge(), and marchsq::__impl::Grid< Rst >::scan_rings().
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::__impl::Grid< Rst >::_edge(), marchsq::Coord::c, marchsq::__impl::cols(), marchsq::__impl::Grid< Rst >::CellIt::crd, marchsq::__impl::Grid< Rst >::CellIt::dir, marchsq::__impl::Grid< Rst >::Edge::from, marchsq::__impl::Grid< Rst >::m_rst, marchsq::Coord::r, marchsq::__impl::rows(), and marchsq::__impl::Grid< Rst >::Edge::to.
Here is the call graph for this function:
|
inlineprivate |
References marchsq::__impl::Grid< Rst >::m_tags.
Referenced by marchsq::__impl::Grid< Rst >::is_ambiguous(), marchsq::__impl::Grid< Rst >::is_visited(), and marchsq::__impl::Grid< Rst >::scan_rings().
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::__impl::Grid< Rst >::bl(), marchsq::__impl::Grid< Rst >::br(), marchsq::__impl::Grid< Rst >::is_within(), marchsq::__impl::isoval(), marchsq::__impl::Grid< Rst >::m_rst, marchsq::__impl::Grid< Rst >::tl(), and marchsq::__impl::Grid< Rst >::tr().
Here is the call graph for this function:
|
inline |
References marchsq::__impl::for_each().
Here is the call graph for this function:
|
inlineprivate |
References marchsq::__impl::ac, marchsq::__impl::bd, and marchsq::__impl::Grid< Rst >::get_tag().
Referenced by marchsq::__impl::Grid< Rst >::search_start_cell().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::__impl::_t(), marchsq::__impl::d, marchsq::__impl::full, marchsq::__impl::Grid< Rst >::get_tag(), marchsq::__impl::Grid< Rst >::m_tags, marchsq::__impl::none, and marchsq::__impl::PREV_CCW.
Referenced by marchsq::__impl::Grid< Rst >::scan_rings(), and marchsq::__impl::Grid< Rst >::search_start_cell().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::Coord::c, marchsq::__impl::cols(), marchsq::__impl::Grid< Rst >::m_rst, marchsq::Coord::r, and marchsq::__impl::rows().
Referenced by marchsq::__impl::Grid< Rst >::get_tag_for_cell().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::__impl::ac, marchsq::__impl::bd, marchsq::__impl::down, marchsq::__impl::left, marchsq::__impl::NEXT_CCW, marchsq::__impl::none, marchsq::__impl::right, and marchsq::__impl::up.
Referenced by marchsq::__impl::Grid< Rst >::scan_rings().
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::Coord::c, marchsq::__impl::Grid< Rst >::m_window, and marchsq::Coord::r.
Referenced by marchsq::__impl::Grid< Rst >::tl().
Here is the caller graph for this function:
|
inline |
References marchsq::__impl::_t(), marchsq::__impl::Grid< Rst >::coord(), marchsq::__impl::Grid< Rst >::get_tag(), marchsq::__impl::Grid< Rst >::is_visited(), long, marchsq::__impl::Grid< Rst >::m_tags, marchsq::__impl::Grid< Rst >::next_dir(), marchsq::__impl::none, marchsq::__impl::Grid< Rst >::search_start_cell(), marchsq::__impl::Grid< Rst >::seq(), marchsq::__impl::Grid< Rst >::set_visited(), and marchsq::__impl::step().
Here is the call graph for this function:
|
inlineprivate |
References marchsq::__impl::Grid< Rst >::is_ambiguous(), marchsq::__impl::Grid< Rst >::is_visited(), and marchsq::__impl::Grid< Rst >::m_tags.
Referenced by marchsq::__impl::Grid< Rst >::scan_rings().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::__impl::Grid< Rst >::m_gridsize, and marchsq::Coord::seq().
Referenced by marchsq::__impl::Grid< Rst >::scan_rings().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::__impl::_t(), marchsq::__impl::d, and marchsq::__impl::Grid< Rst >::m_tags.
Referenced by marchsq::__impl::Grid< Rst >::scan_rings().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
References marchsq::__impl::for_each(), marchsq::__impl::isoval(), and marchsq::__impl::Grid< Rst >::m_tags.
Here is the call graph for this function:
|
inlineprivate |
References marchsq::__impl::Grid< Rst >::rastercoord().
Referenced by marchsq::__impl::Grid< Rst >::_edge(), marchsq::__impl::Grid< Rst >::bl(), marchsq::__impl::Grid< Rst >::br(), marchsq::__impl::Grid< Rst >::get_tag_for_cell(), and marchsq::__impl::Grid< Rst >::tr().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineprivate |
References marchsq::Coord::c, marchsq::__impl::Grid< Rst >::m_res_1, and marchsq::__impl::Grid< Rst >::tl().
Referenced by marchsq::__impl::Grid< Rst >::_edge(), and marchsq::__impl::Grid< Rst >::get_tag_for_cell().
Here is the call graph for this function:
Here is the caller graph for this function:
|
private |
Referenced by marchsq::__impl::Grid< Rst >::_edge().
|
private |
|
private |
Referenced by marchsq::__impl::Grid< Rst >::coord(), and marchsq::__impl::Grid< Rst >::seq().
|
private |
|
private |
|
private |
Referenced by marchsq::__impl::Grid< Rst >::_edge(), marchsq::__impl::Grid< Rst >::get_tag(), marchsq::__impl::Grid< Rst >::is_visited(), marchsq::__impl::Grid< Rst >::scan_rings(), marchsq::__impl::Grid< Rst >::search_start_cell(), marchsq::__impl::Grid< Rst >::set_visited(), and marchsq::__impl::Grid< Rst >::tag_grid().
|
private |
Referenced by marchsq::__impl::Grid< Rst >::rastercoord().