公有类型 |
enum | { dim = DIM,
dow = DOW
} |
typedef HGeometryTree< DIM, DOW > | tree_t |
typedef IrregularMesh< DIM, DOW > | ir_mesh_t |
公有成员 |
| MemoryReclaimer () |
| MemoryReclaimer (tree_t &_h_tree) |
virtual | ~MemoryReclaimer () |
void | setGeometryTree (tree_t &_h_tree) |
void | addIrregularMesh (ir_mesh_t &_ir_mesh) |
void | clear () |
void | reclaim () |
保护成员 |
tree_t * | get_tree_ptr () const |
私有成员 |
void | reclaimIrregularMesh (ir_mesh_t &) |
void | initialTreeLabel () |
void | labelIrregularMesh (ir_mesh_t &) |
void | reclaimTreeMemory () |
template<int DIM1> |
void | labelHGeometry (HGeometry< DIM1, DOW > &, int lab) |
template<int DIM1> |
void | labelHGeometryRecursively (HGeometry< DIM1, DOW > &g, int lab) |
template<int DIM1> |
int | relabelHGeometryRecursively (HGeometry< DIM1, DOW > &g) |
template<int DIM1> |
int | reclaimHGeometryRecursively (HGeometry< DIM1, DOW > &g) |
void | labelHGeometry (HGeometry< 0, DOW > &, int lab) |
void | labelHGeometryRecursively (HGeometry< 0, DOW > &g, int lab) |
int | relabelHGeometryRecursively (HGeometry< 0, DOW > &g) |
int | reclaimHGeometryRecursively (HGeometry< 0, DOW > &g) |
virtual void | reclaimHGeometry (void *p_geo, int dim) const |
私有属性 |
tree_t * | h_tree |
std::list< ir_mesh_t * > | ir_mesh |
template<int DIM, int DOW = DIM>
class MemoryReclaimer< DIM, DOW >
HGeometryTreeIrregularMeshУһHGeometryHElementϸ Ժǽ洢ڴУЩʱʹõʱ û̽ЩڴͷŵҪĿΪЩٴҪʱ Խʡʱ䡣ضʱЩʱ ڴջأԱʵ֣͵Ĵ£
HGeometryTree<DIM,DOW> h_tree;
... ...
IrregularMesh<DIM,DOW> ir_mesh_0;
IrregularMesh<DIM,DOW> ir_mesh_1;
... ...
MemoryReclaimer<DIM,DOW> mr(h_tree);
mr.addIrregularMesh(ir_mesh_0);
mr.addIrregularMesh(ir_mesh_1);
mr.reclaim();
ڵreclaim֮ʹõڴ潫ᱻա
Ҫرעǣ˲ʱнh_treeϵġʹ IrregularMeshҪʹaddIrregularMesh 뵽յĹ УܳDZڵĴ
template<int DIM, int DOW = DIM>
HGeometryTreeммΪһdzӵṹ Ϊ˻ڴ棬ʹIJʵ֣
1. ÿIrregularMeshвõڴлաǷdzģ ΪֻҪÿҶӽڵͨͨɾˣʵں reclaimIrregularMeshС
2. HGeometryTreeемʹindex=-1ʶ initialTreeLabelнС
3. еIrregularMeshĵԪõļ嶼±ʶΪ1 labelIrregularMesh
4. HGeometryTreeеļбһıʶΪ-1 üӦñɾһαʱǾͽ ʶΪ-2-1ʾǵһʶΪ1ô ڱijIrregularMeshʹãDzʲôһ ʶΪ-2ôѾٵڶαˣô ϶ϵǸָΪ NULL HGeometryTreeԭǸ״ṹݣǸҪɾ IJ֣ѾΪ״ṹ
5. HGeometryTreeеļбһıʶΪ-2 Ǿͽɾ45 reclaimTreeMemory ʵֵģ