this class represent a wavefront of dimension dim More...
this class represent a wavefront of dimension dim
| dim | Dimensionality of the wavefront (dimensionality of the space where it live so the wavefront is dim-1) |
Each wavefront is identified by one starting point and one stop point. More or less a wavefront is just a box defined in the integer space
Definition at line 18 of file dec_optimizer.hpp.
#include <dec_optimizer.hpp>
Inheritance diagram for wavefront< dim >:Static Public Attributes | |
| static const int | start = 0 |
| start point is the property with id 0 (first property) | |
| static const int | stop = 1 |
| stop point is the property with id 1 (second property) | |
Static Public Attributes inherited from Box< dim, size_t > | |
| static const unsigned int | p1 |
| Low point. | |
| static const unsigned int | p2 |
| High point. | |
| static const unsigned int | max_prop |
| Maximum number of properties. | |
| static const unsigned int | dims |
| dimensionality of the box | |
Additional Inherited Members | |
Public Types inherited from Box< dim, size_t > | |
| typedef boost::fusion::vector< size_t[dim], size_t[dim]> | type |
| boost fusion that store the point | |
| typedef size_t | btype |
| type of the box | |
| typedef int | yes_is_box |
| Indicate that this is a box. | |
Public Member Functions inherited from Box< dim, size_t > | |
| __device__ __host__ bool | Intersect (const Box< dim, size_t > &b, Box< dim, size_t > &b_out) const |
| Intersect. | |
| __device__ __host__ bool | Intersect (const encapc< 1, Box< dim, size_t >, Mem > &e_b, Box< dim, size_t > &b_out) const |
| Intersect. | |
| bool | Intersect (Sphere< dim, size_t > &sphere) |
| Check if the sphere intersect the box. | |
| size_t | min_distance (Box< dim, size_t > &b) const |
| size_t | getBase (const unsigned int i) const |
| Get the coordinate of the bounding point. | |
| Box< dim-1, size_t > | getSubBox () |
| Get the the box of dimensionality dim-1 (it eliminate the last dimension) | |
| __device__ __host__ Box< dim, size_t > & | operator= (const Box< dim, size_t > &box) |
| Operator= between boxes. | |
| __device__ __host__ | Box () |
| default constructor | |
| Box (const Point< dim, size_t > &p1, const Point< dim, size_t > &p2) | |
| Constructor from two points. | |
| Box (std::initializer_list< size_t > p1, std::initializer_list< size_t > p2) | |
| Constructor from initializer list. | |
| Box (size_t *low, size_t *high) | |
| Box constructor from a box. | |
| __device__ __host__ | Box (const Box< dim, size_t > &box) |
| Box constructor from a box. | |
| Box (type box_data) | |
| Box constructor from vector::fusion. | |
| Box (size_t(&box_data)[dim]) | |
| Box constructor from an array reference. | |
| Box (const grid_key_dx< dim > &key1, const grid_key_dx< dim > &key2) | |
| constructor from 2 grid_key_dx | |
| __device__ __host__ | Box (boost::fusion::vector< size_t[dimS], size_t[dimS]> &box_data) |
| Box constructor from vector::fusion of higher dimension. | |
| __device__ __host__ | Box (const encapc< 1, Box< dim, size_t >, Mem > &b) |
| Box constructor from encapsulated box. | |
| __device__ __host__ | Box (const Box< dim, S > &b) |
| constructor from a Box of different type | |
| Box< dim, size_t > & | operator/= (const Point< dim, size_t > &p) |
| Divide component wise each box points with a point. | |
| Box< dim, size_t > | operator* (const Point< dim, size_t > &p) |
| Multiply component wise each box points with a point. | |
| void | set (std::initializer_list< size_t > p1, std::initializer_list< size_t > p2) |
| Constructor from initializer list. | |
| __device__ __host__ void | setLow (int i, size_t val) |
| set the low interval of the box | |
| __device__ __host__ void | setHigh (int i, size_t val) |
| set the high interval of the box | |
| __device__ __host__ size_t | getLow (int i) const |
| get the i-coordinate of the low bound interval of the box | |
| __device__ __host__ size_t | getHigh (int i) const |
| get the high interval of the box | |
| void | setP1 (const grid_key_dx< dim > &p1) |
| Set the point P1 of the box. | |
| void | setP1 (const Point< dim, size_t > &p1) |
| Set the point P1 of the box. | |
| void | setP2 (const grid_key_dx< dim > &p2) |
| Set the point P2 of the box. | |
| void | setP2 (const Point< dim, size_t > &p2) |
| Set the point P2 of the box. | |
| Box< dim, size_t > & | getBox () |
| Get the box enclosing this Box. | |
| const Box< dim, size_t > & | getBox () const |
| Get the box enclosing this Box. | |
| type & | getVector () |
| Get the internal boost::fusion::vector that store the data. | |
| grid_key_dx< dim > | getKP1 () const |
| Get the point p1 as grid_key_dx. | |
| grid_key_dx< dim > | getKP2 () const |
| Get the point p12 as grid_key_dx. | |
| grid_key_dx< dim, int > | getKP1int () const |
| Get the point p1 as grid_key_dx. | |
| grid_key_dx< dim, int > | getKP2int () const |
| Get the point p12 as grid_key_dx. | |
| Point< dim, size_t > | getP1 () const |
| Get the point p1. | |
| Point< dim, size_t > | getP2 () const |
| Get the point p2. | |
| Box< dim, size_t > & | operator-= (const Point< dim, size_t > &p) |
| Translate the box. | |
| Box< dim, size_t > & | operator+= (const Point< dim, size_t > &p) |
| Translate the box. | |
| Box< dim, size_t > | operator+ (const Point< dim, size_t > &p) |
| Translate the box. | |
| void | expand (size_t(&exp)[dim]) |
| expand the box by a vector | |
| void | enlarge (const Box< dim, size_t > &gh) |
| Enlarge the box with ghost margin. | |
| void | enlarge_fix_P1 (Box< dim, S > &gh) |
| Enlarge the box with ghost margin keeping fix the point P1. | |
| void | invalidate () |
| Invalidate the box. | |
| void | magnify (size_t mg) |
| Magnify the box. | |
| void | magnify_fix_P1 (size_t mg) |
| Magnify the box by a factor keeping fix the point P1. | |
| void | shrinkP2 (size_t sh) |
| Shrink moving p2 of sh quantity (on each direction) | |
| void | shrinkP2 (const Point< dim, size_t > &p) |
| Shrink the point P2 by one vector. | |
| void | enclose (const Box< dim, size_t > &en) |
| Refine the box to enclose the given box and itself. | |
| void | contained (const Box< dim, size_t > &en, const bool reset_p1=true) |
| Refine the box to be contained in the given box and itself. | |
| void | zero () |
| Set p1 and p2 to 0. | |
| bool | isContained (const Box< dim, size_t > &b) const |
| Check if the box is contained. | |
| __host__ __device__ bool | isInside (const Point< dim, size_t > &p) const |
| Check if the point is inside the box. | |
| bool | isInside (const size_t(&p)[dim]) const |
| Check if the point is inside the region (Border included) | |
| bool | isInside (const encapc< 1, Point< dim, size_t >, Mem > &p) |
| Check if the point is inside the region. | |
| __device__ __host__ bool | isInsideNP (const Point< dim, size_t > &p) const |
| Check if the point is inside the region excluding the positive part. | |
| __device__ __host__ bool | isInsideNP_with_border (const Point< dim, size_t > &p, const Box< dim, size_t > &border, const bc_type(&bc)[dim]) const |
| Check if the point is inside the region excluding the positive part. | |
| bool | isInsideNB (const Point< dim, size_t > &p) const |
| Check if the point is inside the region excluding the borders. | |
| __device__ __host__ bool | isInsideKey (const KeyType &k) const |
| Check if the point is inside the region (Border included) | |
| bool | isValid () const |
| Check if the Box is a valid box P2 >= P1. | |
| bool | isValidN () const |
| Check if the Box is a valid box P2 > P1. | |
| void | floorP1 () |
| Apply the ceil operation to the point P1. | |
| void | floorP2 () |
| Apply the ceil operation to the point P2. | |
| void | ceilP1 () |
| Apply the ceil operation to the point P1. | |
| void | ceilP2 () |
| Apply the ceil operation to the point P2. | |
| void | swap (Box< dim, size_t > &b) |
| exchange the data of two boxes | |
| size_t | getRcut () const |
| Get the worst extension. | |
| size_t | getVolume () const |
| Get the volume of the box. | |
| size_t | getVolumeKey () const |
| Get the volume spanned by the Box P1 and P2 interpreted as grid key. | |
| Point< dim, size_t > | middle () const |
| Return the middle point of the box. | |
| std::string | toString () const |
| Produce a string from the object. | |
| bool | operator== (const Box< dim, size_t > &b) const |
| Compare two boxes. | |
| bool | operator!= (const Box< dim, size_t > &b) const |
| Compare two boxes. | |
Static Public Member Functions inherited from Box< dim, size_t > | |
| static size_t | getVolumeKey (const size_t(&p1)[dim], const size_t(&p2)[dim]) |
| Get the volume spanned by the Box as grid_key_dx_iterator_sub. | |
| static bool | noPointers () |
| This structure has no internal pointers. | |
Data Fields inherited from Box< dim, size_t > | |
| type | data |
| It store the two point bounding the box. | |
|
static |
start point is the property with id 0 (first property)
Definition at line 23 of file dec_optimizer.hpp.
|
static |
stop point is the property with id 1 (second property)
Definition at line 26 of file dec_optimizer.hpp.