This class will add a virtual inertia along or around the constraint axis (N-axis), which will affect the resulting rotational or translational acceleration on the affected rigid bodies.
More...
|
| | VirtualConstraintInertia (agx::Constraint *constraint, agx::Real rigidBody1TranslationInertia, agx::Real rigidBody1RotationalInertia, agx::Real rigidBody2TranslationInertia, agx::Real rigidBody2RotationalInertia) |
| | Basic constructor that takes a constraint and the virtual inertias that should be applied in the central axis of the constraint.
|
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agx::VirtualConstraintInertia) |
| |
| virtual agx::RigidBody * | getRigidBody1 () const override |
| |
| agx::Real | getRigidBody1RotationalInertia () const |
| | Gets the virtual rotational inertia that will be applied in the constraint interaction upon rigid body 1 in the constraint.
|
| |
| agx::Real | getRigidBody1TranslationalInertia () const |
| | Gets the virtual translational inertia that will be applied in the constraint interaction applied on rigid body 1.
|
| |
| virtual agx::RigidBody * | getRigidBody2 () const override |
| |
| agx::Real | getRigidBody2RotationalInertia () const |
| | Gets the virtual rotational inertia that will be applied in the constraint interaction upon rigid body 1 in the constraint.
|
| |
| agx::Real | getRigidBody2TranslationalInertia () const |
| | Gets the virtual translational inertia that will be applied in the constraint interaction applied on rigid body 2.
|
| |
| void | setRigidBody1RotationalInertia (agx::Real rotationalInertia) |
| | Sets the virtual rotational inertia that will be applied in the constraint interaction upon rigid body 1 in the constraint.
|
| |
| void | setRigidBody1TranslationalInertia (agx::Real translationalInertia) |
| | Sets the virtual translational inertia that will be applied in the constraint interaction applied on rigid body 1.
|
| |
| void | setRigidBody2RotationalInertia (agx::Real rotationalInertia) |
| | Sets the virtual rotational inertia that will be applied in the constraint interaction upon rigid body 2 in the constraint.
|
| |
| void | setRigidBody2TranslationalInertia (agx::Real translationalInertia) |
| | Sets the virtual translational inertia that will be applied in the constraint interaction applied on rigid body 2.
|
| |
| virtual void | addNlCallbacks (agx::SparseRangeReal &sparseRangeReal) const |
| | Interface for non-linear callback from solver.
|
| |
| virtual void | addNotification () override |
| | Called when added to a simulation.
|
| |
| | AGXSTREAM_DECLARE_ABSTRACT_SERIALIZABLE (agx::StrongInteraction) |
| |
| agx::Bool | getEnable () const |
| |
| virtual agx::RigidBody * | getRigidBody1 () const =0 |
| |
| virtual agx::RigidBody * | getRigidBody2 () const =0 |
| |
| agx::Bool | getValid () const |
| |
| virtual void | postSystemCallback (agx::DynamicsSystem *dynamicsSystem) override |
| | Called after the solver is done.
|
| |
| virtual void | prepare () |
| | Prepares for solve.
|
| |
| virtual void | preSystemCallback (agx::DynamicsSystem *dynamicsSystem) override |
| | Called before solver executes.
|
| |
| virtual void | removeNotification () override |
| | Called when removed from a simulation.
|
| |
| virtual void | render (agxRender::RenderManager *mgr, float scale) |
| | Render the interaction.
|
| |
| void | setEnable (agx::Bool enable) |
| | Enable or disable this interaction.
|
| |
| virtual void | writeMatrixData (agx::StrongInteraction::MatrixData rb1DiagonalBlock, agx::StrongInteraction::MatrixData rb2DiagonalBlock, agx::StrongInteraction::MatrixData offDiagonalBlock)=0 |
| | Write data for dynamic bodies.
|
| |
| virtual void | writeRhs (agx::Physics::RigidBodyPtr rb1, agx::Real *rb1Rhs, agx::Physics::RigidBodyPtr rb2, agx::Real *rb2Rhs, agx::Bool isRestingSolve)=0 |
| | Write data to the right hand side, for dynamic bodies.
|
| |
| | Interaction () |
| | Default constructor.
|
| |
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agx::Interaction) |
| |
| const agx::Name & | getName () const |
| |
| agx::PropertyContainer * | getPropertyContainer () |
| |
| const agx::PropertyContainer * | getPropertyContainer () const |
| |
| agxSDK::SimulationProxy * | getSimulationProxy () const |
| |
| agx::Bool | hasPropertyContainer () const |
| |
| virtual void | postSystemCallback (agx::DynamicsSystem *) |
| | Called after all post step events, after solve.
|
| |
| virtual void | preSystemCallback (agx::DynamicsSystem *) |
| | Called after all pre step events, before solve.
|
| |
| void | setName (const agx::Name &name) |
| | Name this interaction.
|
| |
| void | setPropertyContainer (agx::PropertyContainer *propertyContainer) |
| | Assign a new property container.
|
| |
| virtual void | updateForce (agx::DynamicsSystem *dynamicsSystem) |
| | This virtual method is implemented so that it computes the interaction forces on all the physical bodies implicated.
|
| |
| | Referenced () |
| | Default constructor.
|
| |
| | Referenced (const Referenced &) |
| |
| template<typename T > |
| T * | as () |
| | Subclass casting.
|
| |
| template<typename T > |
| const T * | as () const |
| |
| template<typename T > |
| T * | asSafe () |
| | Safe subclass casting, return nullptr if template type does not match.
|
| |
| template<typename T > |
| const T * | asSafe () const |
| |
| int | getReferenceCount () const |
| |
| template<typename T > |
| bool | is () const |
| | Subclass test.
|
| |
| Referenced & | operator= (const Referenced &) |
| | Assignment operator. Will increment the number of references to the referenced object.
|
| |
| void | reference (void *ptr=nullptr) const |
| | Explicitly increment the reference count by one, indicating that this object has another pointer which is referencing it.
|
| |
| void | unreference (void *ptr=nullptr) const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| void | unreference_nodelete () const |
| | Decrement the reference count by one, indicating that a pointer to this object is referencing it.
|
| |
| virtual | ~Serializable () |
| | Destructor for normal C++ use but hidden from SWIG bindings.
|
| |
| virtual const char * | getClassName () const |
| |
| bool | getEnableSerialization () const |
| |
| bool | getEnableUuidGeneration () |
| |
| agx::UInt32 | getIndex () const |
| | This index is given at creation of this object.
|
| |
| virtual StorageAgent * | getStorageAgent () const =0 |
| |
| agx::Uuid | getUuid () const |
| |
| bool | isFinished () const |
| |
| void | setEnableSerialization (bool flag) |
| | Set to false to disable serialization of this object.
|
| |
| void | setFinished () |
| | Tells this class that it is restored correctly and should not be deleted during destruction of an Archive.
|
| |
| void | setUuid (const agx::Uuid &uuid) |
| | Explicitly set a Uuid on a serializable object.
|
| |
|
| | VirtualConstraintInertia () |
| | Default constructor used by serialization.
|
| |
| virtual | ~VirtualConstraintInertia () |
| | Reference counted object, protected destructor.
|
| |
| virtual void | prepare () override |
| | Prepares for solve.
|
| |
| virtual void | writeMatrixData (agx::StrongInteraction::MatrixData rb1DiagonalBlock, agx::StrongInteraction::MatrixData rb2DiagonalBlock, agx::StrongInteraction::MatrixData offDiagonalBlock) override |
| | Write data for dynamic bodies.
|
| |
| virtual void | writeRhs (agx::Physics::RigidBodyPtr rb1, agx::Real *rb1Rhs, agx::Physics::RigidBodyPtr rb2, agx::Real *rb2Rhs, agx::Bool isRestingSolve) override |
| | Write data to the right hand side, for dynamic bodies.
|
| |
| | StrongInteraction () |
| | Construct given one or two rigid bodies.
|
| |
| virtual | ~StrongInteraction () |
| | Reference counted object, protected destructor.
|
| |
| virtual void | restore (agxStream::InputArchive &in) override |
| | Restore local content.
|
| |
| void | setValid (agx::Bool valid) |
| | Valid if enable and configuration is ok for solver.
|
| |
| virtual void | store (agxStream::OutputArchive &out) const override |
| | Store local content.
|
| |
| virtual | ~Interaction () |
| | Reference counted object, protected destructor.
|
| |
| virtual void | addNotification () |
| | Called when added to a simulation.
|
| |
| virtual void | removeNotification () |
| | Called when removed from a simulation.
|
| |
| virtual void | setSimulation (agxSDK::Simulation *simulation) |
| | Assign simulation.
|
| |
| virtual | ~Referenced () |
| | Destructor.
|
| |
| void | allocateObserverVector () const |
| |
| void | deleteUsingDeleteHandler () const |
| |
| | Serializable () |
| | Default constructor.
|
| |
| | Serializable (const Serializable &other) |
| | Copy constructor.
|
| |
| void | generateUuid () |
| |
This class will add a virtual inertia along or around the constraint axis (N-axis), which will affect the resulting rotational or translational acceleration on the affected rigid bodies.
This virtual inertia is added as a strong interaction that modifies the mass and inertia matrix of the coupled bodies right before the solver to achieve this effect. Virtual inertias are applied on the rigid bodies in the constraint separately which will affect their movement around and/or along the constraint axis.
This class can be used to add virtual inertia to a rotational constraint, such as a hinge or add a translational inertia along the central axis of a prismatic constraint.
Definition at line 35 of file VirtualConstraintInertia.h.