|
| | AGXSTREAM_DECLARE_SERIALIZABLE_BASE (agxVehicle::Steering) |
| |
| agxVehicle::WheelJoint * | getLeftWheelJoint () const |
| |
| agx::Real | getMaximumSteeringAngle (agx::UInt side) const |
| |
| int | getNumDOF () const override |
| |
| agxVehicle::WheelJoint * | getRightWheelJoint () const |
| |
| agx::Real | getSteeringAngle () const |
| |
| const agxVehicle::SteeringParameters & | getSteeringParameters () const |
| | Warning: there is no setSteeringParameters() method, since that requires reinitialization.
|
| |
| void | render (class agxRender::RenderManager *mgr, float scale) const override |
| | Setup debug rendering of the steering geometry.
|
| |
| void | setSteeringAngle (agx::Real angle) |
| | Set the value of the steering angle.
|
| |
| agx::Bool | addElementaryConstraint (const agx::Name &name, agx::ElementaryConstraint *elementaryConstraint) |
| | Add elementary constraint (like Spherical, Dot1, Dot2 etc) given name.
|
| |
| agx::Bool | addSecondaryConstraint (const agx::Name &name, agx::ElementaryConstraint *secondaryConstraint) |
| | Add secondary constraint (like motor, range and/or lock etc) given name.
|
| |
| | AGXSTREAM_DECLARE_ABSTRACT_SERIALIZABLE (agx::Constraint) |
| |
| template<typename T > |
| T * | as () |
| | Try to do dynamic_cast on the constraint and return a pointer to the casted constraint.
|
| |
| template<typename T > |
| const T * | as () const |
| | Try to do dynamic_cast on the constraint and return a pointer to the casted constraint.
|
| |
| RealVector | calculateCurrentViolation () const |
| | Calculates the current violation of the ordinary degrees of freedom of this constraint, e.g., three translational and two rotational (total 5 elements) of a hinge, i.e., controllers DOF are not included.
|
| |
| agx::UInt | calculateNumActiveRows () const |
| | Calculates the current number of active rows, including both elementary and secondary constraints.
|
| |
| template<typename T > |
| ref_ptr< T > | createFromBody (Vec3 bodyPoint, Vec3 bodyAxis, RigidBody *rb1, RigidBody *rb2) |
| |
| template<typename T > |
| ref_ptr< T > | createFromWorld (Vec3 worldPoint, Vec3 worldAxis, RigidBody *rb1, RigidBody *rb2) |
| |
| agx::Attachment * | getAttachment (agx::UInt i) const |
| |
| agx::RigidBodyAttachment * | getAttachment (const agx::RigidBody *rb) const |
| |
| agx::AttachmentPair * | getAttachmentPair () const |
| |
| agx::RigidBody * | getBodyAt (agx::UInt i) |
| |
| const agx::RigidBody * | getBodyAt (agx::UInt i) const |
| |
| virtual agx::Real | getCompliance (agx::UInt dof) const |
| | Get the compliance for DOF i.
|
| |
| agx::Real | getCurrentForce (agx::UInt dof) const |
| | Consider using getLastForce instead.
|
| |
| virtual Real | getDamping (agx::UInt dof) const |
| | Get the damping for DOF dof.
|
| |
| virtual agx::Real | getElasticity (agx::UInt dof) const |
| | Get the elasticity for DOF i.
|
| |
| agx::ElementaryConstraint * | getElementaryConstraint (const agx::UInt index) const |
| |
| agx::ElementaryConstraint * | getElementaryConstraintGivenName (const agx::Name &name) const |
| | Find elementary constraint given name.
|
| |
| agx::Bool | getEnable () const |
| |
| agx::Bool | getEnableComputeForces () const |
| |
| bool | getEnableDebugRendering () const |
| |
| bool | getEnableLinearization () const |
| |
| agx::UInt32 | getEntityId () const |
| |
| agx::RangeReal | getForceRange (agx::UInt dof=0) const |
| | Get the force range for DOF dof.
|
| |
| agx::Bool | getLastForce (agx::UInt bodyIndex, agx::Vec3 &retForce, agx::Vec3 &retTorque, agx::Bool giveForceAtCm=false) const |
| | If 'compute forces' is enabled, returns the last force and torque applied by this constraint on the body with bodyIndex.
|
| |
| agx::Bool | getLastForce (const agx::RigidBody *rb, agx::Vec3 &retForce, agx::Vec3 &retTorque, agx::Bool giveForceAtCm=false) const |
| | If 'compute forces' is enabled, returns the last force and torque applied by this constraint on the body rb.
|
| |
| agx::Bool | getLastLocalForce (agx::UInt bodyIndex, agx::Vec3 &retForce, agx::Vec3 &retTorque, agx::Bool giveForceAtCm=false) const |
| | If 'compute forces' is enabled, returns the last force and torque applied by this constraint on the body with bodyIndex.
|
| |
| agx::Bool | getLastLocalForce (const agx::RigidBody *rb, agx::Vec3 &retForce, agx::Vec3 &retTorque, agx::Bool giveForceAtCm=false) const |
| | If 'compute forces' is enabled, returns the last force and torque applied by this constraint on the body rb.
|
| |
| agx::UInt | getNumBodies () const |
| | returns the number of bodies involved
|
| |
| virtual int | getNumDOF () const =0 |
| |
| agx::UInt | getNumElementaryConstraints () const |
| |
| agx::UInt | getNumSecondaryConstraints () const |
| |
| virtual agx::RegularizationParameters * | getRegularizationParameters (agx::UInt i) |
| |
| virtual const agx::RegularizationParameters * | getRegularizationParameters (agx::UInt i) const |
| |
| agx::ConstraintImplementation * | getRep () |
| |
| const agx::ConstraintImplementation * | getRep () const |
| |
| agx::ElementaryConstraint * | getSecondaryConstraint (const agx::UInt index) const |
| |
| agx::ElementaryConstraint * | getSecondaryConstraintGivenName (const agx::Name &name) const |
| | Find secondary constraint given name.
|
| |
| agx::Constraint::SolveType | getSolveType () const |
| |
| agx::Bool | getValid () const |
| |
| agx::Bool | isEnabled () const |
| |
| virtual agx::Bool | rebind () |
| | Rebind this constraint, i.e., use current state as the initial configuration.
|
| |
| agx::Bool | removeElementaryConstraint (agx::ElementaryConstraint *elementaryConstraint) |
| | Remove elementary constraint.
|
| |
| agx::Bool | removeElementaryConstraint (const agx::Name &name) |
| | Remove elementary constraint.
|
| |
| agx::Bool | removeSecondaryConstraint (agx::ElementaryConstraint *secondaryConstraint) |
| | Remove secondary constraint.
|
| |
| agx::Bool | removeSecondaryConstraint (const agx::Name &name) |
| | Remove secondary constraint.
|
| |
| virtual void | render (class agxRender::RenderManager *mgr, float scale) const =0 |
| | Inherited method of how to render this constraint into DebugRenderer.
|
| |
| void | restore (agxStream::InputArchive &in) override |
| |
| virtual void | restoreLightData (agxStream::StorageStream &str) override |
| |
| void | setCompliance (agx::Real compliance) |
| | Set the compliance of this constraint for all DOFs.
|
| |
| virtual void | setCompliance (agx::Real compliance, agx::Int dof) |
| | Set the compliance of this constraint for the i:th DOF.
|
| |
| void | setDamping (agx::Real damping) |
| | Set the damping of this constraint for all DOFs.
|
| |
| virtual void | setDamping (agx::Real damping, agx::Int dof) |
| | Set the damping of this constraint for the i:th DOF.
|
| |
| virtual void | setElasticity (agx::Real elasticity) |
| | Set the elasticity of this constraint for all DOFs.
|
| |
| virtual void | setElasticity (agx::Real elasticity, agx::Int dof) |
| | Set the elasticity of this constraint for the i:th DOF.
|
| |
| virtual void | setEnable (agx::Bool enable) |
| | Enable/disable a constraint.
|
| |
| void | setEnableComputeForces (agx::Bool enable) |
| | Enable (or disable) computation of the forces applied to the dynamic bodies in this constraint.
|
| |
| void | setEnableDebugRendering (agx::Bool enable) |
| | Enable/disable debug rendering of this constraint.
|
| |
| void | setEnableLinearization (bool enable) |
| | Pass true to enable linearization of constraint compliance.
|
| |
| void | setForceRange (agx::RangeReal forceRange) |
| | Assign force range for all DOF of the elementary constraints.
|
| |
| void | setForceRange (agx::RangeReal forceRange, agx::Int dof) |
| | Assign force range, of an elementary constraint, for a given DOF.
|
| |
| void | setForceRange (agx::Real lower, agx::Real upper, agx::Int dof) |
| | Assign force range, of an elementary constraint, for a given DOF.
|
| |
| void | setSolveType (agx::Constraint::SolveType solveType) |
| | Specify the solve type for this constraint.
|
| |
| void | store (agxStream::OutputArchive &out) const override |
| |
| virtual void | storeLightData (agxStream::StorageStream &str) const override |
| |
| | 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.
|
| |
A Steering mechanism is designed to align wheels simultaneously to minimize the slip, making them move along the tangents of concentric circles with radii determined by the distances between the wheels, and the distance between front and rear.
In addition to the mechanical linkage that connects the wheel, there has to be also a connection to the steering wheel.
AGX provides Ackerman mechanism with direct steering input on one of the wheels, a Bell-crank or central-lever linkage which is used for vehicle with a steering column in the center, a rack and pinion mechanism which is the most commonly used in passenger cars, and the Davis mechanism which provides ideal steering but is never used in practice.
Definition at line 45 of file Steering.h.