gmsh-TingyuanDoc  0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
cartesianBox< scalar > Class Template Reference

#include <cartesian.h>

Collaboration diagram for cartesianBox< scalar >:

Public Types

typedef std::set< int >::const_iterator cellIter
 
typedef std::map< int, std::pair< scalar, int > >::iterator valIter
 

Public Member Functions

 cartesianBox (double X0, double Y0, double Z0, const SVector3 &dxi, const SVector3 &deta, const SVector3 &dzeta, int Nxi, int Neta, int Nzeta, int level=1)
 
double getLC ()
 
int getNxi ()
 
int getNeta ()
 
int getNzeta ()
 
cartesianBox< scalar > * getChildBox ()
 
int getLevel ()
 
cellIter activeCellsBegin ()
 
cellIter activeCellsEnd ()
 
valIter nodalValuesBegin ()
 
valIter nodalValuesEnd ()
 
void setNodalValue (int i, scalar s)
 
void getNodalValuesForCell (int t, std::vector< scalar > &values)
 
double getValueContainingPoint (double x, double y, double z)
 
int getCellContainingPoint (double x, double y, double z) const
 
SPoint3 getNodeCoordinates (int t) const
 
void insertActiveCell (int t)
 
void eraseActiveCell (int t)
 
bool activeCellExists (int t)
 
int getCellIndex (int i, int j, int k) const
 
int getNodeIndex (int i, int j, int k) const
 
int getNodeTag (int index)
 
void getCellIJK (int index, int &i, int &j, int &k) const
 
void getNodeIJK (int index, int &i, int &j, int &k) const
 
void createNodalValues ()
 
void renumberNodes (int startingNum=1, cartesianBox< scalar > *parent=0)
 
void writeMSH (const std::string &fileName, bool simplex=false, bool writeNodalValues=true)
 

Private Member Functions

int _getNumNodes ()
 
void _printNodes (FILE *f)
 
int _getNumElements (bool simplex)
 
void _printElements (FILE *f, bool simplex, int startingNum=1)
 
void _printValues (FILE *f)
 

Private Attributes

int _nxi
 
int _neta
 
int _nzeta
 
double _x0
 
double _y0
 
double _z0
 
double _dxi
 
double _deta
 
double _dzeta
 
SVector3 _xiAxis
 
SVector3 _etaAxis
 
SVector3 _zetaAxis
 
std::set< int > _activeCells
 
std::map< int, std::pair< scalar, int > > _nodalValues
 
int _level
 
cartesianBox< scalar > * _childBox
 

Detailed Description

template<class scalar>
class cartesianBox< scalar >

Definition at line 33 of file cartesian.h.

Member Typedef Documentation

◆ cellIter

template<class scalar >
typedef std::set<int>::const_iterator cartesianBox< scalar >::cellIter

Definition at line 150 of file cartesian.h.

◆ valIter

template<class scalar >
typedef std::map<int, std::pair<scalar, int> >::iterator cartesianBox< scalar >::valIter

Definition at line 153 of file cartesian.h.

Constructor & Destructor Documentation

◆ cartesianBox()

template<class scalar >
cartesianBox< scalar >::cartesianBox ( double  X0,
double  Y0,
double  Z0,
const SVector3 dxi,
const SVector3 deta,
const SVector3 dzeta,
int  Nxi,
int  Neta,
int  Nzeta,
int  level = 1 
)
inline

Definition at line 130 of file cartesian.h.

Here is the call graph for this function:

Member Function Documentation

◆ _getNumElements()

template<class scalar >
int cartesianBox< scalar >::_getNumElements ( bool  simplex)
inlineprivate

Definition at line 72 of file cartesian.h.

Referenced by cartesianBox< scalar >::writeMSH().

Here is the caller graph for this function:

◆ _getNumNodes()

template<class scalar >
int cartesianBox< scalar >::_getNumNodes ( )
inlineprivate

Definition at line 54 of file cartesian.h.

Referenced by cartesianBox< scalar >::writeMSH().

Here is the caller graph for this function:

◆ _printElements()

template<class scalar >
void cartesianBox< scalar >::_printElements ( FILE *  f,
bool  simplex,
int  startingNum = 1 
)
inlineprivate

Definition at line 79 of file cartesian.h.

Referenced by cartesianBox< scalar >::writeMSH().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _printNodes()

template<class scalar >
void cartesianBox< scalar >::_printNodes ( FILE *  f)
inlineprivate

Definition at line 62 of file cartesian.h.

Referenced by cartesianBox< scalar >::writeMSH().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ _printValues()

template<class scalar >
void cartesianBox< scalar >::_printValues ( FILE *  f)
inlineprivate

Definition at line 120 of file cartesian.h.

Referenced by cartesianBox< scalar >::writeMSH().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ activeCellExists()

template<class scalar >
bool cartesianBox< scalar >::activeCellExists ( int  t)
inline

Definition at line 287 of file cartesian.h.

Referenced by removeBadChildCells().

Here is the caller graph for this function:

◆ activeCellsBegin()

template<class scalar >
cellIter cartesianBox< scalar >::activeCellsBegin ( )
inline

Definition at line 151 of file cartesian.h.

◆ activeCellsEnd()

template<class scalar >
cellIter cartesianBox< scalar >::activeCellsEnd ( )
inline

Definition at line 152 of file cartesian.h.

◆ createNodalValues()

template<class scalar >
void cartesianBox< scalar >::createNodalValues ( )
inline

Definition at line 319 of file cartesian.h.

Here is the call graph for this function:

◆ eraseActiveCell()

template<class scalar >
void cartesianBox< scalar >::eraseActiveCell ( int  t)
inline

Definition at line 286 of file cartesian.h.

Referenced by removeBadChildCells().

Here is the caller graph for this function:

◆ getCellContainingPoint()

template<class scalar >
int cartesianBox< scalar >::getCellContainingPoint ( double  x,
double  y,
double  z 
) const
inline

Definition at line 256 of file cartesian.h.

Referenced by cartesianBox< scalar >::getValueContainingPoint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCellIJK()

template<class scalar >
void cartesianBox< scalar >::getCellIJK ( int  index,
int &  i,
int &  j,
int &  k 
) const
inline

◆ getCellIndex()

template<class scalar >
int cartesianBox< scalar >::getCellIndex ( int  i,
int  j,
int  k 
) const
inline

Definition at line 291 of file cartesian.h.

Referenced by cartesianBox< scalar >::getCellContainingPoint(), and removeBadChildCells().

Here is the caller graph for this function:

◆ getChildBox()

template<class scalar >
cartesianBox<scalar>* cartesianBox< scalar >::getChildBox ( )
inline

Definition at line 148 of file cartesian.h.

Referenced by removeBadChildCells(), and removeParentCellsWithChildren().

Here is the caller graph for this function:

◆ getLC()

template<class scalar >
double cartesianBox< scalar >::getLC ( )
inline

Definition at line 144 of file cartesian.h.

◆ getLevel()

template<class scalar >
int cartesianBox< scalar >::getLevel ( )
inline

Definition at line 149 of file cartesian.h.

◆ getNeta()

template<class scalar >
int cartesianBox< scalar >::getNeta ( )
inline

Definition at line 146 of file cartesian.h.

Referenced by removeBadChildCells().

Here is the caller graph for this function:

◆ getNodalValuesForCell()

template<class scalar >
void cartesianBox< scalar >::getNodalValuesForCell ( int  t,
std::vector< scalar > &  values 
)
inline

Definition at line 157 of file cartesian.h.

Here is the call graph for this function:

◆ getNodeCoordinates()

template<class scalar >
SPoint3 cartesianBox< scalar >::getNodeCoordinates ( int  t) const
inline

Definition at line 275 of file cartesian.h.

Referenced by cartesianBox< scalar >::_printNodes(), and cartesianBox< scalar >::getValueContainingPoint().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getNodeIJK()

template<class scalar >
void cartesianBox< scalar >::getNodeIJK ( int  index,
int &  i,
int &  j,
int &  k 
) const
inline

Definition at line 313 of file cartesian.h.

Referenced by cartesianBox< scalar >::getNodeCoordinates(), and cartesianBox< scalar >::renumberNodes().

Here is the caller graph for this function:

◆ getNodeIndex()

template<class scalar >
int cartesianBox< scalar >::getNodeIndex ( int  i,
int  j,
int  k 
) const
inline

◆ getNodeTag()

template<class scalar >
int cartesianBox< scalar >::getNodeTag ( int  index)
inline

Definition at line 299 of file cartesian.h.

Referenced by cartesianBox< scalar >::_printElements().

Here is the caller graph for this function:

◆ getNxi()

template<class scalar >
int cartesianBox< scalar >::getNxi ( )
inline

Definition at line 145 of file cartesian.h.

Referenced by removeBadChildCells().

Here is the caller graph for this function:

◆ getNzeta()

template<class scalar >
int cartesianBox< scalar >::getNzeta ( )
inline

Definition at line 147 of file cartesian.h.

Referenced by removeBadChildCells().

Here is the caller graph for this function:

◆ getValueContainingPoint()

template<class scalar >
double cartesianBox< scalar >::getValueContainingPoint ( double  x,
double  y,
double  z 
)
inline

Definition at line 174 of file cartesian.h.

Here is the call graph for this function:

◆ insertActiveCell()

template<class scalar >
void cartesianBox< scalar >::insertActiveCell ( int  t)
inline

Definition at line 285 of file cartesian.h.

◆ nodalValuesBegin()

template<class scalar >
valIter cartesianBox< scalar >::nodalValuesBegin ( )
inline

Definition at line 154 of file cartesian.h.

◆ nodalValuesEnd()

template<class scalar >
valIter cartesianBox< scalar >::nodalValuesEnd ( )
inline

Definition at line 155 of file cartesian.h.

◆ renumberNodes()

template<class scalar >
void cartesianBox< scalar >::renumberNodes ( int  startingNum = 1,
cartesianBox< scalar > *  parent = 0 
)
inline

Definition at line 333 of file cartesian.h.

Here is the call graph for this function:

◆ setNodalValue()

template<class scalar >
void cartesianBox< scalar >::setNodalValue ( int  i,
scalar  s 
)
inline

Definition at line 156 of file cartesian.h.

◆ writeMSH()

template<class scalar >
void cartesianBox< scalar >::writeMSH ( const std::string &  fileName,
bool  simplex = false,
bool  writeNodalValues = true 
)
inline

Definition at line 351 of file cartesian.h.

Here is the call graph for this function:

Member Data Documentation

◆ _activeCells

◆ _childBox

◆ _deta

template<class scalar >
double cartesianBox< scalar >::_deta
private

◆ _dxi

template<class scalar >
double cartesianBox< scalar >::_dxi
private

◆ _dzeta

template<class scalar >
double cartesianBox< scalar >::_dzeta
private

◆ _etaAxis

template<class scalar >
SVector3 cartesianBox< scalar >::_etaAxis
private

◆ _level

template<class scalar >
int cartesianBox< scalar >::_level
private

Definition at line 51 of file cartesian.h.

Referenced by cartesianBox< scalar >::getLevel().

◆ _neta

◆ _nodalValues

◆ _nxi

◆ _nzeta

template<class scalar >
int cartesianBox< scalar >::_nzeta
private

◆ _x0

◆ _xiAxis

◆ _y0

◆ _z0

◆ _zetaAxis

template<class scalar >
SVector3 cartesianBox< scalar >::_zetaAxis
private

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