11 #ifndef __SIM_IndexField__
12 #define __SIM_IndexField__
65 if (getRawBorder() == 3)
82 return getCenter() - getSize()/2;
110 void matchField(
const SIM_IndexField *field,
bool matchsamples =
false);
115 fpreal getVoxelDiameter()
const;
117 { myField->setVoxelSize(voxelsize); }
128 bool posToIndex(
const UT_Vector3 &pos,
int &
x,
int &
y,
int &
z)
const;
144 {
return getField()->field()->isConstant(0); }
158 void updateTotalVoxels();
188 void setSkipFieldRebuildOnOptionChanged(
bool skip)
190 mySkipFieldRebuild =
skip;
194 bool getSkipFieldRebuildOnOptionChanged()
const
196 return mySkipFieldRebuild;
200 bool mySkipFieldRebuild;
215 myStashedValue = myField->getSkipFieldRebuildOnOptionChanged();
216 myField->setSkipFieldRebuildOnOptionChanged(
true);
221 myField->setSkipFieldRebuildOnOptionChanged(myStashedValue);
225 myField->rebuildField();
249 exint myStashedInitialValue;
256 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)
virtual void optionChangedSubclass(const char *name)
SIM_RawIndexField rawfield_type
#define GETSET_DATA_FUNCS_B(DataName, FuncName)
#define GETSET_DATA_FUNCS_S(DataName, FuncName)
GLdouble GLdouble GLdouble z
virtual int64 getMemorySizeSubclass() const
constexpr SYS_FORCE_INLINE T & z() noexcept
This class holds a three dimensional scalar field.
#define GETSET_DATA_FUNCS_F(DataName, FuncName)
#define GETSET_DATA_FUNCS_V3(DataName, FuncName)
__hostdev__ float getValue(uint32_t i) const
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
void setVoxelSize(const UT_Vector3 &voxelsize)
#define SIM_NAME_UNIFORMVOXELS
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
GLuint const GLchar * name
This class holds a three dimensional tensor field.
SIM_RawIndexField * getField()
GLint GLint GLsizei GLint border
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()