MCPcopy Create free account
hub / github.com/ImageEngine/cortex / getPyObjectFromGrid

Function getPyObjectFromGrid

src/IECoreVDB/bindings/IECoreVDBModule.cpp:72–96  ·  view source on GitHub ↗

openvdb/python/pyGrid.h

Source from the content-addressed store, hash-verified

70
71// openvdb/python/pyGrid.h
72boost::python::object getPyObjectFromGrid( const openvdb::GridBase::Ptr &grid )
73{
74 if( !grid )
75 {
76 return boost::python::object();
77 }
78
79#define CONVERT_BASE_TO_GRID( GridType, grid ) \
80 if (grid->isType<GridType>()) { \
81 return boost::python::object(openvdb::gridPtrCast<GridType>(grid)); \
82 }
83
84 CONVERT_BASE_TO_GRID( openvdb::FloatGrid, grid );
85 CONVERT_BASE_TO_GRID( openvdb::Vec3SGrid, grid );
86 CONVERT_BASE_TO_GRID( openvdb::BoolGrid, grid );
87 CONVERT_BASE_TO_GRID( openvdb::DoubleGrid, grid );
88 CONVERT_BASE_TO_GRID( openvdb::Int32Grid, grid );
89 CONVERT_BASE_TO_GRID( openvdb::Int64Grid, grid );
90 CONVERT_BASE_TO_GRID( openvdb::Vec3IGrid, grid );
91 CONVERT_BASE_TO_GRID( openvdb::Vec3DGrid, grid );
92
93#undef CONVERT_BASE_TO_GRID
94
95 throw openvdb::TypeError( grid->type() + " is not a supported OpenVDB grid type" );
96}
97
98// openvdb/python/pyGrid.h
99openvdb::GridBase::Ptr getGridFromPyObject( const boost::python::object &gridObj )

Callers 1

findGridFunction · 0.85

Calls 1

typeMethod · 0.45

Tested by

no test coverage detected