代码拉取完成,页面将自动刷新
#ifndef ATG_ENGINE_SIM_CAMSHAFT_H
#define ATG_ENGINE_SIM_CAMSHAFT_H
#include "part.h"
#include "function.h"
#include "units.h"
class Crankshaft;
class Camshaft : public Part {
public:
struct Parameters {
// Number of lobes
int lobes;
// Camshaft advance in camshaft degrees
double advance = 0;
// Corresponding crankshaft
Crankshaft *crankshaft;
// Lobe profile
Function *lobeProfile;
// Base radius
double baseRadius = units::distance(600, units::thou);
};
public:
Camshaft();
virtual ~Camshaft();
void initialize(const Parameters ¶ms);
virtual void destroy();
double valveLift(int lobe) const;
double sampleLobe(double theta) const;
void setLobeCenterline(int lobe, double crankAngle) { m_lobeAngles[lobe] = crankAngle / 2; }
double getLobeCenterline(int lobe) const { return m_lobeAngles[lobe]; }
double getAngle() const;
Function *getLobeProfile() const { return m_lobeProfile; }
double getAdvance() const { return m_advance; }
double getBaseRadius() const { return m_baseRadius; }
private:
Crankshaft *m_crankshaft;
Function *m_lobeProfile;
double *m_lobeAngles;
double m_advance;
double m_baseRadius;
int m_lobes;
};
#endif /* ATG_ENGINE_SIM_CAMSHAFT_H */
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。