公有类型 |
| 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 ʵֵģ