OpenFPM_data  0.1.0
Project that contain the implementation and interfaces for basic structure like vectors, grids, graph ... .
 All Data Structures Namespaces Functions Variables Typedefs Friends
Ghost< dim, T > Class Template Reference

Detailed Description

template<unsigned int dim, typename T>
class Ghost< dim, T >

Ghost

it indicate the ghost extension

Ghost margins for each dimensions (p1 negative part) (p2 positive part) ^ p2[1] | | +-—+-—+ | | | | p1[0]<--—+ +-—> p2[0] | | | | +-—+-—+ | v p1[1]

\warning p1[0] and p1[1] must be negative hile p2[1] and p2[0] must be positive

Definition at line 37 of file Ghost.hpp.

#include <Ghost.hpp>

+ Inheritance diagram for Ghost< dim, T >:

Public Member Functions

template<typename S >
 Ghost (const Ghost< dim, S > &g)
 
 Ghost (T r)
 
Ghost< dim, T > & operator/= (const Point< dim, T > &p)
 Divide component wise the ghost box with a point. More...
 
- Public Member Functions inherited from Box< dim, T >
template<int i>
auto get () -> decltype(boost::fusion::at_c< i >(data))
 
bool Intersect (const Box< dim, T > &b, Box< dim, T > &b_out) const
 Intersect. More...
 
template<typename Mem >
bool Intersect (const encapc< 1, Box< dim, T >, Mem > &e_b, Box< dim, T > &b_out) const
 Intersect. More...
 
template<typename distance >
bool Intersect (Sphere< dim, T > &sphere)
 Check if the sphere intersect the box. More...
 
template<unsigned int b>
getBase (const unsigned int i) const
 Get the coordinate of the bounding point. More...
 
Box< dim-1, T > getSubBox ()
 Get the the box of dimensionality dim-1 (it eliminate the last dimension) More...
 
Box< dim, T > & operator= (const Box< dim, T > &box)
 Operator= between boxes. More...
 
 Box ()
 default constructor
 
 Box (const Point< dim, T > &p1, const Point< dim, T > &p2)
 Constructor from two points. More...
 
 Box (std::initializer_list< T > p1, std::initializer_list< T > p2)
 Constructor from initializer list. More...
 
 Box (T *high, T *low)
 Box constructor from a box. More...
 
 Box (const Box< dim, T > &box)
 Box constructor from a box. More...
 
 Box (type box_data)
 Box constructor from vector::fusion. More...
 
 Box (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...
 
template<unsigned int dimS>
 Box (boost::fusion::vector< T[dimS], T[dimS]> &box_data)
 Box constructor from vector::fusion of higher dimension. More...
 
template<typename Mem >
 Box (const encapc< 1, Box< dim, T >, Mem > &b)
 Box constructor from encapsulated box. More...
 
template<typename S >
 Box (const Box< dim, S > &b)
 constructor from a Box of different type More...
 
Box< dim, T > & operator/= (const Point< dim, T > &p)
 Divide component wise each box points with a point. More...
 
Box< dim, T > operator* (const Point< dim, T > &p)
 Multiply component wise each box points with a point. More...
 
void set (std::initializer_list< T > p1, std::initializer_list< T > p2)
 Constructor from initializer list. More...
 
void setLow (int i, T val)
 set the low interval of the box More...
 
void setHigh (int i, T val)
 set the high interval of the box More...
 
getLow (int i) const
 get the i-coordinate of the low bound interval of the box More...
 
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 setP2 (const grid_key_dx< dim > &p2)
 Set the point P2 of the box. More...
 
void setP1 (const Point< dim, T > &p1)
 Set the point P1 of the box. More...
 
void setP2 (const Point< dim, T > &p2)
 Set the point P2 of the box. More...
 
Box< dim, T > & getBox ()
 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
 
grid_key_dx< dim > getKP2 () const
 
Point< dim, T > getP1 () const
 
Point< dim, T > getP2 () const
 
Box< dim, T > & operator-= (const Point< dim, T > &p)
 Translate the box. More...
 
Box< dim, T > & operator+= (const Point< dim, T > &p)
 Translate the box. More...
 
void expand (T(&exp)[dim])
 
void enlarge (const Box< dim, T > &gh)
 Enlarge the box with ghost margin. More...
 
template<typename S >
void enlarge_fix_P1 (Box< dim, S > &gh)
 Enlarge the box with ghost margin keeping fix the point P1. More...
 
void magnify (T mg)
 Magnify the box. More...
 
void magnify_fix_P1 (T mg)
 Magnify the box by a factor keeping fix the point P1. More...
 
void shrinkP2 (T sh)
 Shrink moving p2 of sh quantity (on each direction) More...
 
void enclose (Box< dim, T > &en)
 Refine the box to enclose the given box and itself. More...
 
void contained (const Box< dim, 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 isInside (const Point< dim, T > &p) const
 Check if the point is inside the region. More...
 
bool isInsideNP (const Point< dim, T > &p) const
 Check if the point is inside the region excluding the positive part. More...
 
bool isInside (const T(&p)[dim]) const
 Check if the point is inside the region. More...
 
bool isValid () const
 Check if the Box is a valid box P2 >= P1. More...
 
void ceilP1 ()
 Translate P1 of a given vector P1. More...
 
void ceilP2 ()
 Translate P1 of a unit vector on all directions. More...
 
void shrinkP2 (const Point< dim, T > &p)
 Shrink the point P2 by one. More...
 
template<typename Mem >
bool isInside (const encapc< 1, Point< dim, T >, Mem > &p)
 Check if the point is inside the region. More...
 
getVolumeKey () const
 Get the volume spanned by the Box P1 and P2 interpreted as grid key. More...
 
Point< dim, 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, T > &b) const
 Compare two boxes. More...
 
bool operator!= (const Box< dim, T > &b) const
 Compare two boxes. More...
 

Additional Inherited Members

- Public Types inherited from Box< dim, T >
typedef boost::fusion::vector
< T[dim], T[dim]> 
type
 boost fusion that store the point
 
typedef T btype
 type of the box
 
- Static Public Member Functions inherited from Box< dim, T >
static T getVolumeKey (T(&p1)[dim], 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, T >
type data
 It store the two point bounding the box.
 
- Static Public Attributes inherited from Box< dim, T >
static const unsigned int p1 = 0
 Low point.
 
static const unsigned int p2 = 1
 High point.
 
static const unsigned int max_prop = 2
 Maximum number of properties.
 
static const unsigned int dims = dim
 

Constructor & Destructor Documentation

template<unsigned int dim, typename T>
template<typename S >
Ghost< dim, T >::Ghost ( const Ghost< dim, S > &  g)
inline

constructor from another Ghost

Parameters
gghost

Definition at line 46 of file Ghost.hpp.

Member Function Documentation

template<unsigned int dim, typename T>
Ghost<dim,T>& Ghost< dim, T >::operator/= ( const Point< dim, T > &  p)
inline

Divide component wise the ghost box with a point.

Parameters
ppoint
Returns
itself

Definition at line 82 of file Ghost.hpp.


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