11 #ifndef __SIM_IndexField__
12 #define __SIM_IndexField__
72 return getCenter() - getSize()/2;
100 void matchField(
const SIM_IndexField *field,
bool matchsamples =
false);
105 fpreal getVoxelDiameter()
const;
107 { myField->setVoxelSize(voxelsize); }
118 bool posToIndex(
const UT_Vector3 &pos,
int &
x,
int &
y,
int &
z)
const;
134 {
return getField()->field()->isConstant(0); }
148 void updateTotalVoxels();
178 void setSkipFieldRebuildOnOptionChanged(
bool skip)
180 mySkipFieldRebuild =
skip;
184 bool getSkipFieldRebuildOnOptionChanged()
const
186 return mySkipFieldRebuild;
190 bool mySkipFieldRebuild;
205 myStashedValue = myField->getSkipFieldRebuildOnOptionChanged();
206 myField->setSkipFieldRebuildOnOptionChanged(
true);
211 myField->setSkipFieldRebuildOnOptionChanged(myStashedValue);
215 myField->rebuildField();
239 exint myStashedInitialValue;
246 getIndexFieldDopDescription());
#define SIM_NAME_VOXELPLANE
#define SIM_NAME_POSITIONPATH
virtual void makeEqualSubclass(const SIM_Data *source)
#define SIM_NAME_VOXELSAMPLE
#define DECLARE_STANDARD_GETCASTTOTYPE()
GA_API const UT_StringHolder div
virtual bool loadSubclass(UT_IStream &is)
GLint GLint GLsizei GLint border
virtual void optionChangedSubclass(const char *name)
SIM_RawIndexField rawfield_type
#define GETSET_DATA_FUNCS_B(DataName, FuncName)
#define GETSET_DATA_FUNCS_S(DataName, FuncName)
virtual int64 getMemorySizeSubclass() const
constexpr SYS_FORCE_INLINE T & z() noexcept
This class holds a three dimensional scalar field.
GLuint const GLchar * name
#define GETSET_DATA_FUNCS_F(DataName, FuncName)
#define GETSET_DATA_FUNCS_V3(DataName, FuncName)
bool testForNan() const
Can't have NANs in integer fields.
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
UT_VoxelBorderType getBorder() const
GLsizei GLsizei GLchar * source
virtual void saveSubclass(std::ostream &os) const
GLdouble GLdouble GLdouble z
void setVoxelSize(const UT_Vector3 &voxelsize)
#define SIM_NAME_UNIFORMVOXELS
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
GLuint GLuint64EXT address
This class holds a three dimensional tensor field.
SIM_RawIndexField * getField()
UT_Vector3 getOrig() const
void handleModification(int code=-1)
const SIM_RawIndexField * getField() const
Retrieve raw field.
This class holds a three dimensional scalar field.
void setBorder(UT_VoxelBorderType border)
SkipFieldRebuildScope(SIM_IndexField *field)
void pubHandleModification()
Signals to the field that it has been altered externally.
constexpr SYS_FORCE_INLINE T & y() noexcept
bool appearsToBeUnused() const
This class holds a three dimensional vector field.
constexpr SYS_FORCE_INLINE T & x() noexcept
virtual void initializeSubclass()