HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_EmbeddedTriangleMesh< E > Class Template Reference

#include <UT_TriangleMesh.h>

+ Inheritance diagram for UT_EmbeddedTriangleMesh< E >:

Public Types

using PointCoords = typename E::value_type
 
using Real = typename PointCoords::value_type
 
using Complex = typename std::complex< Real >
 
using Vector3 = UT_Vector3T< Real >
 

Public Member Functions

 UT_EmbeddedTriangleMesh ()=default
 
SYS_FORCE_INLINE auto pointPosition (int pt) const
 
void setMeshPointPositions (const E *ptpos)
 
bool hasEmbedding () const
 
SYS_FORCE_INLINE auto triangleBarycenter (int t) const
 
SYS_FORCE_INLINE auto triangleNormal (int t, bool normalize=true) const
 
SYS_FORCE_INLINE auto triangleArea (int t) const
 
template<typename T >
auto triangleGradient (int t, T f0, T f1, T f2) const
 
template<typename F , typename A >
Vector3 pointGradient (int p, const F &tri_fn, const A &pt_atlas) const
 
template<typename F >
auto triangleLaplacian (int t, const F &tri_fn) const
 
template<typename F >
auto pointLaplacian (int p, const F &pt_fn) const
 
SYS_FORCE_INLINE auto hedgeVector (int h) const
 
SYS_FORCE_INLINE auto hedgeLength (int h) const
 
SYS_FORCE_INLINE auto dualHedgeLength (int h) const
 
SYS_FORCE_INLINE auto hedgeDihedralAngle (int h) const
 
SYS_FORCE_INLINE auto hedgeCotan (int h) const
 
SYS_FORCE_INLINE auto hedgeAngle (int h) const
 
SYS_FORCE_INLINE auto pointDualArea (int p) const
 
SYS_FORCE_INLINE auto pointAngleSum (int p) const
 
SYS_FORCE_INLINE auto pointNormal (int p, bool area_weighted=false) const
 
SYS_FORCE_INLINE auto pointGaussCurvature (int p) const
 
SYS_FORCE_INLINE auto pointMeanCurvature (int p) const
 
SYS_FORCE_INLINE auto triangleGaussCurvature (int t) const
 
SYS_FORCE_INLINE auto triangleMeanCurvature (int t) const
 
SYS_FORCE_INLINE Complex triangleMaxPrincipalDirection (int t) const
 
Vector3 extrinsicTriangleTangent (int p, Real radial, Real angular) const
 
SYS_FORCE_INLINE Vector3 extrinsicTriangleTangent (int t, Complex z) const
 
template<typename F , typename A >
UT_EmbeddedTriangleMesh< E >
::Vector3 
pointGradient (int p, const F &tri_fn, const A &pt_atlas) const
 
- Public Member Functions inherited from UT_TriangleMesh
 UT_TriangleMesh ()=default
 
void build (const UT_IntArray &tri_pts, const UT_IntArray *boundary_edge_pts=nullptr, bool reindex_points=false, const UT_IntArray *hedge_pair_class=nullptr)
 
SYS_FORCE_INLINE int numTriangles () const
 
SYS_FORCE_INLINE int numPoints () const
 
SYS_FORCE_INLINE int numHedges () const
 
SYS_FORCE_INLINE int numVertices () const
 
SYS_FORCE_INLINE int triangleHedge (int t, int j=0) const
 
SYS_FORCE_INLINE int triangleVertex (int t, int j=0) const
 
SYS_FORCE_INLINE int hedgeTriangle (int h) const
 
SYS_FORCE_INLINE int vertexTriangle (int v) const
 
SYS_FORCE_INLINE int trianglePoint (int t, int j=0) const
 
SYS_FORCE_INLINE int srcVertex (int h) const
 
SYS_FORCE_INLINE int dstVertex (int h) const
 
SYS_FORCE_INLINE int apxVertex (int h) const
 
SYS_FORCE_INLINE int onext (int h) const
 
SYS_FORCE_INLINE int vertexPoint (int v) const
 
SYS_FORCE_INLINE int srcPoint (int h) const
 
SYS_FORCE_INLINE int dstPoint (int h) const
 
SYS_FORCE_INLINE int apxPoint (int h) const
 
SYS_FORCE_INLINE int lnext (int h) const
 
SYS_FORCE_INLINE int lprev (int h) const
 
SYS_FORCE_INLINE int sym (int h) const
 
SYS_FORCE_INLINE int pointVertex (int p) const
 
SYS_FORCE_INLINE int pointHedge (int p) const
 
SYS_FORCE_INLINE bool isBoundaryHedge (int h) const
 
SYS_FORCE_INLINE bool isBoundaryPoint (int p) const
 
SYS_FORCE_INLINE int numBoundaries () const
 
SYS_FORCE_INLINE int boundaryHedge (int comp) const
 
SYS_FORCE_INLINE int hedgeBoundary (int h) const
 
void traceBoundary (int h0, UT_IntArray &bd) const
 
int numInteriorHedges () const
 
int numBoundaryHedges () const
 
int numBoundaryPoints () const
 
int numInteriorPoints () const
 
int numEdges () const
 
int eulerCharacteristic () const
 

Detailed Description

template<typename E>
class UT_EmbeddedTriangleMesh< E >

Definition at line 238 of file UT_TriangleMesh.h.

Member Typedef Documentation

template<typename E>
using UT_EmbeddedTriangleMesh< E >::Complex = typename std::complex<Real>

Definition at line 244 of file UT_TriangleMesh.h.

template<typename E>
using UT_EmbeddedTriangleMesh< E >::PointCoords = typename E::value_type

Definition at line 242 of file UT_TriangleMesh.h.

template<typename E>
using UT_EmbeddedTriangleMesh< E >::Real = typename PointCoords::value_type

Definition at line 243 of file UT_TriangleMesh.h.

template<typename E>
using UT_EmbeddedTriangleMesh< E >::Vector3 = UT_Vector3T<Real>

Definition at line 245 of file UT_TriangleMesh.h.

Constructor & Destructor Documentation

template<typename E>
UT_EmbeddedTriangleMesh< E >::UT_EmbeddedTriangleMesh ( )
explicitdefault

Member Function Documentation

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::dualHedgeLength ( int  h) const

Definition at line 554 of file UT_TriangleMesh.h.

template<typename M >
UT_EmbeddedTriangleMesh< M >::Vector3 UT_EmbeddedTriangleMesh< M >::extrinsicTriangleTangent ( int  p,
Real  radial,
Real  angular 
) const

Definition at line 731 of file UT_TriangleMesh.h.

template<typename M >
UT_EmbeddedTriangleMesh< M >::Vector3 UT_EmbeddedTriangleMesh< M >::extrinsicTriangleTangent ( int  t,
Complex  z 
) const

Definition at line 724 of file UT_TriangleMesh.h.

template<typename E>
bool UT_EmbeddedTriangleMesh< E >::hasEmbedding ( ) const
inline

Definition at line 256 of file UT_TriangleMesh.h.

template<typename E>
SYS_FORCE_INLINE auto UT_EmbeddedTriangleMesh< E >::hedgeAngle ( int  h) const
inline

Definition at line 335 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::hedgeCotan ( int  h) const

Definition at line 581 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::hedgeDihedralAngle ( int  h) const

Definition at line 566 of file UT_TriangleMesh.h.

template<typename E>
SYS_FORCE_INLINE auto UT_EmbeddedTriangleMesh< E >::hedgeLength ( int  h) const
inline

Definition at line 311 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::hedgeVector ( int  h) const

Definition at line 547 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::pointAngleSum ( int  p) const

Definition at line 609 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::pointDualArea ( int  p) const

Definition at line 595 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::pointGaussCurvature ( int  p) const

Definition at line 648 of file UT_TriangleMesh.h.

template<typename E>
template<typename F , typename A >
Vector3 UT_EmbeddedTriangleMesh< E >::pointGradient ( int  p,
const F &  tri_fn,
const A &  pt_atlas 
) const
template<typename E>
template<typename F , typename A >
UT_EmbeddedTriangleMesh<E>::Vector3 UT_EmbeddedTriangleMesh< E >::pointGradient ( int  p,
const F &  tri_fn,
const A &  pt_atlas 
) const

Definition at line 511 of file UT_TriangleMesh.h.

template<typename E >
template<typename F >
auto UT_EmbeddedTriangleMesh< E >::pointLaplacian ( int  p,
const F &  pt_fn 
) const

Definition at line 472 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::pointMeanCurvature ( int  p) const

Definition at line 656 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::pointNormal ( int  p,
bool  area_weighted = false 
) const

Definition at line 623 of file UT_TriangleMesh.h.

template<typename E>
SYS_FORCE_INLINE auto UT_EmbeddedTriangleMesh< E >::pointPosition ( int  pt) const
inline

Definition at line 250 of file UT_TriangleMesh.h.

template<typename E>
void UT_EmbeddedTriangleMesh< E >::setMeshPointPositions ( const E *  ptpos)
inline

Definition at line 253 of file UT_TriangleMesh.h.

template<typename E>
SYS_FORCE_INLINE auto UT_EmbeddedTriangleMesh< E >::triangleArea ( int  t) const
inline

Definition at line 277 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::triangleBarycenter ( int  t) const

Definition at line 402 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::triangleGaussCurvature ( int  t) const

Definition at line 670 of file UT_TriangleMesh.h.

template<typename E >
template<typename T >
auto UT_EmbeddedTriangleMesh< E >::triangleGradient ( int  t,
T  f0,
T  f1,
T  f2 
) const

Definition at line 427 of file UT_TriangleMesh.h.

template<typename E >
template<typename F >
auto UT_EmbeddedTriangleMesh< E >::triangleLaplacian ( int  t,
const F &  tri_fn 
) const

Definition at line 443 of file UT_TriangleMesh.h.

template<typename E >
UT_EmbeddedTriangleMesh< E >::Complex UT_EmbeddedTriangleMesh< E >::triangleMaxPrincipalDirection ( int  t) const

Definition at line 699 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::triangleMeanCurvature ( int  t) const

Definition at line 686 of file UT_TriangleMesh.h.

template<typename E >
auto UT_EmbeddedTriangleMesh< E >::triangleNormal ( int  t,
bool  normalize = true 
) const

Definition at line 411 of file UT_TriangleMesh.h.


The documentation for this class was generated from the following file: