OpenVDB  12.1.0
Classes | Namespaces | Macros | Typedefs | Functions
PrincipalComponentAnalysisImpl.h File Reference

Go to the source code of this file.

Classes

struct  NoTimer
 
struct  PcaTimer
 
struct  AttrIndices
 
struct  PcaTransfer< PointDataTreeT >
 
struct  WeightPosSumsTransfer< PointDataTreeT >
 
struct  CovarianceTransfer< PointDataTreeT >
 

Namespaces

 openvdb
 
 openvdb::v12_1
 
 openvdb::v12_1::points
 
 openvdb::v12_1::points::pca_internal
 

Macros

#define OPENVDB_PCA_SELF_CONTRIBUTION   1
 when enabled, prints timings for each substep of the PCA algorithm More...
 

Typedefs

using TimerT = NoTimer
 
using WeightSumT = double
 
using WeightedPositionSumT = Vec3d
 
using GroupIndexT = points::AttributeSet::Descriptor::GroupIndex
 

Functions

template<typename T , typename LeafNodeT >
T * initPcaArrayAttribute (LeafNodeT &leaf, const size_t idx, const bool fill=true)
 
template<typename Scalar >
Vec3i descendingOrder (math::Vec3< Scalar > &vector)
 Sort a vector into descending order and output a vector of the resulting order. More...
 
template<typename Scalar >
bool decomposeSymmetricMatrix (const math::Mat3< Scalar > &mat, math::Mat3< Scalar > &U, math::Vec3< Scalar > &sigma)
 Decomposes a symmetric matrix into its eigenvalues and a rotation matrix of eigenvectors. Note that if mat is positive-definite, this will be equivalent to a singular value decomposition where V = U. More...
 
template<typename PointDataGridT >
void pca (PointDataGridT &points, const PcaSettings &settings, const PcaAttributes &attrs)
 Calculate ellipsoid transformations from the local point distributions as described in Yu and Turk's 'Reconstructing Fluid Surfaces with Anisotropic Kernels'. The results are stored on the attributes pointed to by the PcaAttributes. See the PcaSettings and PcaAttributes structs for more details. More...
 

Macro Definition Documentation

#define OPENVDB_PCA_SELF_CONTRIBUTION   1

when enabled, prints timings for each substep of the PCA algorithm

Experimental option to skip storing the self weight for the weighted PCA when set to 0