OpenFPM_pdata  1.1.0
Project that contain the implementation of distributed structures
 All Data Structures Namespaces Functions Variables Typedefs Enumerations Friends Pages
wavefront< dim > Class Template Reference

this class represent a wavefront of dimension dim More...

Detailed Description

template<unsigned int dim>
class wavefront< dim >

this class represent a wavefront of dimension dim

Template Parameters
dimDimensionality 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
 
- Public Member Functions inherited from Box< dim, size_t >
bool Intersect (const Box< dim, size_t > &b, Box< dim, size_t > &b_out) const
 Intersect. More...
 
bool Intersect (const encapc< 1, Box< dim, size_t >, Mem > &e_b, Box< dim, size_t > &b_out) const
 Intersect. More...
 
bool Intersect (Sphere< dim, size_t > &sphere)
 Check if the sphere intersect the box. More...
 
size_t getBase (const unsigned int i) const
 Get the coordinate of the bounding point. More...
 
Box< dim-1, size_t > getSubBox ()
 Get the the box of dimensionality dim-1 (it eliminate the last dimension) More...
 
Box< dim, size_t > & operator= (const Box< dim, size_t > &box)
 Operator= between boxes. More...
 
 Box ()
 default constructor
 
 Box (const Point< dim, size_t > &p1, const Point< dim, size_t > &p2)
 Constructor from two points. More...
 
 Box (std::initializer_list< size_t > p1, std::initializer_list< size_t > p2)
 Constructor from initializer list. More...
 
 Box (size_t *low, size_t *high)
 Box constructor from a box. More...
 
 Box (const Box< dim, size_t > &box)
 Box constructor from a box. More...
 
 Box (type box_data)
 Box constructor from vector::fusion. More...
 
 Box (size_t(&box_data)[dim])
 Box constructor from an array reference. More...
 
 Box (const grid_key_dx< dim > &key1, const grid_key_dx< dim > &key2)
 constructor from 2 grid_key_dx More...
 
 Box (boost::fusion::vector< size_t[dimS], size_t[dimS]> &box_data)
 Box constructor from vector::fusion of higher dimension. More...
 
 Box (const encapc< 1, Box< dim, size_t >, Mem > &b)
 Box constructor from encapsulated box. More...
 
 Box (const Box< dim, S > &b)
 constructor from a Box of different type More...
 
Box< dim, size_t > & operator/= (const Point< dim, size_t > &p)
 Divide component wise each box points with a point. More...
 
Box< dim, size_t > operator* (const Point< dim, size_t > &p)
 Multiply component wise each box points with a point. More...
 
void set (std::initializer_list< size_t > p1, std::initializer_list< size_t > p2)
 Constructor from initializer list. More...
 
void setLow (int i, size_tval)
 set the low interval of the box More...
 
void setHigh (int i, size_tval)
 set the high interval of the box More...
 
size_t getLow (int i) const
 get the i-coordinate of the low bound interval of the box More...
 
size_t getHigh (int i) const
 get the high interval of the box More...
 
void setP1 (const grid_key_dx< dim > &p1)
 Set the point P1 of the box. More...
 
void setP1 (const Point< dim, size_t > &p1)
 Set the point P1 of the box. More...
 
void setP2 (const grid_key_dx< dim > &p2)
 Set the point P2 of the box. More...
 
void setP2 (const Point< dim, size_t > &p2)
 Set the point P2 of the box. More...
 
Box< dim, size_t > & getBox ()
 Get the box enclosing this Box. More...
 
const Box< dim, size_t > & getBox () const
 Get the box enclosing this Box. More...
 
typegetVector ()
 Get the internal boost::fusion::vector that store the data. More...
 
grid_key_dx< dim > getKP1 () const
 Get the point p1 as grid_key_dx. More...
 
grid_key_dx< dim > getKP2 () const
 Get the point p12 as grid_key_dx. More...
 
Point< dim, size_t > getP1 () const
 Get the point p1. More...
 
Point< dim, size_t > getP2 () const
 Get the point p2. More...
 
Box< dim, size_t > & operator-= (const Point< dim, size_t > &p)
 Translate the box. More...
 
Box< dim, size_t > & operator+= (const Point< dim, size_t > &p)
 Translate the box. More...
 
void expand (size_t(&exp)[dim])
 expand the box by a vector More...
 
void enlarge (const Box< dim, size_t > &gh)
 Enlarge the box with ghost margin. More...
 
void enlarge_fix_P1 (Box< dim, S > &gh)
 Enlarge the box with ghost margin keeping fix the point P1. More...
 
void invalidate ()
 Invalidate the box. More...
 
void magnify (size_tmg)
 Magnify the box. More...
 
void magnify_fix_P1 (size_tmg)
 Magnify the box by a factor keeping fix the point P1. More...
 
void shrinkP2 (size_tsh)
 Shrink moving p2 of sh quantity (on each direction) More...
 
void shrinkP2 (const Point< dim, size_t > &p)
 Shrink the point P2 by one vector. More...
 
void enclose (const Box< dim, size_t > &en)
 Refine the box to enclose the given box and itself. More...
 
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. More...
 
void zero ()
 Set p1 and p2 to 0. More...
 
bool isContained (const Box< dim, size_t > &b) const
 Check if the box is contained. More...
 
bool isInside (const Point< dim, size_t > &p) const
 Check if the point is inside the box. More...
 
bool isInside (const size_t(&p)[dim]) const
 Check if the point is inside the region. More...
 
bool isInside (const encapc< 1, Point< dim, size_t >, Mem > &p)
 Check if the point is inside the region. More...
 
bool isInsideNP (const Point< dim, size_t > &p) const
 Check if the point is inside the region excluding the positive part. More...
 
bool isInsideNB (const Point< dim, size_t > &p) const
 Check if the point is inside the region excluding the borders. More...
 
bool isValid () const
 Check if the Box is a valid box P2 >= P1. More...
 
bool isValidN () const
 Check if the Box is a valid box P2 > P1. More...
 
void floorP1 ()
 Apply the ceil operation to the point P1. More...
 
void floorP2 ()
 Apply the ceil operation to the point P2. More...
 
void ceilP1 ()
 Apply the ceil operation to the point P1. More...
 
void ceilP2 ()
 Apply the ceil operation to the point P2. More...
 
void swap (Box< dim, size_t > &b)
 exchange the data of two boxes More...
 
size_t getVolume () const
 Get the volume of the box. More...
 
size_t getVolumeKey () const
 Get the volume spanned by the Box P1 and P2 interpreted as grid key. More...
 
Point< dim, size_t > middle () const
 Return the middle point of the box. More...
 
std::string toString () const
 Produce a string from the object. More...
 
bool operator== (const Box< dim, size_t > &b) const
 Compare two boxes. More...
 
bool operator!= (const Box< dim, size_t > &b) const
 Compare two boxes. More...
 
- 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. More...
 
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.
 

The documentation for this class was generated from the following file: