Loading...
Searching...
No Matches
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

namespace | 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.
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.
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