11 #ifndef __SIM_ScalarField__
12 #define __SIM_ScalarField__
67 if (getRawBorder() == 3)
84 return getCenter() - getSize()/2;
110 void matchField(
const SIM_ScalarField *field,
bool matchsample =
false);
123 { myField->setVoxelSize(voxelsize); }
160 bool posToIndex(
const UT_Vector3 &pos,
int &
x,
int &
y,
int &
z)
const;
170 bool hasNan()
const {
return getField()->hasNan(); }
176 {
return getField()->field()->isConstant(0); }
182 void testForNan()
const;
191 { getField()->markGridAsChanged(); }
195 void updateTotalVoxels();
226 void setSkipFieldRebuildOnOptionChanged(
bool skip)
228 mySkipFieldRebuild =
skip;
232 bool getSkipFieldRebuildOnOptionChanged()
const
234 return mySkipFieldRebuild;
238 bool mySkipFieldRebuild;
253 myStashedValue = myField->getSkipFieldRebuildOnOptionChanged();
254 myField->setSkipFieldRebuildOnOptionChanged(
true);
259 myField->setSkipFieldRebuildOnOptionChanged(myStashedValue);
263 myField->rebuildField();
287 fpreal myStashedInitialValue;
294 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
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)
GLdouble GLdouble GLdouble z
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.
bool appearsToBeUnused() const
#define GETSET_DATA_FUNCS_F(DataName, FuncName)
#define GETSET_DATA_FUNCS_V3(DataName, FuncName)
__hostdev__ float getValue(uint32_t i) const
#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
#define SIM_NAME_UNIFORMVOXELS
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
GLuint const GLchar * name
fpreal getVoxelDiameter() const
This class holds a three dimensional tensor field.
const SIM_RawField * getField() const
Retrieve raw field.
GLint GLint GLsizei GLint border
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()