Momentum Scripting v1
Deprecated API version. Use Momentum.v2 for new scripts.
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
50 PrismaticJoint(agx::Prismatic* prismatic);
51
57#endif
58
62 std::shared_ptr<LinearMotor> getMotor() const;
66 std::shared_ptr<LinearSpring> getSpring() const;
70 std::shared_ptr<LinearRange> getRange() const;
71
75 double getPosition() const;
76
81 double getCurrentSpeed() const;
82
86 std::shared_ptr<FrictionController> getFrictionController();
87
89 virtual ~PrismaticJoint();
90
91 std::string __str__() const;
93
94
95 protected:
98
99 private:
100#ifndef SWIG
101 agx::Prismatic* getPrismatic() const;
102#endif
103 };
104
105 V1_DECLARE_CONTAINER_TYPE(PrismaticJoint);
106
107} // namespace momentum
108
109#endif
Base class for all joints.
Definition: Joint.h:52
DegreeOfFreedom
Definition: Joint.h:55
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