9 #ifndef __HOM_Volume_h__
10 #define __HOM_Volume_h__
38 virtual double sample(
const std::vector<double> &
position) = 0;
43 virtual double voxel(
const std::vector<int> &
index) = 0;
45 virtual void setVoxel(
const std::vector<int> &
index,
double value) = 0;
47 virtual std::vector<float> allVoxels() = 0;
51 virtual void setAllVoxels(
const std::vector<float> &
values) = 0;
59 void setAllVoxelsFromString(InterpreterObject
values)
61 HOM_PyBuffer
buffer(values);
62 self->opaqueSetAllVoxelsFromString(
68 virtual std::vector<float> voxelSlice(
const char *plane,
int index) = 0;
72 virtual void setVoxelSlice(
73 const std::vector<float> &values,
const char *plane,
int index) = 0;
76 virtual void opaqueSetVoxelSliceFromString(
82 void setVoxelSliceFromString(
83 InterpreterObject values,
const char *plane,
int index)
85 HOM_PyBuffer
buffer(values);
86 self->opaqueSetVoxelSliceFromString(
87 (
const char *)
buffer.myData,
buffer.myLength, plane, index);
95 virtual HOM_Vector3 *indexToPos(
const std::vector<int> &index) = 0;
97 virtual std::vector<int> posToIndex(
const std::vector<double> &
position) = 0;
99 virtual bool isValidIndex(
const std::vector<int> &index) = 0;
101 virtual bool isSDF() = 0;
103 virtual bool isHeightField() = 0;
105 virtual double volumeMax() = 0;
107 virtual double volumeMin() = 0;
109 virtual double volumeAverage() = 0;
116 virtual double taperX() = 0;
117 virtual double taperY() = 0;
SIM_API const UT_StringHolder vertex
#define HOM_DESTRUCT_OBJECT(pointer)
GLsizei const GLchar *const * string
GLuint GLsizei GLsizei * length
string __repr__(VtArray< T > const &self)
void ignore(T const &) VULKAN_HPP_NOEXCEPT
#define HOM_CONSTRUCT_OBJECT(pointer)
HOM_Volume(const HOM_Volume &volume)
HUSD_API const char * resolution()
GA_API const UT_StringHolder transform
GLenum GLsizei GLsizei GLint * values
OIIO_UTIL_API bool rename(string_view from, string_view to, std::string &err)
SIM_API const UT_StringHolder position