OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
MarchingSquares.hpp File Reference
#include "Execution/ExecutionTBB.hpp"
#include <ostream>
#include "libslic3r/Execution/Execution.hpp"
#include <array>
#include <iterator>
#include <type_traits>
#include <cstdint>
#include <vector>
#include <algorithm>
#include <cassert>
#include <cstdio>
#include <iomanip>
Include dependency graph for MarchingSquares.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  marchsq::Coord
struct  marchsq::_RasterTraits< T, Enable >
struct  marchsq::_Loop< ExecutionPolicy, Enable >
struct  marchsq::_Loop< Slic3r::ExecutionTBB >
class  marchsq::__impl::Grid< Rst >
struct  marchsq::__impl::Grid< Rst >::CellIt
struct  marchsq::__impl::Grid< Rst >::Edge

Namespaces

namespace  marchsq
namespace  marchsq::__impl

Typedefs

using marchsq::Ring = std::vector<Coord>
template<class T>
using marchsq::__impl::RasterTraits = _RasterTraits<std::decay_t<T>>
template<class T>
using marchsq::__impl::TRasterValue = typename RasterTraits<T>::ValueType

Enumerations

enum class  marchsq::__impl::Dir : uint8_t {
  marchsq::__impl::none = 0b0000 , marchsq::__impl::left = 0b0001 , marchsq::__impl::down = 0b0010 , marchsq::__impl::right = 0b0100 ,
  marchsq::__impl::leftright = left | right , marchsq::__impl::up = 0b1000 , marchsq::__impl::updown = up | down , marchsq::__impl::all = 0b1111
}

Functions

std::ostream & marchsq::operator<< (std::ostream &os, const Coord &o)
std::ostream & marchsq::operator<< (std::ostream &os, const Ring &r)
template<class T>
size_t marchsq::__impl::rows (const T &raster)
template<class T>
size_t marchsq::__impl::cols (const T &raster)
template<class T>
TRasterValue< T > marchsq::__impl::isoval (const T &rst, const Coord &crd)
template<class ExecutionPolicy, class It, class Fn>
void marchsq::__impl::for_each_idx (ExecutionPolicy &&policy, It from, It to, Fn &&fn)
template<class E>
constexpr std::underlying_type_t< E > marchsq::__impl::_t (E e) noexcept
std::ostream & marchsq::__impl::operator<< (std::ostream &os, const Dir &d)
void marchsq::__impl::step (Coord &crd, const Dir d, const long n=1)
template<class Raster, class ExecutionPolicy>
std::vector< marchsq::Ring > marchsq::__impl::execute_with_policy (ExecutionPolicy &&policy, const Raster &raster, TRasterValue< Raster > isoval, Coord windowsize={})
template<class Raster>
std::vector< marchsq::Ring > marchsq::__impl::execute (const Raster &raster, TRasterValue< Raster > isoval, Coord windowsize={})
template<class Raster, class ExecutionPolicy>
std::vector< marchsq::Ring > marchsq::execute_with_policy (ExecutionPolicy &&policy, const Raster &raster, TRasterValue< Raster > isoval, Coord windowsize={})
template<class Raster>
std::vector< marchsq::Ring > marchsq::execute (const Raster &raster, TRasterValue< Raster > isoval, Coord windowsize={})

Variables

static const constexpr std::array< uint32_t, 16 > marchsq::__impl::NEXT_CCW

Class Documentation

◆ marchsq::__impl::Grid::Edge

struct marchsq::__impl::Grid::Edge
template<class Rst>
struct marchsq::__impl::Grid< Rst >::Edge
Collaboration diagram for marchsq::__impl::Grid< Rst >::Edge:
Class Members
CellIt from
CellIt to