Fusion360-Addons/usr/Include/Core/Common/pNxSDKParameter.h
2021-10-31 19:39:29 +01:00

254 lines
5.7 KiB
C

#ifndef __P_SDKP_SDK_PARAMETER_H__
#define __P_SDKP_SDK_PARAMETER_H__
/** \addtogroup PhysicSDK
@{
*/
/**
\brief Parameters enums to be used as the 1st arg to setParameter or getParameter.
@see PhysicManager.setParameter() PhysicManager.getParameter()
*/
typedef enum pSDKParameter
{
/* RigidBody-related parameters */
/**
\brief Default value for pShape::skinWidth.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 0.025<br>
<b>Unit:</b> distance.
@see pShape.setSkinWidth
*/
pSDKP_SkinWidth = 1,
/**
\brief The default linear velocity, squared, below which objects start going to sleep.
Note: Only makes sense when the pSDKP_BF_ENERGY_SLEEP_TEST is not set.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> (0.15*0.15)
*/
pSDKP_DefaultSleepLinVelSquared = 2,
/**
\brief The default angular velocity, squared, below which objects start going to sleep.
Note: Only makes sense when the pSDKP_BF_ENERGY_SLEEP_TEST is not set.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> (0.14*0.14)
*/
pSDKP_DefaultSleepAngVelSquared = 3,
/**
\brief A contact with a relative velocity below this will not bounce.
<b>Range:</b> (-inf, 0]<br>
<b>Default:</b> -2
@see pMaterial
*/
pSDKP_BounceThreshold = 4,
/**
\brief This lets the user scale the magnitude of the dynamic friction applied to all objects.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 1
@see pMaterial
*/
pSDKP_DynFrictScaling = 5,
/**
\brief This lets the user scale the magnitude of the static friction applied to all objects.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 1
@see pMaterial
*/
pSDKP_StaFrictionScaling = 6,
/**
\brief See the comment for pRigidBody::setMaxAngularVelocity() for details.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 7
@see pRigidBody.setMaxAngularVelocity()
*/
pSDKP_MaxAngularVelocity = 7,
/* Collision-related parameters: */
/**
\brief Enable/disable continuous collision detection (0.0f to disable)
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 0.0
@see NxPhysicsSDK.createCCDSkeleton()
*/
pSDKP_ContinuousCD = 8,
/* General parameters and new parameters */
/**
\brief Used to enable adaptive forces to accelerate convergence of the solver.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 1.0
*/
pSDKP_AdaptiveForce = 68,
/**
\brief Controls default filtering for jointed bodies. True means collision is disabled.
<b>Range:</b> {true, false}<br>
<b>Default:</b> true
@see pSDKP_JF_CollisionEnabled
*/
pSDKP_CollVetoJointed = 69,
/**
\brief Controls whether two touching triggers generate a callback or not.
<b>Range:</b> {true, false}<br>
<b>Default:</b> true
@see NxUserTriggerReport
*/
pSDKP_TriggerTriggerCallback = 70,
pSDKP_SelectHW_Algo = 71,
/**
\brief Distance epsilon for the CCD algorithm.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 0.01
*/
pSDKP_CCDEpsilon = 73,
/**
\brief Used to accelerate solver.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 0
*/
pSDKP_SolverConvergenceThreshold = 74,
/**
\brief Used to accelerate HW Broad Phase.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 0.001
*/
pSDKP_BBoxNoiseLevel = 75,
/**
\brief Used to set the sweep cache size.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 5.0
*/
pSDKP_ImplicitSweepCacheSize = 76,
/**
\brief The default sleep energy threshold. Objects with an energy below this threshold are allowed
to go to sleep.
Note: Only used when the pSDKP_BF_ENERGY_SLEEP_TEST flag is set.
<b>Range:</b> [0, inf)<br>
<b>Default:</b> 0.005
*/
pSDKP_DefaultSleepEnergy = 77,
/**
\brief Constant for the maximum number of packets per fluid. Used to compute the fluid packet buffer size in NxFluidPacketData.
<b>Range:</b> [925, 925]<br>
<b>Default:</b> 925
@see NxFluidPacketData
*/
pSDKP_ConstantFluidMaxPackets = 78,
/**
\brief Constant for the maximum number of new fluid particles per frame.
<b>Range:</b> [4096, 4096]<br>
<b>Default:</b> 4096
*/
pSDKP_ConstantFluidMaxParticlesPerStep = 79,
/**
\brief [Experimental] Disables scene locks when creating/releasing meshes.
Prevents the SDK from locking all scenes when creating and releasing triangle meshes, convex meshes, height field
meshes, softbody meshes and cloth meshes, which is the default behavior. Can be used to improve parallelism but beware
of possible side effects.
\warning Experimental feature.
*/
pSDKP_AsynchronousMeshCreation = 96,
/**
\brief Epsilon for custom force field kernels.
This epsilon is used in custom force field kernels (NxSwTarget). Methods like recip()
or recipSqrt() evaluate to zero if their input is smaller than this epsilon.
<br>
*/
pSDKP_ForceFieldCustomKernelEpsilon = 97,
/**
\brief Enable/disable improved spring solver for joints and wheelshapes
This parameter allows to enable/disable an improved version of the spring solver for joints and wheelshapes.
\warning
The parameter is introduced for legacy purposes only and will be removed in future versions (such that
the improved spring solver will always be used).
\note
Changing the parameter will only affect newly created scenes but not existing ones.
<b>Range:</b> {0: disabled, 1: enabled}<br>
<b>Default:</b> 1
*/
pSDKP_ImprovedSpringSolver = 98,
/**
\brief This is not a parameter, it just records the current number of parameters (as max(NxParameter)+1) for use in loops.
When a new parameter is added this number should be assigned to it and then incremented.
*/
pSDKP_PARAMS_NUM_VALUES = 99,
pSDKP_PARAMS_FORCE_DWORD = 0x7fffffff
};
/** @} */
#endif