Momentum Scripting v1
Loading...
Searching...
No Matches
PrismaticJoint.h
1/*
2Copyright 2007-2025. Algoryx Simulation AB.
3
4All AGX source code, intellectual property, documentation, sample code,
5tutorials, scene files and technical white papers, are copyrighted, proprietary
6and confidential material of Algoryx Simulation AB. You may not download, read,
7store, distribute, publish, copy or otherwise disseminate, use or expose this
8material without having a written signed agreement with Algoryx Simulation AB.
9
10Algoryx Simulation AB disclaims all responsibilities for loss or damage caused
11from using this software, unless otherwise stated in written agreements with
12Algoryx Simulation AB.
13*/
14
15#ifndef MOMENTUM_PRISMATICJOINT_H
16#define MOMENTUM_PRISMATICJOINT_H
17
18#include "momentum_export.h"
19#include "momentum_namespace.h"
20
21#include "Joint.h"
22
23#include "LinearMotor.h"
24#include "LinearRange.h"
25#include "LinearSpring.h"
26#include "FrictionController.h"
27
28#ifndef SWIG
30namespace agx
31{
32 class Prismatic;
33}
35#endif
36
37namespace MOMENTUM_NAMESPACE
38{
42 class MOMENTUM_EXPORT PrismaticJoint : public Joint
43 {
44 public:
45#ifndef SWIG
47
51 PrismaticJoint(agx::Prismatic* prismatic);
52
58#endif
59
63 std::shared_ptr<LinearMotor> getMotor() const;
67 std::shared_ptr<LinearSpring> getSpring() const;
71 std::shared_ptr<LinearRange> getRange() const;
72
76 double getPosition() const;
77
82 double getCurrentSpeed() const;
83
87 std::shared_ptr<FrictionController> getFrictionController();
88
90 virtual ~PrismaticJoint();
91
92 std::string __str__() const;
94
95
96 protected:
99
100 private:
101#ifndef SWIG
102 agx::Prismatic* getPrismatic() const;
103#endif
104 };
105
106 V1_DECLARE_CONTAINER_TYPE(PrismaticJoint);
107
108} // namespace momentum
109
110#endif
Base class for all joints.
Definition: Joint.h:51
DegreeOfFreedom
Definition: Joint.h:54
PrismaticJoint will remove all but one translational DOF.
Definition: PrismaticJoint.h:43
double getCurrentSpeed() const
Get the current speed along the z-axis in meters per second.
virtual int getAgxTranslationalDOF(Joint::DegreeOfFreedom dof) const
std::shared_ptr< LinearRange > getRange() const
Get the range of the translational z-axis.
std::shared_ptr< LinearMotor > getMotor() const
Get the motor of the translational z-axis.
std::shared_ptr< LinearSpring > getSpring() const
Get the spring of the translational z-axis.
virtual int getAgxRotationalDOF(Joint::DegreeOfFreedom dof) const
double getPosition() const
Get the current displacement along the z-axis, in meters.
std::shared_ptr< FrictionController > getFrictionController()
Namespace for Momentum Scripting API.
Definition: AffineMatrix4x4.h:29