Zoltan2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Types | Public Member Functions | List of all members
Zoltan2::coordinateModelPartBox Class Reference

coordinateModelPartBox Class, represents the boundaries of the box which is a result of a geometric partitioning algorithm. More...

#include <Zoltan2_CoordinatePartitioningGraph.hpp>

Public Types

typedef double coord_t
 
typedef Zoltan2::default_part_t part_t
 

Public Member Functions

 coordinateModelPartBox (part_t pid, int dim_)
 Constructor. More...
 
template<typename scalar_t >
 coordinateModelPartBox (part_t pid, int dim_, scalar_t *lmi, scalar_t *lma)
 Constructor deep copy of the maximum and minimum boundaries. More...
 
 coordinateModelPartBox (const coordinateModelPartBox &other)
 Copy Constructor deep copy of the maximum and minimum boundaries. More...
 
 ~coordinateModelPartBox ()
 Destructor. More...
 
void setpId (part_t pid)
 function to set the part id More...
 
part_t getpId () const
 function to get the part id More...
 
int getDim () const
 function to set the dimension More...
 
coord_tgetlmins () const
 function to get minimum values along all dimensions More...
 
coord_tgetlmaxs () const
 function to get maximum values along all dimensions More...
 
void computeCentroid (coord_t *centroid) const
 compute the centroid of the box More...
 
std::vector< part_t > * getGridIndices ()
 function to get the indices of the buckets that the part is inserted to More...
 
std::set< part_t > * getNeighbors ()
 function to get the indices of the neighboring parts. More...
 
template<typename scalar_t >
bool pointInBox (int pointdim, scalar_t *point) const
 function to test whether a point is in the box More...
 
template<typename scalar_t >
bool boxesOverlap (int cdim, scalar_t *lower, scalar_t *upper) const
 function to test whether this box overlaps a given box More...
 
bool isNeighborWith (const coordinateModelPartBox &other) const
 function to check if two boxes are neighbors. More...
 
void addNeighbor (part_t nIndex)
 function to add a new neighbor to the neighbor list. More...
 
bool isAlreadyNeighbor (part_t nIndex)
 function to check if a given part is already in the neighbor list. More...
 
void setMinMaxHashIndices (coord_t *minMaxBoundaries, coord_t *sliceSizes, part_t numSlicePerDim)
 function to obtain the min and max hash values along all dimensions. More...
 
void print ()
 function to print the boundaries. More...
 
template<typename scalar_t >
void updateMinMax (scalar_t newBoundary, int isMax, int dimInd)
 function to update the boundary of the box. More...
 
void writeGnuPlot (std::ofstream &file, std::ofstream &mm)
 function for visualization. More...
 

Detailed Description

coordinateModelPartBox Class, represents the boundaries of the box which is a result of a geometric partitioning algorithm.

Definition at line 70 of file Zoltan2_CoordinatePartitioningGraph.hpp.

Member Typedef Documentation

Definition at line 73 of file Zoltan2_CoordinatePartitioningGraph.hpp.

Definition at line 74 of file Zoltan2_CoordinatePartitioningGraph.hpp.

Constructor & Destructor Documentation

Zoltan2::coordinateModelPartBox::coordinateModelPartBox ( part_t  pid,
int  dim_ 
)
inline

Constructor.

Definition at line 78 of file Zoltan2_CoordinatePartitioningGraph.hpp.

template<typename scalar_t >
Zoltan2::coordinateModelPartBox::coordinateModelPartBox ( part_t  pid,
int  dim_,
scalar_t *  lmi,
scalar_t *  lma 
)
inline

Constructor deep copy of the maximum and minimum boundaries.

Definition at line 103 of file Zoltan2_CoordinatePartitioningGraph.hpp.

Zoltan2::coordinateModelPartBox::coordinateModelPartBox ( const coordinateModelPartBox other)
inline

Copy Constructor deep copy of the maximum and minimum boundaries.

Definition at line 128 of file Zoltan2_CoordinatePartitioningGraph.hpp.

Zoltan2::coordinateModelPartBox::~coordinateModelPartBox ( )
inline

Destructor.

Definition at line 153 of file Zoltan2_CoordinatePartitioningGraph.hpp.

Member Function Documentation

void Zoltan2::coordinateModelPartBox::setpId ( part_t  pid)
inline

function to set the part id

Definition at line 163 of file Zoltan2_CoordinatePartitioningGraph.hpp.

part_t Zoltan2::coordinateModelPartBox::getpId ( ) const
inline

function to get the part id

Definition at line 168 of file Zoltan2_CoordinatePartitioningGraph.hpp.

int Zoltan2::coordinateModelPartBox::getDim ( ) const
inline

function to set the dimension

Definition at line 175 of file Zoltan2_CoordinatePartitioningGraph.hpp.

coord_t* Zoltan2::coordinateModelPartBox::getlmins ( ) const
inline

function to get minimum values along all dimensions

Definition at line 180 of file Zoltan2_CoordinatePartitioningGraph.hpp.

coord_t* Zoltan2::coordinateModelPartBox::getlmaxs ( ) const
inline

function to get maximum values along all dimensions

Definition at line 185 of file Zoltan2_CoordinatePartitioningGraph.hpp.

void Zoltan2::coordinateModelPartBox::computeCentroid ( coord_t centroid) const
inline

compute the centroid of the box

Definition at line 190 of file Zoltan2_CoordinatePartitioningGraph.hpp.

std::vector<part_t>* Zoltan2::coordinateModelPartBox::getGridIndices ( )
inline

function to get the indices of the buckets that the part is inserted to

Definition at line 198 of file Zoltan2_CoordinatePartitioningGraph.hpp.

std::set<part_t>* Zoltan2::coordinateModelPartBox::getNeighbors ( )
inline

function to get the indices of the neighboring parts.

Definition at line 204 of file Zoltan2_CoordinatePartitioningGraph.hpp.

template<typename scalar_t >
bool Zoltan2::coordinateModelPartBox::pointInBox ( int  pointdim,
scalar_t *  point 
) const
inline

function to test whether a point is in the box

Definition at line 211 of file Zoltan2_CoordinatePartitioningGraph.hpp.

template<typename scalar_t >
bool Zoltan2::coordinateModelPartBox::boxesOverlap ( int  cdim,
scalar_t *  lower,
scalar_t *  upper 
) const
inline

function to test whether this box overlaps a given box

Definition at line 224 of file Zoltan2_CoordinatePartitioningGraph.hpp.

bool Zoltan2::coordinateModelPartBox::isNeighborWith ( const coordinateModelPartBox other) const
inline

function to check if two boxes are neighbors.

Definition at line 249 of file Zoltan2_CoordinatePartitioningGraph.hpp.

void Zoltan2::coordinateModelPartBox::addNeighbor ( part_t  nIndex)
inline

function to add a new neighbor to the neighbor list.

Definition at line 282 of file Zoltan2_CoordinatePartitioningGraph.hpp.

bool Zoltan2::coordinateModelPartBox::isAlreadyNeighbor ( part_t  nIndex)
inline

function to check if a given part is already in the neighbor list.

Definition at line 287 of file Zoltan2_CoordinatePartitioningGraph.hpp.

void Zoltan2::coordinateModelPartBox::setMinMaxHashIndices ( coord_t minMaxBoundaries,
coord_t sliceSizes,
part_t  numSlicePerDim 
)
inline

function to obtain the min and max hash values along all dimensions.

Definition at line 299 of file Zoltan2_CoordinatePartitioningGraph.hpp.

void Zoltan2::coordinateModelPartBox::print ( )
inline

function to print the boundaries.

Definition at line 364 of file Zoltan2_CoordinatePartitioningGraph.hpp.

template<typename scalar_t >
void Zoltan2::coordinateModelPartBox::updateMinMax ( scalar_t  newBoundary,
int  isMax,
int  dimInd 
)
inline

function to update the boundary of the box.

Definition at line 373 of file Zoltan2_CoordinatePartitioningGraph.hpp.

void Zoltan2::coordinateModelPartBox::writeGnuPlot ( std::ofstream &  file,
std::ofstream &  mm 
)
inline

function for visualization.

Definition at line 384 of file Zoltan2_CoordinatePartitioningGraph.hpp.


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