OpenVDB  12.0.0
Classes | Namespaces | Typedefs | Functions
AttributeTransferUtil.h File Reference

Utility methods used by the From/To Polygons and From Particles SOPs. More...

#include "Utils.h"
#include <openvdb/openvdb.h>
#include <openvdb/math/Proximity.h>
#include <openvdb/util/NullInterrupter.h>
#include <openvdb/util/Util.h>
#include <GA/GA_PageIterator.h>
#include <GA/GA_SplittableRange.h>
#include <GEO/GEO_PrimPolySoup.h>
#include <SYS/SYS_Types.h>
#include <algorithm>
#include <cmath>
#include <limits>
#include <memory>
#include <set>
#include <sstream>
#include <string>
#include <type_traits>
#include <vector>

Go to the source code of this file.

Classes

class  AttributeDetailBase
 
class  AttributeDetail< VDBGridType >
 
class  MeshAttrTransfer
 
class  PointAttrTransfer
 
struct  AttributeCopyBase
 
struct  AttributeCopy< ValueType >
 
struct  StrAttributeCopy
 
class  TransferPrimitiveAttributesOp< GridType >
 
class  TransferPointAttributesOp< GridType >
 

Namespaces

 openvdb_houdini
 

Typedefs

using AttributeDetailList = std::vector< AttributeDetailBase::Ptr >
 

Functions

template<typename ValueType >
ValueType evalAttr (const GA_Attribute *atr, const GA_AIFTuple *aif, GA_Offset off, int idx)
 
template<>
float evalAttr< float > (const GA_Attribute *atr, const GA_AIFTuple *aif, GA_Offset off, int idx)
 
template<>
openvdb::Int32 evalAttr< openvdb::Int32 > (const GA_Attribute *atr, const GA_AIFTuple *aif, GA_Offset off, int idx)
 
template<>
openvdb::Int64 evalAttr< openvdb::Int64 > (const GA_Attribute *atr, const GA_AIFTuple *aif, GA_Offset off, int idx)
 
template<>
openvdb::Vec3i evalAttr< openvdb::Vec3i > (const GA_Attribute *atr, const GA_AIFTuple *aif, GA_Offset off, int)
 
template<>
openvdb::Vec3s evalAttr< openvdb::Vec3s > (const GA_Attribute *atr, const GA_AIFTuple *aif, GA_Offset off, int)
 
template<>
openvdb::Vec3d evalAttr< openvdb::Vec3d > (const GA_Attribute *atr, const GA_AIFTuple *aif, GA_Offset off, int)
 
template<typename ValueType >
ValueType combine (const ValueType &v0, const ValueType &v1, const ValueType &v2, const openvdb::Vec3d &w)
 Combine different value types. More...
 
template<>
openvdb::Int32 combine (const openvdb::Int32 &v0, const openvdb::Int32 &v1, const openvdb::Int32 &v2, const openvdb::Vec3d &w)
 
template<>
openvdb::Int64 combine (const openvdb::Int64 &v0, const openvdb::Int64 &v1, const openvdb::Int64 &v2, const openvdb::Vec3d &w)
 
template<>
openvdb::Vec3i combine (const openvdb::Vec3i &v0, const openvdb::Vec3i &v1, const openvdb::Vec3i &v2, const openvdb::Vec3d &w)
 
template<>
openvdb::Vec3s combine (const openvdb::Vec3s &v0, const openvdb::Vec3s &v1, const openvdb::Vec3s &v2, const openvdb::Vec3d &w)
 
template<>
openvdb::Vec3d combine (const openvdb::Vec3d &v0, const openvdb::Vec3d &v1, const openvdb::Vec3d &v2, const openvdb::Vec3d &w)
 
template<typename ValueType >
ValueType evalAttrDefault (const GA_Defaults &defaults, int idx)
 Get an OpenVDB-specific value by evaluating GA_Default::get() with appropriate arguments. More...
 
template<>
float evalAttrDefault< float > (const GA_Defaults &defaults, int)
 
template<>
openvdb::Int32 evalAttrDefault< openvdb::Int32 > (const GA_Defaults &defaults, int idx)
 
template<>
openvdb::Int64 evalAttrDefault< openvdb::Int64 > (const GA_Defaults &defaults, int idx)
 
template<>
openvdb::Vec3i evalAttrDefault< openvdb::Vec3i > (const GA_Defaults &defaults, int)
 
template<>
openvdb::Vec3s evalAttrDefault< openvdb::Vec3s > (const GA_Defaults &defaults, int)
 
template<>
openvdb::Vec3d evalAttrDefault< openvdb::Vec3d > (const GA_Defaults &defaults, int)
 
template<>
openvdb::math::Quat< float > evalAttrDefault< openvdb::math::Quat< float > > (const GA_Defaults &defaults, int)
 
template<>
openvdb::math::Quat< double > evalAttrDefault< openvdb::math::Quat< double > > (const GA_Defaults &defaults, int)
 
template<>
openvdb::math::Mat3< float > evalAttrDefault< openvdb::math::Mat3< float > > (const GA_Defaults &defaults, int)
 
template<>
openvdb::math::Mat3< double > evalAttrDefault< openvdb::math::Mat3< double > > (const GA_Defaults &defaults, int)
 
template<>
openvdb::math::Mat4< float > evalAttrDefault< openvdb::math::Mat4< float > > (const GA_Defaults &defaults, int)
 
template<>
openvdb::math::Mat4< double > evalAttrDefault< openvdb::math::Mat4< double > > (const GA_Defaults &defaults, int)
 
AttributeCopyBase::Ptr createAttributeCopier (const GA_Attribute &sourceAttr, GA_Attribute &targetAttr)
 
GA_Offset findClosestPrimitiveToPoint (const GU_Detail &geo, const std::set< GA_Index > &primitives, const openvdb::Vec3d &p, GA_Offset &vert0, GA_Offset &vert1, GA_Offset &vert2, openvdb::Vec3d &uvw)
 
GA_Offset findClosestPrimitiveToPoint (const GU_Detail &geo, std::vector< GA_Index > &primitives, const openvdb::Vec3d &p, GA_Offset &vert0, GA_Offset &vert1, GA_Offset &vert2, openvdb::Vec3d &uvw)
 
template<class GridType >
void transferPrimitiveAttributes (const GU_Detail &sourceGeo, GU_Detail &targetGeo, GridType &indexGrid, openvdb::util::NullInterrupter &boss, const GA_PrimitiveGroup *primitives=nullptr)
 
template<class GridType >
void transferPrimitiveAttributes (const GU_Detail &sourceGeo, GU_Detail &targetGeo, GridType &indexGrid, Interrupter &boss, const GA_PrimitiveGroup *primitives=nullptr)
 

Detailed Description

Utility methods used by the From/To Polygons and From Particles SOPs.

Author
FX R&D Simulation team