9 #ifndef __HOM_Volume_h__
10 #define __HOM_Volume_h__
39 virtual int channelCount() = 0;
43 virtual double sample(
const std::vector<double> &
position) = 0;
48 virtual double voxel(
const std::vector<int> &
index) = 0;
50 virtual void setVoxel(
const std::vector<int> &
index,
double value) = 0;
52 virtual std::vector<float> allVoxels() = 0;
56 virtual void setAllVoxels(
const std::vector<float> &
values) = 0;
64 void setAllVoxelsFromString(InterpreterObject
values)
66 HOM_PyBuffer
buffer(values);
67 self->opaqueSetAllVoxelsFromString(
73 virtual std::vector<float> voxelSlice(
const char *plane,
int index) = 0;
77 virtual void setVoxelSlice(
78 const std::vector<float> &values,
const char *plane,
int index) = 0;
81 virtual void opaqueSetVoxelSliceFromString(
87 void setVoxelSliceFromString(
88 InterpreterObject values,
const char *plane,
int index)
90 HOM_PyBuffer
buffer(values);
91 self->opaqueSetVoxelSliceFromString(
92 (
const char *)
buffer.myData,
buffer.myLength, plane, index);
100 virtual HOM_Vector3 *indexToPos(
const std::vector<int> &index) = 0;
102 virtual std::vector<int> posToIndex(
const std::vector<double> &
position) = 0;
104 virtual bool isValidIndex(
const std::vector<int> &index) = 0;
106 virtual bool isSDF() = 0;
108 virtual bool isHeightField() = 0;
110 virtual double volumeMax() = 0;
112 virtual double volumeMin() = 0;
114 virtual double volumeAverage() = 0;
121 virtual double taperX() = 0;
122 virtual double taperY() = 0;
SIM_API const UT_StringHolder vertex
#define HOM_DESTRUCT_OBJECT(pointer)
GLsizei const GLfloat * value
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