#include <harmonic.h>
Public Types | |
typedef double | CoeffScalar |
typedef std::pair< VertexType *, Scalar > | Constraint |
typedef ConstraintVec::const_iterator | ConstraintIt |
typedef std::vector< Constraint > | ConstraintVec |
typedef MeshType::CoordType | CoordType |
typedef MeshType::FaceType | FaceType |
typedef MeshType::ScalarType | ScalarType |
typedef MeshType::VertexType | VertexType |
enum | WeightInfo { Success = 0, EdgeAlreadyVisited } |
Static Public Member Functions | |
template<typename ScalarT > | |
static ScalarT | ComputeAngle (const VertexType *a, const VertexType *b, const VertexType *c) |
template<typename ACCESSOR > | |
static bool | ComputeScalarField (MeshType &m, const ConstraintVec &constraints, ACCESSOR field, bool biharmonic=false) |
ComputeScalarField Generates a scalar harmonic field over the mesh. For more details see: Kai Xua, Hao Zhang, Daniel Cohen-Or, Yueshan Xionga,'Dynamic Harmonic Fields for Surface Processing'. Computers & Graphics, 2009. | |
template<typename ScalarT > | |
static ScalarT | CotangentWeight (const FaceType &f, int edge) |
ComputeWeight computes the cotangent weighting for an edge. | |
template<typename ScalarT > | |
static WeightInfo | CotangentWeightIfNotVisited (const FaceType &f, int edge, ScalarT &weight) |
CotangentWeightIfNotVisited computes the cotangent weighting for an edge (if it has not be done yet). This must be ensured setting the visited flag on the face once all edge weights have been computed. |
Definition at line 33 of file harmonic.h.
typedef double vcg::tri::Harmonic< MeshType, Scalar >::CoeffScalar |
Definition at line 41 of file harmonic.h.
typedef std::pair<VertexType *, Scalar> vcg::tri::Harmonic< MeshType, Scalar >::Constraint |
Definition at line 43 of file harmonic.h.
typedef ConstraintVec::const_iterator vcg::tri::Harmonic< MeshType, Scalar >::ConstraintIt |
Definition at line 45 of file harmonic.h.
typedef std::vector<Constraint> vcg::tri::Harmonic< MeshType, Scalar >::ConstraintVec |
Definition at line 44 of file harmonic.h.
typedef MeshType::CoordType vcg::tri::Harmonic< MeshType, Scalar >::CoordType |
Definition at line 38 of file harmonic.h.
typedef MeshType::FaceType vcg::tri::Harmonic< MeshType, Scalar >::FaceType |
Definition at line 37 of file harmonic.h.
typedef MeshType::ScalarType vcg::tri::Harmonic< MeshType, Scalar >::ScalarType |
Definition at line 39 of file harmonic.h.
typedef MeshType::VertexType vcg::tri::Harmonic< MeshType, Scalar >::VertexType |
Definition at line 36 of file harmonic.h.
enum vcg::tri::Harmonic::WeightInfo |
Definition at line 173 of file harmonic.h.
static ScalarT vcg::tri::Harmonic< MeshType, Scalar >::ComputeAngle | ( | const VertexType * | a, |
const VertexType * | b, | ||
const VertexType * | c | ||
) | [inline, static] |
Definition at line 256 of file harmonic.h.
static bool vcg::tri::Harmonic< MeshType, Scalar >::ComputeScalarField | ( | MeshType & | m, |
const ConstraintVec & | constraints, | ||
ACCESSOR | field, | ||
bool | biharmonic = false |
||
) | [inline, static] |
ComputeScalarField Generates a scalar harmonic field over the mesh. For more details see:
Kai Xua, Hao Zhang, Daniel Cohen-Or, Yueshan Xionga,'Dynamic Harmonic Fields for Surface Processing'. Computers & Graphics, 2009.
m | the mesh |
constraints | the Dirichlet boundary conditions in the form of vector of pairs <vertex pointer, value>. |
field | the accessor to use to write the computed per-vertex values (must have the [ ] operator). |
Definition at line 58 of file harmonic.h.
static ScalarT vcg::tri::Harmonic< MeshType, Scalar >::CotangentWeight | ( | const FaceType & | f, |
int | edge | ||
) | [inline, static] |
ComputeWeight computes the cotangent weighting for an edge.
f | the face |
edge | the edge of the provided face for which we compute the weight |
Definition at line 214 of file harmonic.h.
static WeightInfo vcg::tri::Harmonic< MeshType, Scalar >::CotangentWeightIfNotVisited | ( | const FaceType & | f, |
int | edge, | ||
ScalarT & | weight | ||
) | [inline, static] |
CotangentWeightIfNotVisited computes the cotangent weighting for an edge (if it has not be done yet). This must be ensured setting the visited flag on the face once all edge weights have been computed.
f | the face |
edge | the edge of the provided face for which we compute the weight |
weight | the computed weight (output) |
Definition at line 192 of file harmonic.h.