aimstil  5.0.5
Neighborhood.h File Reference
#include <cassert>
#include <vector>
#include "til/labels.h"
#include "til/numeric_array.h"
#include "til/Range.h"
Include dependency graph for Neighborhood.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  til::Neighborhood_list
 Neighborhood as a list of vectors. More...
 
class  til::Neighborhood
 
class  til::TArgNeighborhood< n000, n001, n002, n010, n011, n012, n020, n021, n022, n100, n101, n102, n110, n111, n112, n120, n121, n122, n200, n201, n202, n210, n211, n212, n220, n221, n222 >
 Template neighborhoods. More...
 

Namespaces

 til
 Belongs to package Box Do not include directly, include til/Box.h instead.
 

Macros

#define COFFSET(i, j, k)   ((i)+3*(j)+9*(k)+13)
 A macro to quickly index into a 3^3 cube. More...
 
#define FOR_ALL_NEIGHBORS
 
#define APPY_ALL_NEIGHBORS(macro)
 
#define TNDECARG
 
#define TNARG
 

Typedefs

typedef TArgNeighborhood< 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 > til::TN6
 Template neighborhood for standard 3D 6-connectivity. More...
 
typedef TArgNeighborhood< 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0 > til::TN18
 Template neighborhood for standard 3D 18-connectivity Note that the center is not included. More...
 
typedef TArgNeighborhood< 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 > til::TN26
 Template neighborhood for standard 3D 26-connectivity Note that the center is not included. More...
 

Functions

const Neighborhood til::N26 (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
 
const Neighborhood til::N6 (0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
 
const Neighborhood til::N18 (0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0)
 

Macro Definition Documentation

◆ APPY_ALL_NEIGHBORS

#define APPY_ALL_NEIGHBORS (   macro)
Value:
macro(-1,-1,-1) \
macro( 0,-1,-1) \
macro(+1,-1,-1) \
macro(-1, 0,-1) \
macro( 0, 0,-1) \
macro(+1, 0,-1) \
macro(-1,+1,-1) \
macro( 0,+1,-1) \
macro(+1,+1,-1) \
macro(-1,-1, 0) \
macro( 0,-1, 0) \
macro(+1,-1, 0) \
macro(-1, 0, 0) \
macro( 0, 0, 0) \
macro(+1, 0, 0) \
macro(-1,+1, 0) \
macro( 0,+1, 0) \
macro(+1,+1, 0) \
macro(-1,-1,+1) \
macro( 0,-1,+1) \
macro(+1,-1,+1) \
macro(-1, 0,+1) \
macro( 0, 0,+1) \
macro(+1, 0,+1) \
macro(-1,+1,+1) \
macro( 0,+1,+1) \
macro(+1,+1,+1) \

Definition at line 30 of file Neighborhood.h.

◆ COFFSET

#define COFFSET (   i,
  j,
 
)    ((i)+3*(j)+9*(k)+13)

A macro to quickly index into a 3^3 cube.

Coordinates vary in [-1;1].

Definition at line 22 of file Neighborhood.h.

Referenced by til::Neighborhood::for_all_neighbors(), and til::Neighborhood_list::init().

◆ FOR_ALL_NEIGHBORS

#define FOR_ALL_NEIGHBORS
Value:
for (i=-1; i<=1; ++i) \
for (j=-1; j<=1; ++j) \
for (k=-1; k<=1; ++k) \

Definition at line 25 of file Neighborhood.h.

Referenced by til::Neighborhood::for_all_neighbors(), and til::Neighborhood_list::init().

◆ TNARG

#define TNARG
Value:
n000, n001, n002,\
n010, n011, n012,\
n020, n021, n022,\
n100, n101, n102,\
n110, n111, n112,\
n120, n121, n122,\
n200, n201, n202,\
n210, n211, n212,\
n220, n221, n222

Definition at line 399 of file Neighborhood.h.

◆ TNDECARG

#define TNDECARG
Value:
bool n000, bool n001, bool n002,\
bool n010, bool n011, bool n012,\
bool n020, bool n021, bool n022,\
bool n100, bool n101, bool n102,\
bool n110, bool n111, bool n112,\
bool n120, bool n121, bool n122,\
bool n200, bool n201, bool n202,\
bool n210, bool n211, bool n212,\
bool n220, bool n221, bool n222

Definition at line 389 of file Neighborhood.h.