23#include "mbsim/contours/rigid_contour.h"
24#include "mbsim/functions/function.h"
25#include "mbsim/utils/boost_parameters.h"
26#include <mbsim/utils/openmbv_utils.h>
27#include <openmbvcppinterface/bevelgear.h>
46 void init(
InitStage stage,
const InitConfigSet &config)
override;
50 fmatvec::Vec3 evalKrPS(
const fmatvec::Vec2 &zeta)
override;
51 fmatvec::Vec3 evalKs(
const fmatvec::Vec2 &zeta)
override;
52 fmatvec::Vec3 evalKt(
const fmatvec::Vec2 &zeta)
override;
53 fmatvec::Vec3 evalParDer1Ks(
const fmatvec::Vec2 &zeta)
override;
54 fmatvec::Vec3 evalParDer2Ks(
const fmatvec::Vec2 &zeta)
override;
55 fmatvec::Vec3 evalParDer1Kt(
const fmatvec::Vec2 &zeta)
override;
56 fmatvec::Vec3 evalParDer2Kt(
const fmatvec::Vec2 &zeta)
override;
60 void setNumberOfTeeth(
int N_) { N = N_; }
61 int getNumberOfTeeth() {
return N; }
62 void setWidth(
double w_) { w = w_; }
63 double getWidth() {
return w; }
64 void setHelixAngle(
double be_) { be = be_; }
65 double getHelixAngle() {
return be; }
66 void setPitchAngle(
double ga_) { ga = ga_; }
67 double getPitchAngle() {
return ga; }
68 void setModule(
double m_) { m = m_; }
69 double getModule() {
return m; }
70 void setPressureAngle(
double al_) { al = al_; }
71 double getPressureAngle() {
return al; }
72 void setBacklash(
double b_) { b = b_; }
73 double getBacklash() {
return b; }
74 void setFlank(
int flank) { signi = flank; }
75 void setTooth(
int tooth) { k = tooth; }
76 double getEtaMax(
double h,
double s,
int signi);
77 double getPhiMaxHigh(
int i) {
return phiMaxHigh[i]; }
78 double getPhiMaxLow(
int i) {
return phiMaxLow[i]; }
79 double getPhiMinHigh(
int i) {
return phiMinHigh[i]; }
80 double getPhiMinLow(
int i) {
return phiMinLow[i]; }
81 double getSPhiMaxHigh(
int i) {
return sPhiMaxHigh[i]; }
82 double getSPhiMinHigh(
int i) {
return sPhiMinHigh[i]; }
85 BOOST_PARAMETER_MEMBER_FUNCTION( (
void), enableOpenMBV, tag, (optional (diffuseColor,(
const fmatvec::Vec3&),fmatvec::Vec3(std::vector<double>{-1,1,1}))(transparency,(
double),0)(pointSize,(
double),0)(lineWidth,(
double),0))) {
86 OpenMBVColoredBody ombv(diffuseColor,transparency,pointSize,lineWidth);
90 void initializeUsingXML(xercesc::DOMElement *element)
override;
95 double h, s, r0, r1, al, be, ga;
98 Residuum(
double h_,
double s_,
double r0_,
double r1_,
double al_,
double be_,
double ga_,
int signi_) : h(h_), s(s_), r0(r0_), r1(r1_), al(al_), be(be_), ga(ga_), signi(signi_) { }
99 double operator()(
const double &phi)
override;
105 double ga{0.785398163397448};
107 double al{0.349065850398866};
117 double phiMaxHigh[2], phiMaxLow[2], phiMinHigh[2], phiMinLow[2], sPhiMaxHigh[2], sPhiMinHigh[2];
Definition: bevel_gear.h:93
bevel gear contour
Definition: bevel_gear.h:35
~BevelGear() override=default
destructor
void init(InitStage stage, const InitConfigSet &config) override
plots time series header
Definition: bevel_gear.cc:148
InitStage
The stages of the initialization.
Definition: element.h:62
std::string name
name of element
Definition: element.h:260
cartesian frame on bodies used for application of e.g. links and loads
Definition: frame.h:39
Definition: function.h:53
basic class for rigid contours
Definition: rigid_contour.h:37
Frame * R
coordinate system of contour
Definition: rigid_contour.h:135
RigidContour(const std::string &name, Frame *R_=nullptr)
constructor
Definition: rigid_contour.h:43
namespace MBSim
Definition: bilateral_constraint.cc:30