28 #include <vapor/common.h>
29 #include <vapor/MyBase.h>
30 #include <vapor/EasyThreads.h>
31 #include <vapor/AMRTreeBranch.h>
32 #include <vapor/ExpatParseMgr.h>
84 const size_t basedim[3],
119 const size_t basedim[3],
120 const int paramesh_gids[][15],
121 const float paramesh_bboxs [][3][2],
122 const int paramesh_refine_levels[],
123 int paramesh_total_blocks
259 cid_t cellid,
double minu[3],
double maxu[3]
349 const size_t min [3],
410 int reflevel,
const double ucoord[3],
size_t vcoord[3]
418 int Write(
const string &path)
const;
425 int Read(
const string &path);
428 vector <int> &baseblocks,
429 const size_t basedim[3],
430 const int gids[][15],
431 const float bboxs [][3][2],
440 static const string _rootTag;
441 static const string _minExtentsAttr;
442 static const string _maxExtentsAttr;
443 static const string _baseDimAttr;
444 static const string _fileVersionAttr;
447 int _objIsInitialized;
450 double _minBounds[3];
451 double _maxBounds[3];
461 const size_t basedim[3],
469 cid_t baseblockidx, cid_t nodeidx, cid_t *cellid
472 int paramesh_refine_baseblocks(
478 bool elementStartHandler(
479 ExpatParseMgr*,
int depth , std::string& tag,
const char **attr
481 bool elementEndHandler(
ExpatParseMgr*,
int depth , std::string&);
486 void _startElementHandler0(
ExpatParseMgr*,
const string &tag,
const char **attrs);
487 void _startElementHandler1(
ExpatParseMgr*,
const string &tag,
const char **attrs);
488 void _startElementHandler2(
ExpatParseMgr*,
const string &tag,
const char **attrs);
499 #endif // _AMRTree_h_
This class manages an octree data structure.
AMRTree::cid_t GetCellID(const size_t xyz[3], int reflevel) const
AMRTree::cid_t RefineCell(AMRTree::cid_t cellid)
int DeleteCell(AMRTree::cid_t cellid)
int Write(const string &path) const
AMRTree::cid_t GetCellNeighbor(AMRTree::cid_t cellid, int face) const
AMRTree::cid_t GetNumCells(const size_t min[3], const size_t max[3], int reflevel=-1) const
const AMRTreeBranch * GetBranch(const size_t xyz[3]) const
AMRTree::cid_t FindCell(const double ucoord[3], int reflevel=-1) const
AMRTreeBranch::cid_t cid_t
AMRTree::cid_t GetCellParent(AMRTree::cid_t cellid) const
AMRTree::cid_t GetNextCell(bool restart)
AMRTree::cid_t GetCellChildren(AMRTree::cid_t cellid) const
int GetCellLocation(AMRTree::cid_t cellid, size_t xyz[3], int *reflevel) const
int GetCellLevel(AMRTree::cid_t cellid) const
int Read(const string &path)
int MapUserToVoxel(int reflevel, const double ucoord[3], size_t vcoord[3])
const size_t * GetBaseDim() const
int _parameshGetBaseBlocks(vector< int > &baseblocks, const size_t basedim[3], const int gids[][15], const float bboxs[][3][2], int totalblocks) const
This class manages an AMR tree data structure.
int GetRefinementLevel() const
Returns the maximum refinement of the entire tree.
int GetCellBounds(cid_t cellid, double minu[3], double maxu[3]) const
void DecodeCellID(AMRTree::cid_t cellid, AMRTree::cid_t *baseblockidx, AMRTree::cid_t *nodeidx) const