|
gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <CellComplex.h>

Public Types | |
| typedef std::set< Cell *, CellPtrLessThan >::iterator | citer |
Public Member Functions | |
| CellComplex (GModel *model, std::vector< MElement * > &domainElements, std::vector< MElement * > &subdomainElements, std::vector< MElement * > &nondomainElements, std::vector< MElement * > &nonsubdomainElements, std::vector< MElement * > &immuneElements, bool saveOriginalComplex=true) | |
| ~CellComplex () | |
| GModel * | getModel () const |
| int | getDim () const |
| bool | simplicial () const |
| bool | relative () const |
| int | getSize (int dim, bool orig=false) |
| int | getDomain (Cell *cell, std::string &str) |
| void | getCells (std::set< Cell *, CellPtrLessThan > &cells, int dim, int domain=0) |
| int | getNumCells (int dim, int domain=0) |
| Cell * | getACell (int dim, int domain=0) |
| citer | firstCell (int dim, bool orig=false) |
| citer | lastCell (int dim, bool orig=false) |
| bool | hasCell (Cell *cell, bool orig=false) |
| bool | inSameDomain (Cell *c1, Cell *c2) const |
| void | removeSubdomain () |
| void | removeCells (int dim) |
| int | reduction (int dim, int omit, std::vector< Cell * > &omittedCells) |
| int | coreduction (int dim, int omit, std::vector< Cell * > &omittedCells) |
| int | combine (int dim) |
| int | cocombine (int dim) |
| bool | coherent () |
| int | reduceComplex (int combine=1, bool omit=true, bool homseq=false) |
| int | coreduceComplex (int combine=1, bool omit=true, int heuristic=0) |
| void | bettiReduceComplex () |
| bool | isReduced () const |
| int | eulerCharacteristic () |
| void | printEuler () |
| bool | restoreComplex () |
| void | printComplex (int dim) |
| int | saveComplex (const std::string &filename) |
| int | loadComplex (const std::string &filename) |
Private Member Functions | |
| bool | _insertCells (std::vector< MElement * > &elements, int domain) |
| bool | _removeCells (std::vector< MElement * > &elements, int domain) |
| bool | _immunizeCells (std::vector< MElement * > &elements) |
| Cell * | _omitCell (Cell *cell, bool dual) |
| void | enqueueCells (std::map< Cell *, short int, CellPtrLessThan > &cells, std::queue< Cell * > &Q, std::set< Cell *, CellPtrLessThan > &Qset) |
| void | removeCell (Cell *cell, bool other=true, bool del=false) |
| void | insertCell (Cell *cell) |
| int | coreduction (Cell *startCell, int omit, std::vector< Cell * > &omittedCells) |
Private Attributes | |
| std::pair< Cell *, double > | _smallestCell |
| std::pair< Cell *, double > | _biggestCell |
| GModel * | _model |
| std::set< Cell *, CellPtrLessThan > | _cells [4] |
| std::set< Cell *, CellPtrLessThan > | _ocells [4] |
| std::vector< Cell * > | _removedcells |
| int | _dim |
| bool | _simplicial |
| bool | _saveorig |
| bool | _relative |
| int | _deleteCount |
| int | _createCount |
| bool | _reduced |
| int | _numRelativeCells [4] |
| int | _numSubdomainCells [4] |
Static Private Attributes | |
| static double | _patience = 10 |
Definition at line 24 of file CellComplex.h.
| typedef std::set<Cell *, CellPtrLessThan>::iterator CellComplex::citer |
Definition at line 120 of file CellComplex.h.
| CellComplex::CellComplex | ( | GModel * | model, |
| std::vector< MElement * > & | domainElements, | ||
| std::vector< MElement * > & | subdomainElements, | ||
| std::vector< MElement * > & | nondomainElements, | ||
| std::vector< MElement * > & | nonsubdomainElements, | ||
| std::vector< MElement * > & | immuneElements, | ||
| bool | saveOriginalComplex = true |
||
| ) |
| CellComplex::~CellComplex | ( | ) |
|
private |
Definition at line 213 of file CellComplex.cpp.
Referenced by CellComplex().


|
private |
Definition at line 66 of file CellComplex.cpp.
Referenced by CellComplex().


Definition at line 461 of file CellComplex.cpp.
Referenced by coreduceComplex(), and reduceComplex().


|
private |
Definition at line 158 of file CellComplex.cpp.
Referenced by CellComplex().


| void CellComplex::bettiReduceComplex | ( | ) |
| int CellComplex::cocombine | ( | int | dim | ) |
Definition at line 744 of file CellComplex.cpp.
Referenced by bettiReduceComplex(), and coreduceComplex().


| bool CellComplex::coherent | ( | ) |
Definition at line 822 of file CellComplex.cpp.
Referenced by coreduceComplex().


| int CellComplex::combine | ( | int | dim | ) |
Definition at line 666 of file CellComplex.cpp.
Referenced by coreduceComplex(), and reduceComplex().


| int CellComplex::coreduceComplex | ( | int | combine = 1, |
| bool | omit = true, |
||
| int | heuristic = 0 |
||
| ) |
|
private |
Definition at line 301 of file CellComplex.cpp.
Referenced by _omitCell(), and coreduceComplex().


| int CellComplex::coreduction | ( | int | dim, |
| int | omit, | ||
| std::vector< Cell * > & | omittedCells | ||
| ) |
|
private |
Definition at line 287 of file CellComplex.cpp.
Referenced by cocombine(), combine(), and coreduction().

|
inline |
Definition at line 177 of file CellComplex.h.
Referenced by printEuler().


|
inline |
Definition at line 123 of file CellComplex.h.
Referenced by _insertCells(), CellComplex(), cocombine(), coherent(), combine(), coreduceComplex(), coreduction(), getACell(), getCells(), printComplex(), reduceComplex(), reduction(), removeCells(), removeSubdomain(), and restoreComplex().

| Cell * CellComplex::getACell | ( | int | dim, |
| int | domain = 0 |
||
| ) |
| void CellComplex::getCells | ( | std::set< Cell *, CellPtrLessThan > & | cells, |
| int | dim, | ||
| int | domain = 0 |
||
| ) |
|
inline |
Definition at line 94 of file CellComplex.h.
Referenced by _omitCell(), coreduceComplex(), and reduceComplex().

| int CellComplex::getDomain | ( | Cell * | cell, |
| std::string & | str | ||
| ) |
Definition at line 441 of file CellComplex.cpp.
Referenced by _omitCell().


|
inline |
Definition at line 93 of file CellComplex.h.
| int CellComplex::getNumCells | ( | int | dim, |
| int | domain = 0 |
||
| ) |
Definition at line 893 of file CellComplex.cpp.
Referenced by _omitCell(), CellComplex(), and getACell().


| int CellComplex::getSize | ( | int | dim, |
| bool | orig = false |
||
| ) |
Definition at line 425 of file CellComplex.cpp.
Referenced by _omitCell(), CellComplex(), cocombine(), combine(), coreduceComplex(), coreduction(), eulerCharacteristic(), getNumCells(), printComplex(), reduceComplex(), reduction(), and restoreComplex().

| bool CellComplex::hasCell | ( | Cell * | cell, |
| bool | orig = false |
||
| ) |
Definition at line 867 of file CellComplex.cpp.
Referenced by coreduceComplex().


Definition at line 136 of file CellComplex.h.
Referenced by cocombine(), combine(), coreduction(), and reduction().


|
private |
Definition at line 245 of file CellComplex.cpp.
Referenced by cocombine(), combine(), coreduceComplex(), and reduceComplex().


|
inline |
Definition at line 175 of file CellComplex.h.
|
inline |
Definition at line 127 of file CellComplex.h.
Referenced by _immunizeCells(), _insertCells(), _removeCells(), CellComplex(), cocombine(), coherent(), combine(), coreduceComplex(), coreduction(), getACell(), getCells(), hasCell(), printComplex(), reduction(), removeCells(), removeSubdomain(), and restoreComplex().

| int CellComplex::loadComplex | ( | const std::string & | filename | ) |
Definition at line 1028 of file CellComplex.cpp.
| void CellComplex::printComplex | ( | int | dim | ) |
|
inline |
| int CellComplex::reduceComplex | ( | int | combine = 1, |
| bool | omit = true, |
||
| bool | homseq = false |
||
| ) |
Definition at line 499 of file CellComplex.cpp.
Referenced by bettiReduceComplex().


| int CellComplex::reduction | ( | int | dim, |
| int | omit, | ||
| std::vector< Cell * > & | omittedCells | ||
| ) |
Definition at line 343 of file CellComplex.cpp.
Referenced by _omitCell(), and reduceComplex().


|
inline |
Definition at line 96 of file CellComplex.h.
Referenced by coreduceComplex(), getDomain(), reduceComplex(), removeCell(), and restoreComplex().

|
private |
Definition at line 256 of file CellComplex.cpp.
Referenced by _omitCell(), _removeCells(), cocombine(), combine(), coreduction(), reduction(), removeCells(), and removeSubdomain().


| void CellComplex::removeCells | ( | int | dim | ) |
| void CellComplex::removeSubdomain | ( | ) |
Definition at line 555 of file CellComplex.cpp.
Referenced by coreduceComplex(), and reduceComplex().


| bool CellComplex::restoreComplex | ( | ) |
| int CellComplex::saveComplex | ( | const std::string & | filename | ) |
Definition at line 987 of file CellComplex.cpp.
|
inline |
Definition at line 95 of file CellComplex.h.
|
private |
Definition at line 27 of file CellComplex.h.
Referenced by _insertCells(), CellComplex(), and coreduceComplex().
|
private |
Definition at line 33 of file CellComplex.h.
Referenced by _immunizeCells(), _insertCells(), _removeCells(), CellComplex(), coherent(), firstCell(), getSize(), hasCell(), insertCell(), lastCell(), removeCell(), restoreComplex(), and ~CellComplex().
|
private |
Definition at line 54 of file CellComplex.h.
Referenced by _insertCells(), _omitCell(), CellComplex(), cocombine(), combine(), and ~CellComplex().
|
private |
Definition at line 53 of file CellComplex.h.
Referenced by CellComplex(), cocombine(), combine(), restoreComplex(), and ~CellComplex().
|
private |
Definition at line 42 of file CellComplex.h.
Referenced by _insertCells(), CellComplex(), and getDim().
|
private |
Definition at line 29 of file CellComplex.h.
Referenced by getModel().
|
private |
Definition at line 59 of file CellComplex.h.
Referenced by CellComplex(), getNumCells(), removeCell(), and restoreComplex().
|
private |
Definition at line 60 of file CellComplex.h.
Referenced by CellComplex(), getNumCells(), removeCell(), and restoreComplex().
|
private |
Definition at line 36 of file CellComplex.h.
Referenced by CellComplex(), firstCell(), getSize(), hasCell(), lastCell(), and restoreComplex().
|
staticprivate |
Definition at line 82 of file CellComplex.h.
Referenced by _insertCells(), cocombine(), combine(), coreduceComplex(), and reduceComplex().
|
private |
Definition at line 57 of file CellComplex.h.
Referenced by CellComplex(), cocombine(), combine(), coreduceComplex(), coreduction(), isReduced(), reduceComplex(), reduction(), removeCells(), removeSubdomain(), and restoreComplex().
|
private |
Definition at line 51 of file CellComplex.h.
Referenced by CellComplex(), and relative().
|
private |
Definition at line 39 of file CellComplex.h.
Referenced by removeCell(), restoreComplex(), and ~CellComplex().
|
private |
Definition at line 48 of file CellComplex.h.
Referenced by CellComplex(), and restoreComplex().
|
private |
Definition at line 45 of file CellComplex.h.
Referenced by _insertCells(), and simplicial().
|
private |
Definition at line 26 of file CellComplex.h.
Referenced by _insertCells(), CellComplex(), and coreduceComplex().