8 #ifndef __SIM_Force_h__
9 #define __SIM_Force_h__
38 virtual void forceCallbackOffset(
GA_Offset ptoff,
53 SIM_FORCE_SAMPLESPHERE
85 void getForceOnCircle(
const SIM_Object &
object,
96 void getForceOnSphere(
const SIM_Object &
object,
108 void getForceJacobian(
const SIM_Object &
object,
121 SIM_ForceSample getOptimalForceSampling()
const;
137 bool forcesinworldspace)
const;
157 void applyNoiseJacobian(
const UT_Vector3 &pos,
165 virtual void getForceSubclass(
const SIM_Object &
object,
181 virtual bool getForceSetSubclass(
const SIM_Object &
object,
194 virtual void getForceOnCircleSubclass(
const SIM_Object &
object,
209 virtual void getForceOnSphereSubclass(
const SIM_Object &
object,
223 virtual void getForceJacobianSubclass(
const SIM_Object &
object,
235 virtual SIM_ForceSample getOptimalForceSamplingSubclass()
const;
261 virtual bool threadsafe()
const;
274 virtual void getForceJacobian(
const UT_Vector3 &position,
288 void applyNoiseJacobian(
const UT_Vector3 &pos,
321 myForce->getForce(*myObject, position, velocity, angvel,
322 mass, force, torque);
332 myForce->getForceJacobian(*myObject,
333 position, velocity, angvel,
#define DECLARE_STANDARD_GETCASTTOTYPE()
#define DECLARE_CLASSNAME(DataClass, SuperClass)
const SIM_Object * myObject
bool threadsafe() const override
SIM_ForceResolverGeneric(const SIM_Force *force, const SIM_Object *object)
OIIO_UTIL_API bool copy(string_view from, string_view to, std::string &err)
SIM_API const UT_StringHolder torque
virtual bool hasJacobian() const
void getForce(const UT_Vector3 &position, const UT_Vector3 &velocity, const UT_Vector3 &angvel, const fpreal mass, UT_Vector3 &force, UT_Vector3 &torque) override
bool hasJacobian() const override
This is the default implementation for standard motion data.
void getForceJacobian(const UT_Vector3 &position, const UT_Vector3 &velocity, const UT_Vector3 &angvel, const fpreal mass, UT_Matrix &dFdX, UT_Matrix &dFdV) override
GA_API const UT_StringHolder mass
SIM_API const UT_StringHolder force
LeafData & operator=(const LeafData &)=delete
virtual ~SIM_PointForceCallback()
SIM_API const UT_StringHolder position
This class is used for callbacks from SIM_Force::getPointForces().
const SIM_Force * myForce
SIM_ForceResolver * copy() const override
UT_ValArray< SIM_PropertyResolver * > myNoiseResolvers