11 #ifndef __GAS_SeedMarkers__
12 #define __GAS_SeedMarkers__
173 interpolateAttributes,
179 void interpolateAttributesPartial(
const GU_Detail *gdp,
194 getDopDescription());
212 bool oversampleatbounds)
214 bool needsoversample =
false;
215 if (absdistvalue < cutoff)
217 needsoversample =
true;
219 if (oversampleatbounds)
227 if (bounddist < cutoff)
228 needsoversample =
true;
230 return needsoversample;
237 template <
typename T>
241 if (localarray.entries())
243 tilearrays(curtile) = UTmakeUnique<T>(localarray.capacity());
244 tilearrays(curtile)->swap(localarray);
291 , lowerbound(lowerbound)
292 , upperbound(upperbound)
306 vel_ph.setPage(start);
389 randvec.
x() = SYSrandomZero(seed);
390 randvec.
y() = SYSrandomZero(seed);
391 randvec.
z() = SYSrandomZero(seed);
const UT_Vector3 upperbound
#define DECLARE_STANDARD_GETCASTTOTYPE()
gas_randHelper(fpreal32 seed, const UT_Vector3 &pos)
const SIM_RawField * surface
#define THREADED_METHOD4_CONST(CLASSNAME, DOMULTI, METHOD, PARMTYPE1, PARMNAME1, PARMTYPE2, PARMNAME2, PARMTYPE3, PARMNAME3, PARMTYPE4, PARMNAME4)
gas_setVelocityHelper(const GU_Detail &gdp, const GA_RWHandleV3 &vel_h, const SIM_VectorField &velocity, UT_Interrupt *boss)
Iteration over a range of elements.
#define GAS_NAME_GEOMETRY
gas_randInt(fpreal32 seed, const UT_Vector3 &pos, fpreal32 increment=1)
#define GETSET_DATA_FUNCS_B(DataName, FuncName)
const SIM_RawField * boundarylayer
GT_API const UT_StringHolder time
UT_Vector3I surfaceboundupper
bool blockAdvance(GA_Offset &start, GA_Offset &end)
constexpr SYS_FORCE_INLINE T & z() noexcept
virtual bool solveGasSubclass(SIM_Engine &engine, SIM_Object *obj, SIM_Time time, SIM_Time timestep)=0
const UT_Vector3 lowerbound
fpreal getValue(UT_Vector3 pos) const
Functions to resolve quantities about the field.
UT_Vector3I surfaceboundlower
SYS_FORCE_INLINE UT_Vector3 getPos3(GA_Offset ptoff) const
The ptoff passed is the point offset.
#define GETSET_DATA_FUNCS_F(DataName, FuncName)
#define THREADED_METHOD5_CONST(CLASSNAME, DOMULTI, METHOD, PARMTYPE1, PARMNAME1, PARMTYPE2, PARMNAME2, PARMTYPE3, PARMNAME3, PARMTYPE4, PARMNAME4, PARMTYPE5, PARMNAME5)
GA_ATINumeric * getAttribute() const
#define GETSET_DATA_FUNCS_V3(DataName, FuncName)
UT_ValArray< UT_UniquePtr< UT_Vector3Array > > * boundptslist
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
#define DECLARE_DATAFACTORY(DataClass, SuperClass, Description, DopParms)
gas_randVec(fpreal32 seed, const UT_Vector3 &pos)
constexpr SYS_FORCE_INLINE T minComponent() const noexcept
int opInterrupt(int percent=-1)
UT_ValArray< UT_UniquePtr< GA_OffsetArray > > * delptslist
const SIM_RawField * surffield
GLsizei GLsizei GLchar * source
#define GETSET_DATA_FUNCS_I(DataName, FuncName)
A handle to simplify manipulation of multiple attributes.
SYS_API fpreal32 SYSfloor(fpreal32 val)
UT_ValArray< UT_UniquePtr< UT_FprealArray > > * radii
SIM_BoundaryLine waterline
const SIM_VectorField & velfield
gas_setVelocityHelper(const GU_Detail &gdp, const GA_RWHandleV3 &vel_h, const SIM_RawField *surface, const SIM_VectorField &velocity, UT_Interrupt *boss)
#define THREADED_METHOD1_CONST(CLASSNAME, DOMULTI, METHOD, PARMTYPE1, PARMNAME1)
gas_setVelocityHelper(const GU_Detail &gdp, const GA_RWHandleV3 &vel_h, const SIM_VectorField &velocity, UT_Interrupt *boss, const UT_Vector3 lowerbound, const UT_Vector3 upperbound)
fpreal oversamplingcutoff
UT_ValArray< UT_UniquePtr< UT_Vector3Array > > * newptslist
const GA_RWHandleV3 & velhandle
UT_ValArray< UT_UniquePtr< UT_Vector3Array > > * sourceptslist
Space-partitioning acceleration structure for points. Partitions the points into voxels to accelerate...
#define GET_DATA_FUNC_B(DataName, FuncName)
UT_Vector3 getValue(const UT_Vector3 &pos) const
This class holds a three dimensional scalar field.
const SIM_RawIndexField * indexfield
const openvdb::tools::PointIndexGrid * ptgridvdb
constexpr SYS_FORCE_INLINE T & y() noexcept
This class holds a three dimensional vector field.
UT_ValArray< UT_UniquePtr< UT_FprealArray > > * distances
#define GET_DATA_FUNC_S(DataName, FuncName)
SYS_FORCE_INLINE UT_Vector3 operator()(int n)
UT_ValArray< UT_UniquePtr< GA_OffsetArray > > * closeptslist
void operator()(const GA_SplittableRange &r) const
SYS_FORCE_INLINE GA_Size getNumPoints() const
Return the number of points.
constexpr SYS_FORCE_INLINE T & x() noexcept