11 #ifndef __SIM_ScalarField__
12 #define __SIM_ScalarField__
74 return getCenter() - getSize()/2;
100 void matchField(
const SIM_ScalarField *field,
bool matchsample =
false);
113 { myField->setVoxelSize(voxelsize); }
150 bool posToIndex(
const UT_Vector3 &pos,
int &
x,
int &
y,
int &
z)
const;
160 bool hasNan()
const {
return getField()->hasNan(); }
166 {
return getField()->field()->isConstant(0); }
172 void testForNan()
const;
181 { getField()->markGridAsChanged(); }
185 void updateTotalVoxels();
216 void setSkipFieldRebuildOnOptionChanged(
bool skip)
218 mySkipFieldRebuild =
skip;
222 bool getSkipFieldRebuildOnOptionChanged()
const
224 return mySkipFieldRebuild;
228 bool mySkipFieldRebuild;
243 myStashedValue = myField->getSkipFieldRebuildOnOptionChanged();
244 myField->setSkipFieldRebuildOnOptionChanged(
true);
249 myField->setSkipFieldRebuildOnOptionChanged(myStashedValue);
253 myField->rebuildField();
277 fpreal myStashedInitialValue;
284 getScalarFieldDopDescription());
#define SIM_NAME_VOXELPLANE
#define SIM_NAME_POSITIONPATH
virtual void makeEqualSubclass(const SIM_Data *source)
bool hasNan() const
True if we contain any NANs.
#define SIM_NAME_VOXELSAMPLE
#define DECLARE_STANDARD_GETCASTTOTYPE()
GA_API const UT_StringHolder div
virtual bool loadSubclass(UT_IStream &is)
#define SIM_NAME_TOLERANCE
GLint GLint GLsizei GLint border
void pubHandleModification()
Signals to the field that it has been altered externally.
virtual void optionChangedSubclass(const char *name)
#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
const UT_Vector3 & getVoxelSize() const
SIM_RawField * getField()
This class holds a three dimensional scalar field.
GLuint const GLchar * name
bool appearsToBeUnused() const
#define GETSET_DATA_FUNCS_F(DataName, FuncName)
#define GETSET_DATA_FUNCS_V3(DataName, FuncName)
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
UT_Vector3 getOrig() const
SIM_RawField rawfield_type
SkipFieldRebuildScope(SIM_ScalarField *field)
GLsizei GLsizei GLchar * source
virtual void saveSubclass(std::ostream &os) const
GLdouble GLdouble GLdouble z
#define SIM_NAME_UNIFORMVOXELS
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
GLuint GLuint64EXT address
fpreal getVoxelDiameter() const
This class holds a three dimensional tensor field.
const SIM_RawField * getField() const
Retrieve raw field.
UT_VoxelBorderType getBorder() const
void handleModification(int code=-1)
This class holds a three dimensional scalar field.
void setVoxelSize(const UT_Vector3 &voxelsize)
void setBorder(UT_VoxelBorderType border)
constexpr SYS_FORCE_INLINE T & y() noexcept
This class holds a three dimensional vector field.
constexpr SYS_FORCE_INLINE T & x() noexcept
virtual void initializeSubclass()