15#ifndef MOMENTUM_SPRINGJOINT_H
16#define MOMENTUM_SPRINGJOINT_H
18#include "momentum_export.h"
19#include "momentum_namespace.h"
23#include "LinearMotor.h"
24#include "LinearSpring.h"
25#include "LinearRange.h"
79#ifndef AGX_MOMENTUM_ANALYSIS_API
95#ifndef AGX_MOMENTUM_ANALYSIS_API
113 virtual std::string __str__()
const;
122 agx::DistanceJoint* getDistanceJoint()
const;
Base class for all joints.
Definition: Joint.h:51
DegreeOfFreedom
Definition: Joint.h:54
A spring joint is a joint which will try to restore the distance between attached bodies.
Definition: SpringJoint.h:42
virtual int getAgxRotationalDOF(Joint::DegreeOfFreedom dof) const
void setSpringElasticity(double elasticity)
Set the elasticity of the spring, in the unit of Newton per meter.
double getCurrentLength() const
Get the current distance between the attachment points of the spring, in meters.
double getSpringDamping() const
Get the damping of the spring, in the unit of Newton-seconds per meter.
double getSpringElasticity() const
Get the elasticity of the spring, in the unit of Newton per meter.
std::shared_ptr< LinearMotor > getMotor() const
Get the motor of the translational z-axis.
std::shared_ptr< LinearRange > getRange() const
Get the range of the translational z-axis.
void setSpringDamping(double damping)
Set the damping of the spring, in the unit of Newton-seconds per meter.
std::shared_ptr< LinearSpring > getSpring() const
Get the spring of the translational z-axis.
virtual int getAgxTranslationalDOF(Joint::DegreeOfFreedom dof) const
Namespace for Momentum Scripting API.
Definition: AffineMatrix4x4.h:29