|
SuperDex Physics C++ API
|
Represents a simulation scene. More...
#include <mochi_scene.h>
Public Member Functions | |
| virtual void | CancelCallback (CallbackHandle handle)=0 |
| Cancel a previously registered callback. | |
| virtual StateHandle | CaptureState (Error &error)=0 |
| Capture the simulation state that changes from step to step for later restoration. | |
| virtual void | CaptureStateToBytes (DynamicArray< uint8_t > &outData, Error &error)=0 |
| Capture simulation state to a binary byte buffer. | |
| virtual void | CaptureStateToFile (std::string_view filePath, Error &error)=0 |
| Captures a snapshot of the state of a Scene, similar to Scene::CaptureState, then writes the data to a JSON file for manual inspection. | |
| virtual Constraint * | CreateArticulated3dRotationRangeConstraint (Articulated3dRotationRangeConstraintParams const ¶ms, Error &error)=0 |
| Create a range constraint on the DoFs of a 3D rotation joint of an articulated actor. | |
| virtual Constraint * | CreateArticulated3dRotationTargetConstraint (Articulated3dRotationTargetConstraintParams const ¶ms, Error &error)=0 |
| Create a target constraint on an articulated 3D rotation. | |
| virtual Actor * | CreateArticulatedActor (ArticulatedActorParams const ¶ms, Error &error)=0 |
| Create an articulated actor. | |
| virtual Constraint * | CreateArticulatedSingleDofRangeConstraint (ArticulatedSingleDofRangeConstraintParams const ¶ms, Error &error)=0 |
| Create a range constraint on a single articulated DoF. | |
| virtual Constraint * | CreateArticulatedSingleDofTargetConstraint (ArticulatedSingleDofTargetConstraintParams const ¶ms, Error &error)=0 |
| Create a target constraint on a single articulated DoF. | |
| virtual Constraint * | CreateDeformableNodePositionConstraint (DeformableNodePositionConstraintParams const ¶ms, Error &error)=0 |
| Create a position constraint on a deformable actor node. | |
| virtual Constraint * | CreateDeformableNodeToDeformableNodeConstraint (DeformableNodeToDeformableNodeConstraintParams const ¶ms, Error &error)=0 |
| Create a constraint connecting two deformable actor nodes. | |
| virtual Constraint * | CreateDeformableNodeToRigidConstraint (DeformableNodeToRigidConstraintParams const ¶ms, Error &error)=0 |
| Create a constraint connecting a deformable node to a rigid actor. | |
| virtual Constraint * | CreateJointRotationRangeConstraint (JointRotationRangeConstraintParams const ¶ms, Error &error)=0 |
| Create a range constraint on joint rotation. | |
| virtual Constraint * | CreateJointRotationTrackingConstraint (JointRotationTrackingConstraintParams const ¶ms, Error &error)=0 |
| Create a tracking constraint on joint rotation. | |
| virtual Actor * | CreateRigidActor (RigidActorParams const ¶ms, Error &error)=0 |
| Create a rigid body actor. | |
| virtual Constraint * | CreateRigidPivotPositionConstraint (RigidPivotPositionConstraintParams const ¶ms, Error &error)=0 |
| Create a position constraint on a rigid actor's pivot point. | |
| virtual Constraint * | CreateRigidPivotRotationConstraint (RigidPivotRotationConstraintParams const ¶ms, Error &error)=0 |
| Create a rotation constraint on a rigid actor's pivot frame. | |
| virtual Constraint * | CreateRigidPivotToRigidTargetConstraint (RigidPivotToRigidTargetConstraintParams const ¶ms, Error &error)=0 |
| Create a position constraint between a rigid actor's pivot point and the world position of that pivot under a target center-of-mass transform. | |
| virtual Constraint * | CreateRigidPrismaticJointConstraint (RigidPrismaticJointConstraintParams const ¶ms, Error &error)=0 |
| Create a prismatic joint constraint between two rigid actors. | |
| virtual Constraint * | CreateRigidSphericalJointConstraint (RigidSphericalJointConstraintParams const ¶ms, Error &error)=0 |
| Create a spherical joint constraint between two rigid actors. | |
| virtual Constraint * | CreateRodElementRotationToRigidConstraint (RodElementRotationToRigidConstraintParams const ¶ms, Error &error)=0 |
| Create a rotation constraint between a rigid actor and a rod element. | |
| virtual Actor * | CreateSoftActor (SoftActorParams const ¶ms, Error &error)=0 |
| Create a soft deformable actor. | |
| virtual Actor * | CreateSoftSkinnedActor (SoftSkinnedActorParams const ¶ms, Error &error)=0 |
| Create a soft-skinned actor with an articulated skeleton. | |
| void | DestroyActor (Actor *actor) |
| Destroy an actor and remove it from the scene. | |
| virtual void | DestroyActor (ActorHandle actor)=0 |
| Destroy an actor and remove it from the scene. | |
| virtual void | DestroyConstraint (Constraint *constraint)=0 |
| Destroy a constraint and remove it from the scene. | |
| virtual void | DestroyConstraint (ConstraintHandle constraint)=0 |
| Destroy a constraint and remove it from the scene. | |
| virtual void | EnableActorContactAsymmetric (ActorHandle colliding, ActorHandle collider, bool enable, IncludeNestedActors includeNestedActors, Error &error)=0 |
| Enable or disable collision detection between two actors. | |
| virtual void | EnableActorContactSymmetric (ActorHandle actorA, ActorHandle actorB, bool enable, IncludeNestedActors includeNestedActors, Error &error)=0 |
Equivalent to calling EnableActorContactAsymmetric with actorA and actorB in both orders using the same includeNestedActors. | |
| virtual void | EnableLayerContactAsymmetric (std::string_view layerA, std::string_view layerB, bool enable, Error &error)=0 |
| Enable or disable collision detection for an ordered pair of contact layer names. | |
| virtual void | EnableLayerContactSymmetric (std::string_view layerA, std::string_view layerB, bool enable, Error &error)=0 |
Equivalent to calling EnableLayerContactAsymmetric with layerA and layerB in both orders. | |
| virtual void | EnumerateContactLayerNames (std::function< void(std::string_view name)> const &callback) const =0 |
| Enumerate all unique contact layer names in the scene. | |
| virtual void | ForEachActor (std::function< void(Actor *)> const &callback)=0 |
| Iterate over all the actors in the scene using a callback. | |
| virtual void | ForEachActor (std::function< void(Actor const *)> const &callback) const =0 |
| Iterate over all the actors in the scene using a callback (const version). | |
| virtual void | ForEachConstraint (std::function< void(Constraint *)> const &callback)=0 |
| Iterate over all the constraints in the scene using a callback. | |
| virtual void | ForEachConstraint (std::function< void(Constraint const *)> const &callback) const =0 |
| Iterate over all the constraints in the scene using a callback (const version). | |
| virtual Actor const * | GetActor (ActorHandle actor) const =0 |
| Get a const pointer to the Actor associated with an ActorHandle. | |
| virtual Actor * | GetActor (ActorHandle actor)=0 |
| Get the Actor pointer associated with an ActorHandle. | |
| virtual void | GetActors (Span< Actor * > outActors, Error &error)=0 |
| Get Actor pointers for all the actors in the scene. | |
| virtual void | GetActors (Span< Actor const * > outActors, Error &error) const =0 |
| Get const Actor pointers for all the actors in the scene. | |
| virtual Constraint const * | GetConstraint (ConstraintHandle constraint) const =0 |
| Get the const Constraint pointer associated with a ConstraintHandle. | |
| virtual Constraint * | GetConstraint (ConstraintHandle constraint)=0 |
| Get the Constraint pointer associated with a ConstraintHandle. | |
| virtual Context const * | GetContext () const =0 |
| Get read-only access to the Context that owns this scene. | |
| virtual Context * | GetContext ()=0 |
| Get the Context that owns this scene. | |
| virtual DebugDraw const & | GetDebugDraw () const =0 |
| Get a const reference to the debug draw interface for this scene. | |
| virtual DebugDraw & | GetDebugDraw ()=0 |
| Get the debug draw interface for this scene. | |
| virtual bool | GetForceSingleIsland () const =0 |
| Get whether all actors are forced to be in a single simulation island. | |
| virtual Real3 | GetGravity () const =0 |
| Get the gravity vector in world frame. | |
| virtual SceneHandle | GetHandle () const =0 |
| Get the scene handle. | |
| virtual double | GetLastTimeStep () const =0 |
| Returns the time step size [s] from the most recent positive call to Step. | |
| virtual char const * | GetName () const =0 |
| Get the name of the scene. | |
| virtual int | GetNumActors () const =0 |
| Get the number of actors in the scene, including nested link actors and nested soft actors. | |
| virtual int | GetNumConstraints () const =0 |
| Get the number of constraints in the scene. | |
| virtual int | GetNumContactLayers () const =0 |
| Get the number of unique contact layer names in the scene. | |
| virtual PerformanceStats | GetPerformanceStats () const =0 |
| Get timing and profiling metrics from the last simulation step. | |
| virtual SolverParams | GetSolverParams () const =0 |
| Get the solver parameters. | |
| virtual SolverStats | GetSolverStats () const =0 |
| Get solver convergence metrics from the last simulation step. | |
| virtual double | GetTotalSimulationTime () const =0 |
| Returns the total simulation time [s] in the scene. | |
| virtual bool | IsEqualState (StateHandle stateA, StateHandle stateB) const =0 |
| Return true if both StateHandles are valid and refer to identical state information (full precision). | |
| virtual bool | IsLayerContactEnabled (std::string_view layerA, std::string_view layerB) const =0 |
| Check if collision detection is enabled for an ordered pair of contact layer names. | |
| virtual bool | IsRecording () const =0 |
| Check if the scene is currently recording. | |
| virtual CallbackHandle | RegisterPostStepCallback (std::string_view debugName, std::function< void(StepInfo const &)> callback, int priority=kDefaultCallbackPriority)=0 |
| Register a callback to execute after each simulation step. | |
| virtual CallbackHandle | RegisterPreStepCallback (std::string_view debugName, std::function< void(StepInfo const &)> callback, int priority=kDefaultCallbackPriority)=0 |
| Register a callback to execute before each simulation step. | |
| virtual void | ReleaseAllStates ()=0 |
| Release memory for all captured state and invalidate all prior StateHandle objects. | |
| virtual void | ReleaseState (StateHandle handle)=0 |
| Release a StateHandle when you are done with it. | |
| virtual void | RestoreState (StateHandle handle, bool releaseImmediately, Error &error)=0 |
| Restore captured simulation state. | |
| virtual void | RestoreStateFromBytes (Span< uint8_t const > data, Error &error)=0 |
| Restore simulation state from a binary byte buffer produced by CaptureStateToBytes. | |
| virtual void | SetForceSingleIsland (bool forceSingleIsland)=0 |
| Enables/disables forcing all actors in the scene to be in a single simulation island. | |
| virtual void | SetGravity (Real3 const &gravity)=0 |
| Set the gravity vector in world frame. | |
| virtual void | SetSolverParams (SolverParams const ¶ms, Error &error)=0 |
| Set the solver parameters. | |
| virtual void | StartRecording (std::string_view filePath, RecordingParams const ¶ms, Error &error)=0 |
| Create or replace the specified file and start recording the scene to an HDF5 file. | |
| virtual void | Step (double timeStepSec)=0 |
| Advance the simulation of the Scene one step. | |
| virtual void | StopRecording ()=0 |
| Stop recording the scene and close the recording file. | |
| virtual void | UpdateDebugger ()=0 |
| This gives the debugger a chance to process messages that require reading or writing scene state. | |
Static Public Attributes | |
| static constexpr int | kDefaultCallbackPriority = 100 |
| Default priority for callback ordering. | |
Protected Member Functions | |
| virtual | ~Scene ()=default |
| Don't delete the Scene pointer. Call Context::DestroyScene. | |
Represents a simulation scene.
Definition at line 45 of file mochi_scene.h.
|
protectedvirtualdefault |
Don't delete the Scene pointer. Call Context::DestroyScene.
|
pure virtual |
Cancel a previously registered callback.
| [in] | handle | CallbackHandle from RegisterPreStepCallback or RegisterPostStepCallback. Must be owned by this scene. |
|
nodiscardpure virtual |
Capture the simulation state that changes from step to step for later restoration.
Captured state includes actor solution, transforms, and velocities; current and previous constraint/controller targets; and external forces.
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Capture simulation state to a binary byte buffer.
Captures the same simulation state as CaptureState, but writes the binary representation to caller-owned memory instead of storing it internally. This is useful for transferring state between processes or caching state outside the scene.
| [in,out] | outData | Output byte buffer. Capture data is appended to the buffer. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Captures a snapshot of the state of a Scene, similar to Scene::CaptureState, then writes the data to a JSON file for manual inspection.
| [in] | filePath | Path of the output file to write/overwrite (case sensitive on some filesystems). |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a range constraint on the DoFs of a 3D rotation joint of an articulated actor.
| [in] | params | Parameters defining the DoF range constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a target constraint on an articulated 3D rotation.
| [in] | params | Parameters defining the 3D rotation target constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create an articulated actor.
| [in] | params | Parameters defining the articulated actor. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a range constraint on a single articulated DoF.
| [in] | params | Parameters defining the DoF range constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a target constraint on a single articulated DoF.
| [in] | params | Parameters defining the single DoF target constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a position constraint on a deformable actor node.
| [in] | params | Parameters defining the deformable node position constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a constraint connecting two deformable actor nodes.
| [in] | params | Parameters defining the deformable-node-to-deformable-node constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a constraint connecting a deformable node to a rigid actor.
| [in] | params | Parameters defining the deformable-node-to-rigid constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a range constraint on joint rotation.
| [in] | params | Parameters defining the joint rotation range constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a tracking constraint on joint rotation.
| [in] | params | Parameters defining the joint rotation tracking constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a rigid body actor.
| [in] | params | Parameters defining the rigid actor. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a position constraint on a rigid actor's pivot point.
| [in] | params | Parameters defining the rigid pivot position constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a rotation constraint on a rigid actor's pivot frame.
| [in] | params | Parameters defining the rigid pivot rotation constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a position constraint between a rigid actor's pivot point and the world position of that pivot under a target center-of-mass transform.
| [in] | params | Parameters defining the rigid pivot to rigid target constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a prismatic joint constraint between two rigid actors.
| [in] | params | Parameters defining the prismatic joint constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a spherical joint constraint between two rigid actors.
| [in] | params | Parameters defining the spherical joint constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a rotation constraint between a rigid actor and a rod element.
| [in] | params | Parameters defining the rod element rotation constraint. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a soft deformable actor.
| [in] | params | Parameters defining the soft actor. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create a soft-skinned actor with an articulated skeleton.
| [in] | params | Parameters defining the soft-skinned actor. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
inline |
Destroy an actor and remove it from the scene.
| [in] | actor | Pointer to the actor to destroy. |
actor is null, this function has no effect. Definition at line 23 of file mochi_scene_inl.h.
|
pure virtual |
Destroy an actor and remove it from the scene.
| [in] | actor | Handle of the actor to destroy. If valid, it must be owned by this scene. |
|
pure virtual |
Destroy a constraint and remove it from the scene.
| [in] | constraint | Pointer to the constraint to destroy. |
constraint is null, this function has no effect.
|
pure virtual |
Destroy a constraint and remove it from the scene.
| [in] | constraint | Handle of the constraint to destroy. If valid, it must be owned by this scene. |
|
pure virtual |
Enable or disable collision detection between two actors.
Order matters: controls only the specified direction (colliding actor checking against collider actor).
| [in] | colliding | Handle of the colliding actor. |
| [in] | collider | Handle of the collider actor. |
| [in] | enable | True to enable contact, false to disable it. |
| [in] | includeNestedActors | Whether nested actors should be affected by this contact setting. With IncludeNestedActors::No, only the exact handles are affected. With IncludeNestedActors::Yes, parent actors with nested actors resolve to the parent plus nested actors. The setting is applied to every ordered pair in the cross-product of the two resolved handle sets; no pairs outside that cross-product are affected. If the resolved sets overlap, pairs in the overlap, including self-pairs, are affected. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Equivalent to calling EnableActorContactAsymmetric with actorA and actorB in both orders using the same includeNestedActors.
| [in] | actorA | Handle of the first actor. |
| [in] | actorB | Handle of the second actor. |
| [in] | enable | True to enable contact, false to disable it. |
| [in] | includeNestedActors | Whether nested actors should be affected by this contact setting. See EnableActorContactAsymmetric for details. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Enable or disable collision detection for an ordered pair of contact layer names.
Order matters: controls only the specified direction (actors in layerA checking against actors in layerB).
| [in] | layerA | Name of the layer of the "colliding" actor (the one checking for contact). Must be non-empty. |
| [in] | layerB | Name of the layer of the "collider" actor (the one with a ColliderType being tested). Must be non-empty. |
| [in] | enable | True to enable contact, false to disable it. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Equivalent to calling EnableLayerContactAsymmetric with layerA and layerB in both orders.
| [in] | layerA | Name of the first contact layer. Must be non-empty. |
| [in] | layerB | Name of the second contact layer. Must be non-empty. |
| [in] | enable | True to enable contact, false to disable it. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Enumerate all unique contact layer names in the scene.
| [in] | callback | Function called once for each layer name. |
|
pure virtual |
Iterate over all the actors in the scene using a callback.
Includes nested link actors and nested soft actors.
| [in] | callback | Function called once for each actor. |
|
pure virtual |
Iterate over all the actors in the scene using a callback (const version).
Includes nested link actors and nested soft actors.
| [in] | callback | Function called once for each actor. |
|
pure virtual |
Iterate over all the constraints in the scene using a callback.
| [in] | callback | Function called once for each constraint. |
|
pure virtual |
Iterate over all the constraints in the scene using a callback (const version).
| [in] | callback | Function called once for each constraint. |
|
nodiscardpure virtual |
Get a const pointer to the Actor associated with an ActorHandle.
| [in] | actor | Handle of the actor to retrieve. If valid, it must be owned by this scene. |
|
nodiscardpure virtual |
Get the Actor pointer associated with an ActorHandle.
| [in] | actor | Handle of the actor to retrieve. If valid, it must be owned by this scene. |
Get Actor pointers for all the actors in the scene.
| [out] | outActors | Output span to fill with Actor pointers. Must be of size GetNumActors(). |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Get const Actor pointers for all the actors in the scene.
| [out] | outActors | Output span to fill with const Actor pointers. Must be of size GetNumActors(). |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
nodiscardpure virtual |
Get the const Constraint pointer associated with a ConstraintHandle.
| [in] | constraint | Handle of the constraint to retrieve. If valid, it must be owned by this scene. |
|
nodiscardpure virtual |
Get the Constraint pointer associated with a ConstraintHandle.
| [in] | constraint | Handle of the constraint to retrieve. If valid, it must be owned by this scene. |
|
nodiscardpure virtual |
|
nodiscardpure virtual |
|
nodiscardpure virtual |
|
nodiscardpure virtual |
|
nodiscardpure virtual |
Get whether all actors are forced to be in a single simulation island.
|
nodiscardpure virtual |
Get the gravity vector in world frame.
|
pure virtual |
Get the scene handle.
|
nodiscardpure virtual |
Returns the time step size [s] from the most recent positive call to Step.
|
nodiscardpure virtual |
Get the name of the scene.
|
nodiscardpure virtual |
Get the number of actors in the scene, including nested link actors and nested soft actors.
|
nodiscardpure virtual |
Get the number of constraints in the scene.
|
nodiscardpure virtual |
Get the number of unique contact layer names in the scene.
|
nodiscardpure virtual |
Get timing and profiling metrics from the last simulation step.
|
nodiscardpure virtual |
|
nodiscardpure virtual |
Get solver convergence metrics from the last simulation step.
|
nodiscardpure virtual |
Returns the total simulation time [s] in the scene.
|
nodiscardpure virtual |
Return true if both StateHandles are valid and refer to identical state information (full precision).
| [in] | stateA | First StateHandle to compare |
| [in] | stateB | Second StateHandle to compare |
|
nodiscardpure virtual |
Check if collision detection is enabled for an ordered pair of contact layer names.
Order matters: refers only to the specified direction (actors in layerA checking against actors in layerB).
| [in] | layerA | Name of the layer of the "colliding" actor (the one checking for contact). |
| [in] | layerB | Name of the layer of the "collider" actor (the one with a ColliderType being tested). |
|
nodiscardpure virtual |
Check if the scene is currently recording.
|
nodiscardpure virtual |
Register a callback to execute after each simulation step.
| [in] | debugName | Descriptive name for debugging and profiling. |
| [in] | callback | Callback function receiving StepInfo. |
| [in] | priority | Execution order. Lower values execute first (higher priority). |
|
nodiscardpure virtual |
Register a callback to execute before each simulation step.
| [in] | debugName | Descriptive name for debugging and profiling. |
| [in] | callback | Callback function receiving StepInfo. |
| [in] | priority | Execution order. Lower values execute first (higher priority). |
|
pure virtual |
Release memory for all captured state and invalidate all prior StateHandle objects.
|
pure virtual |
Release a StateHandle when you are done with it.
This frees up memory.
| [in] | handle | StateHandle to release. |
|
pure virtual |
Restore captured simulation state.
Optionally release the StateHandle at the same time.
| [in] | handle | StateHandle from a successful call to CaptureState. |
| [in] | releaseImmediately | If true, release the state handle immediately (as if ReleaseState were called), even if the restore fails. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Restore simulation state from a binary byte buffer produced by CaptureStateToBytes.
| [in] | data | State data from a successful call to CaptureStateToBytes. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Enables/disables forcing all actors in the scene to be in a single simulation island.
An island is a group of actors and constraints that are solved together. Islands are managed automatically based on proximity and other factors. Islands can be solved in parallel, which can greatly improve the performance of the scene. However, if you suspect that island partitioning might be causing a problem, then you can use this function to force all actors in the scene to be simulated in a single island.
| [in] | forceSingleIsland | Whether to force all actors to be in a single simulation island. |
|
pure virtual |
Set the gravity vector in world frame.
| [in] | gravity | Gravity vector [m/s^2] in world frame. |
|
pure virtual |
Set the solver parameters.
| [in] | params | Solver parameters to set. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Create or replace the specified file and start recording the scene to an HDF5 file.
| [in] | filePath | Path to the output recording file (case sensitive on some filesystems). File will be created or replaced. |
| [in] | params | Parameters controlling what data to record. |
| [in,out] | error | Error status. Check Error::IsOK for success. |
|
pure virtual |
Advance the simulation of the Scene one step.
SuperDex Physics uses fully-implicit time integration, enabling substantially larger stable time steps than physics engines using explicit or semi-implicit methods, particularly for stiff systems. Fewer steps per simulated second often improve simulation performance and real-time factor.
| [in] | timeStepSec | Time step size [s]. Must be non-negative. |
|
pure virtual |
Stop recording the scene and close the recording file.
|
pure virtual |
This gives the debugger a chance to process messages that require reading or writing scene state.
Please call this periodically if you are not actively stepping the scene. If this function is never called and the scene is never stepped, then some debugger features will not work.
|
staticconstexpr |
Default priority for callback ordering.
Lower values execute earlier (higher priority).
Definition at line 254 of file mochi_scene.h.