gmsh-TingyuanDoc
0.1
An Open-Source Timing-driven Analytical Mixed-size FPGA Placer
|
#include <bezierBasis.h>
Public Member Functions | |
bezierCoeff () | |
bezierCoeff (const bezierCoeff &other, bool swap=false) | |
bezierCoeff (const FuncSpaceData fsData, const fullVector< double > &orderedLagCoeff, int numOfPool=-1) | |
bezierCoeff (const FuncSpaceData fsData, const fullMatrix< double > &orderedLagCoeff, int numOfPool=-1) | |
~bezierCoeff () | |
void | updateDataPtr (long diff) |
int | getPolynomialOrder () const |
int | getNumCoeff () const |
int | getNumColumns () const |
int | getNumCornerCoeff () const |
int | getIdxCornerCoeff (int i) const |
double | getCornerCoeff (int k) const |
double | getCornerCoeff (int k, int j) const |
void | getCornerCoeffs (fullVector< double > &) const |
void | getCornerCoeffs (fullMatrix< double > &) const |
double * | getDataPtr () |
const bezierBasis * | getBezierBasis () const |
void | setMatrixAsProxy (fullMatrix< double > &m) const |
void | setVectorAsProxy (fullVector< double > &v) const |
void | subdivide (std::vector< bezierCoeff * > &subCoeff) const |
double | operator() (int i) const |
double | operator() (int i, int j) const |
double & | operator() (int i) |
double & | operator() (int i, int j) |
Static Public Member Functions | |
static void | usePools (std::size_t size0, std::size_t size1) |
static void | releasePools () |
Private Types | |
enum | SubdivisionTet { subdivU, subdivV, subdivW, node0CrossEdge12, node3CrossEdge12, node1CrossEdge03, node2CrossEdge03 } |
Private Member Functions | |
void | _computeCoefficients (const double *lagCoeffData) |
Static Private Member Functions | |
static void | _subdivideTet (SubdivisionTet which, int n, bezierCoeff &coeff) |
static void | _subdivide (fullMatrix< double > &coeff, int npts, int start) |
static void | _subdivide (fullMatrix< double > &coeff, int npts, int start, int inc) |
static void | _subdivideTriangle (const bezierCoeff &coeff, int start, std::vector< bezierCoeff * > &subCoeff) |
static void | _subdivideTetrahedron (const bezierCoeff &coeff, std::vector< bezierCoeff * > &vSubCoeff) |
static void | _subdivideQuadrangle (const bezierCoeff &coeff, std::vector< bezierCoeff * > &subCoeff) |
static void | _subdivideHexahedron (const bezierCoeff &coeff, std::vector< bezierCoeff * > &subCoeff) |
static void | _subdividePrism (const bezierCoeff &coeff, std::vector< bezierCoeff * > &subCoeff) |
static void | _subdividePyramid (const bezierCoeff &coeff, std::vector< bezierCoeff * > &subCoeff) |
static void | _copy (const bezierCoeff &from, int start, int num, bezierCoeff &to) |
static void | _copyLine (const fullMatrix< double > &allSub, int n, int starti, bezierCoeff &sub) |
static void | _copyQuad (const fullMatrix< double > &allSub, int n, int starti, int startj, bezierCoeff &sub) |
static void | _copyHex (const fullMatrix< double > &allSub, int n, int starti, int startj, int startk, bezierCoeff &sub) |
static void | _copyPyr (const fullMatrix< double > &allSub, int nij, int nk, int starti, int startj, int startk, bezierCoeff &sub) |
static int | _ij2Index (int i, int j, int n) |
static int | _ijk2Index (int i, int j, int k, int n) |
Private Attributes | |
int | _numPool |
FuncSpaceData | _funcSpaceData |
const bezierBasis * | _basis |
int | _r |
int | _c |
double * | _data |
bool | _ownData |
Static Private Attributes | |
static bezierCoeffMemoryPool * | _pool0 = nullptr |
static bezierCoeffMemoryPool * | _pool1 = nullptr |
static fullMatrix< double > | _sub = fullMatrix<double>() |
Definition at line 127 of file bezierBasis.h.
|
private |
Enumerator | |
---|---|
subdivU | |
subdivV | |
subdivW | |
node0CrossEdge12 | |
node3CrossEdge12 | |
node1CrossEdge03 | |
node2CrossEdge03 |
Definition at line 204 of file bezierBasis.h.
|
inline |
Definition at line 145 of file bezierBasis.h.
bezierCoeff::bezierCoeff | ( | const bezierCoeff & | other, |
bool | swap = false |
||
) |
bezierCoeff::bezierCoeff | ( | const FuncSpaceData | fsData, |
const fullVector< double > & | orderedLagCoeff, | ||
int | numOfPool = -1 |
||
) |
bezierCoeff::bezierCoeff | ( | const FuncSpaceData | fsData, |
const fullMatrix< double > & | orderedLagCoeff, | ||
int | numOfPool = -1 |
||
) |
bezierCoeff::~bezierCoeff | ( | ) |
|
private |
Definition at line 738 of file bezierBasis.cpp.
Referenced by bezierCoeff().
|
staticprivate |
Definition at line 1389 of file bezierBasis.cpp.
Referenced by _subdivideTetrahedron(), and _subdivideTriangle().
|
staticprivate |
Definition at line 1421 of file bezierBasis.cpp.
Referenced by _subdivideHexahedron().
|
staticprivate |
Definition at line 1398 of file bezierBasis.cpp.
Referenced by _subdividePrism().
|
staticprivate |
Definition at line 1437 of file bezierBasis.cpp.
Referenced by _subdividePyramid().
|
staticprivate |
Definition at line 1407 of file bezierBasis.cpp.
Referenced by _subdivideQuadrangle().
|
inlinestaticprivate |
Definition at line 240 of file bezierBasis.h.
Referenced by _subdivideTriangle().
|
inlinestaticprivate |
Definition at line 244 of file bezierBasis.h.
Referenced by _subdivideTet().
|
staticprivate |
Definition at line 973 of file bezierBasis.cpp.
Referenced by _subdivideHexahedron(), _subdividePrism(), _subdividePyramid(), and _subdivideQuadrangle().
|
staticprivate |
|
staticprivate |
Definition at line 1272 of file bezierBasis.cpp.
Referenced by subdivide().
|
staticprivate |
Definition at line 1308 of file bezierBasis.cpp.
Referenced by subdivide().
|
staticprivate |
Definition at line 1344 of file bezierBasis.cpp.
Referenced by subdivide().
|
staticprivate |
Definition at line 1249 of file bezierBasis.cpp.
Referenced by subdivide().
|
staticprivate |
Definition at line 1086 of file bezierBasis.cpp.
Referenced by _subdivideTetrahedron().
|
staticprivate |
Definition at line 1206 of file bezierBasis.cpp.
Referenced by subdivide().
|
staticprivate |
Definition at line 1001 of file bezierBasis.cpp.
Referenced by _subdividePrism(), and subdivide().
|
inline |
Definition at line 184 of file bezierBasis.h.
Referenced by jacobianBasedQuality::_coeffDataIGE::_computeLowerBound(), and jacobianBasedQuality::_coeffDataICN::_computeLowerBound().
|
inline |
Definition at line 173 of file bezierBasis.h.
Referenced by jacobianBasedQuality::_coeffDataJac::_coeffDataJac(), and getCornerCoeffs().
|
inline |
void bezierCoeff::getCornerCoeffs | ( | fullMatrix< double > & | m | ) | const |
void bezierCoeff::getCornerCoeffs | ( | fullVector< double > & | v | ) | const |
Definition at line 921 of file bezierBasis.cpp.
Referenced by jacobianBasedQuality::_coeffDataIGE::_computeAtCorner(), and jacobianBasedQuality::_coeffDataICN::_computeAtCorner().
|
inline |
Definition at line 183 of file bezierBasis.h.
Referenced by MElement::idealJacRange(), and MElement::scaledJacRange().
int bezierCoeff::getIdxCornerCoeff | ( | int | i | ) | const |
Definition at line 846 of file bezierBasis.cpp.
Referenced by getCornerCoeff(), and getCornerCoeffs().
|
inline |
Definition at line 169 of file bezierBasis.h.
Referenced by jacobianBasedQuality::_coeffDataJac::_coeffDataJac(), MElement::idealJacRange(), MElementBB(), and MElement::scaledJacRange().
|
inline |
Definition at line 170 of file bezierBasis.h.
Referenced by _subdivideTet().
|
inline |
Definition at line 171 of file bezierBasis.h.
Referenced by jacobianBasedQuality::_coeffDataJac::_coeffDataJac(), and getCornerCoeffs().
|
inline |
Definition at line 165 of file bezierBasis.h.
Referenced by _subdivideHexahedron(), _subdividePrism(), _subdivideQuadrangle(), _subdivideTetrahedron(), and _subdivideTriangle().
|
inline |
Definition at line 200 of file bezierBasis.h.
|
inline |
Definition at line 197 of file bezierBasis.h.
|
inline |
Definition at line 201 of file bezierBasis.h.
|
inline |
Definition at line 198 of file bezierBasis.h.
|
static |
Definition at line 830 of file bezierBasis.cpp.
|
inline |
Definition at line 186 of file bezierBasis.h.
Referenced by jacobianBasedQuality::_coeffDataIGE::_computeLowerBound(), and jacobianBasedQuality::_coeffDataICN::_computeLowerBound().
|
inline |
Definition at line 190 of file bezierBasis.h.
Referenced by jacobianBasedQuality::_coeffDataIGE::_computeLowerBound(), and jacobianBasedQuality::_coeffDataICN::_computeLowerBound().
void bezierCoeff::subdivide | ( | std::vector< bezierCoeff * > & | subCoeff | ) | const |
Definition at line 938 of file bezierBasis.cpp.
Referenced by jacobianBasedQuality::_coeffDataJac::getSubCoeff(), jacobianBasedQuality::_coeffDataIGE::getSubCoeff(), and jacobianBasedQuality::_coeffDataICN::getSubCoeff().
void bezierCoeff::updateDataPtr | ( | long | diff | ) |
|
static |
Definition at line 818 of file bezierBasis.cpp.
Referenced by jacobianBasedQuality::minICNMeasure(), jacobianBasedQuality::minIGEMeasure(), and jacobianBasedQuality::minMaxJacobianDeterminant().
|
private |
Definition at line 131 of file bezierBasis.h.
Referenced by _computeCoefficients(), bezierCoeff(), getBezierBasis(), and getNumCornerCoeff().
|
private |
Definition at line 132 of file bezierBasis.h.
Referenced by _computeCoefficients(), _copy(), _subdivideHexahedron(), _subdividePrism(), _subdividePyramid(), _subdivideQuadrangle(), _subdivideTriangle(), bezierCoeff(), getCornerCoeffs(), getNumColumns(), and setMatrixAsProxy().
|
private |
Definition at line 133 of file bezierBasis.h.
Referenced by _computeCoefficients(), bezierCoeff(), getCornerCoeff(), getCornerCoeffs(), getDataPtr(), operator()(), setMatrixAsProxy(), setVectorAsProxy(), updateDataPtr(), and ~bezierCoeff().
|
private |
Definition at line 130 of file bezierBasis.h.
Referenced by _computeCoefficients(), _subdividePyramid(), bezierCoeff(), getIdxCornerCoeff(), getPolynomialOrder(), and subdivide().
|
private |
Definition at line 129 of file bezierBasis.h.
Referenced by bezierCoeff(), and ~bezierCoeff().
|
private |
Definition at line 134 of file bezierBasis.h.
Referenced by bezierCoeff(), updateDataPtr(), and ~bezierCoeff().
|
staticprivate |
Definition at line 136 of file bezierBasis.h.
Referenced by bezierCoeff(), releasePools(), usePools(), and ~bezierCoeff().
|
staticprivate |
Definition at line 137 of file bezierBasis.h.
Referenced by bezierCoeff(), releasePools(), usePools(), and ~bezierCoeff().
|
private |
Definition at line 132 of file bezierBasis.h.
Referenced by _computeCoefficients(), bezierCoeff(), getCornerCoeff(), getCornerCoeffs(), getIdxCornerCoeff(), getNumCoeff(), operator()(), setMatrixAsProxy(), and setVectorAsProxy().
|
staticprivate |
Definition at line 138 of file bezierBasis.h.
Referenced by _subdivideHexahedron(), _subdividePrism(), _subdividePyramid(), and _subdivideQuadrangle().