10 #ifndef OPENVDB_HOUDINI_POINT_UTILS_HAS_BEEN_INCLUDED 11 #define OPENVDB_HOUDINI_POINT_UTILS_HAS_BEEN_INCLUDED 17 #include <GA/GA_Attribute.h> 18 #include <GU/GU_Detail.h> 19 #include <PRM/PRM_ChoiceList.h> 29 #ifdef OPENVDB_HOUDINI_API 30 #undef OPENVDB_HOUDINI_API 31 #define OPENVDB_HOUDINI_API 48 using WarnFunc = std::function<void (const std::string&)>;
79 const GU_Detail& detail,
95 openvdb::points::PointDataGrid::Ptr
97 const GU_Detail& detail,
98 const int compression,
100 const openvdb::math::Transform& transform,
101 const WarnFunc& warnings = [](
const std::string&){});
120 const std::vector<std::string>& attributes = {},
121 const std::vector<std::string>& includeGroups = {},
122 const std::vector<std::string>& excludeGroups = {},
123 const bool inCoreOnly =
false);
135 const GU_Detail& detail,
136 const WarnFunc& warnings = [](
const std::string&){});
149 const WarnFunc& warnings = [](
const std::string&){});
188 std::string& countStr,
189 std::string& groupStr,
190 std::string& attributeStr);
210 #endif // OPENVDB_HOUDINI_POINT_UTILS_HAS_BEEN_INCLUDED std::function< void(const std::string &)> WarnFunc
Definition: PointUtils.h:48
OPENVDB_HOUDINI_API openvdb::points::PointDataGrid::Ptr convertHoudiniToPointDataGrid(const GU_Detail &detail, const int compression, const AttributeInfoMap &attributes, const openvdb::math::Transform &transform, const WarnFunc &warnings=[](const std::string &){})
Convert a Houdini detail into a VDB Points grid.
OPENVDB_HOUDINI_API const PRM_ChoiceList VDBPointsGroupMenuInput2
POINT_COMPRESSION_TYPE
Enum to store available compression types for point grids.
Definition: PointUtils.h:55
OPENVDB_HOUDINI_API void pointDataGridSpecificInfoText(std::ostream &, const openvdb::GridBase &)
If the given grid is a PointDataGrid, add node specific info text to the stream provided. This is used to populate the MMB window in Houdini versions 15 and earlier, as well as the Operator Information Window.
std::vector< GA_Offset > OffsetList
Definition: PointUtils.h:38
std::pair< GA_Offset, GA_Offset > OffsetPair
Definition: PointUtils.h:41
Mat4< double > Mat4d
Definition: Mat4.h:1362
OPENVDB_HOUDINI_API void populateMetadataFromHoudini(openvdb::points::PointDataGrid &grid, const GU_Detail &detail, const WarnFunc &warnings=[](const std::string &){})
Populate VDB Points grid metadata from Houdini detail attributes.
Definition: PointUtils.h:58
std::shared_ptr< OffsetList > OffsetListPtr
Definition: PointUtils.h:39
std::map< openvdb::Name, std::pair< int, bool >> AttributeInfoMap
Definition: PointUtils.h:46
Definition: PointUtils.h:59
OPENVDB_HOUDINI_API void collectPointInfo(const openvdb::points::PointDataGrid &grid, std::string &countStr, std::string &groupStr, std::string &attributeStr)
Populates string data with information about the provided OpenVDB Points grid.
OPENVDB_HOUDINI_API void convertMetadataToHoudini(GU_Detail &detail, const openvdb::MetaMap &metaMap, const WarnFunc &warnings=[](const std::string &){})
Convert VDB Points grid metadata into Houdini detail attributes.
std::vector< OffsetPair > OffsetPairList
Definition: PointUtils.h:42
OPENVDB_HOUDINI_API const PRM_ChoiceList VDBPointsGroupMenuInput4
const std::string META_GROUP_VIEWPORT
Metadata name for viewport groups.
Definition: PointUtils.h:51
std::shared_ptr< OffsetPairList > OffsetPairListPtr
Definition: PointUtils.h:43
Definition: PointUtils.h:60
Definition: PointUtils.h:61
Abstract base class for typed grids.
Definition: Grid.h:77
OPENVDB_HOUDINI_API GA_Storage attributeStorageType(const GA_Attribute *const attribute)
Returns supported Storage types for conversion from GA_Attribute.
OPENVDB_HOUDINI_API const PRM_ChoiceList VDBPointsGroupMenuInput1
Wrapper class that adapts a Houdini UT_Interrupt object for use with OpenVDB library routines...
Definition: openvdb_houdini/openvdb_houdini/Utils.h:173
Definition: AttributeTransferUtil.h:33
Attribute-owned data structure for points. Point attributes are stored in leaf nodes and ordered by v...
OPENVDB_HOUDINI_API const PRM_ChoiceList VDBPointsGroupMenuInput3
OPENVDB_HOUDINI_API int16_t attributeTupleSize(const GA_Attribute *const attribute)
Returns supported tuple sizes for conversion from GA_Attribute.
Index32 Index
Definition: openvdb/Types.h:32
OPENVDB_HOUDINI_API const PRM_ChoiceList VDBPointsGroupMenu
Grid< PointDataTree > PointDataGrid
Point data grid.
Definition: PointDataGrid.h:189
OPENVDB_HOUDINI_API void convertPointDataGridToHoudini(GU_Detail &detail, const openvdb::points::PointDataGrid &grid, const std::vector< std::string > &attributes={}, const std::vector< std::string > &includeGroups={}, const std::vector< std::string > &excludeGroups={}, const bool inCoreOnly=false)
Convert a VDB Points grid into Houdini points and append them to a Houdini Detail.
Definition: PointUtils.h:57
OPENVDB_HOUDINI_API float computeVoxelSizeFromHoudini(const GU_Detail &detail, const openvdb::Index pointsPerVoxel, const openvdb::math::Mat4d &matrix, const openvdb::Index decimalPlaces, Interrupter &interrupter)
Compute a voxel size from a Houdini detail.