Momentum Scripting v1
Loading...
Searching...
No Matches
FrictionController.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#pragma once
16
17#include "momentum_export.h"
18#include "momentum_namespace.h"
19
20#include "macros.h"
21#include "Vec3.h"
22
23#include <memory>
24
25#ifndef SWIG
27namespace agx
28{
29 class FrictionController;
30}
32#endif
33
34namespace MOMENTUM_NAMESPACE
35{
39 class MOMENTUM_EXPORT FrictionController
40 {
41 public:
42#ifndef SWIG
44
48 FrictionController(agx::FrictionController* frictionController);
49
55#endif
56
57#ifndef AGX_MOMENTUM_ANALYSIS_API
58
69 void setFrictionCoefficient(double frictionCoefficient);
70
85
91 void setMinimumStaticFrictionForceRange(double min, double max);
92
97 void setMinimumStaticFrictionForceRange(std::pair<double, double> range);
98#endif
99
104
109
116 std::pair<double, double> getMinimumStaticFrictionForceRange() const;
117
121 bool isActive() const;
122
123 private:
124#ifndef SWIG
126 agx::FrictionController* m_frictionController;
128#endif
129 };
130
131 V1_DECLARE_CONTAINER_TYPE(FrictionController);
132} // namespace momentum
Translational or rotational friction controller for Hinge, Prismatic and CylindricalJoint.
Definition: FrictionController.h:40
void setEnableNonLinearDirectSolveUpdate(bool enable)
Enable/disable non-linear update of the friction conditions given current normal force from the direc...
void setMinimumStaticFrictionForceRange(std::pair< double, double > range)
Set the minimum force range that this friction controller can apply.
void setFrictionCoefficient(double frictionCoefficient)
Assign friction coefficient.
std::pair< double, double > getMinimumStaticFrictionForceRange() const
Get the minimum force range that this friction controller can apply.
void setMinimumStaticFrictionForceRange(double min, double max)
Set the minimum force range that this friction controller can apply.
Namespace for Momentum Scripting API.
Definition: AffineMatrix4x4.h:29