TuttleOFX  1
floodFill.hpp File Reference
#include <terry/globals.hpp>
#include <terry/draw/fill.hpp>
#include <terry/basic_colors.hpp>
#include <terry/channel.hpp>
#include <terry/math/Rect.hpp>
#include <terry/numeric/minmax.hpp>
#include <terry/algorithm/transform_pixels.hpp>
#include <queue>
#include <list>
Include dependency graph for floodFill.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  terry::filter::floodFill::Connexity4
struct  terry::filter::floodFill::Connexity8
struct  terry::filter::floodFill::IsUpper< T >
struct  terry::filter::floodFill::FloodElement< SView, DView >
 A range of pixels in a line to propagate. More...

Namespaces

namespace  terry
namespace  terry::filter
namespace  terry::filter::floodFill

Enumerations

enum  terry::filter::floodFill::EDirection { terry::filter::floodFill::eDirectionAbove = 0, terry::filter::floodFill::eDirectionBellow = 1 }

Functions

template<class SIterator , class DIterator , class DPixel , class Test >
GIL_FORCEINLINE void terry::filter::floodFill::fill_pixels_range_if (SIterator srcBegin, const SIterator &srcEnd, DIterator dstBegin, const DPixel &value, const Test &condition)
 fill all pixels respecting the condition in a range of pixels (on the same line or with an 1d_traversable image).
GIL_FORCEINLINE EDirection terry::filter::floodFill::invertDirection (const EDirection d)
template<class Connexity , class StrongTest , class SoftTest , class SView , class DView , template< class > class Allocator>
void terry::filter::floodFill::flood_fill (const SView &srcView, const Rect< std::ssize_t > &srcRod, DView &dstView, const Rect< std::ssize_t > &dstRod, const Rect< std::ssize_t > &procWindow, const StrongTest &strongTest, const SoftTest &softTest)
 Flood fill an image, with 2 conditions. Fill all pixels respecting the soft condition if connected with a pixel respecting the strong condition.
template<class StrongTest , class SoftTest , class SView , class DView >
void terry::filter::floodFill::flood_fill_bruteForce (const SView &srcView, const Rect< std::ssize_t > &srcRod, DView &dstView, const Rect< std::ssize_t > &dstRod, const Rect< std::ssize_t > &procWindow, const StrongTest &strongTest, const SoftTest &softTest)
 Simplest implementation of flood fill algorithm.
template<template< class > class Allocator, class SView , class DView >
void terry::filter::applyFloodFill (const SView &srcView, DView &dstView, const double lowerThres, const double upperThres)