1 // =============================================================================
2 // PROJECT CHRONO - http://projectchrono.org
3 //
4 // Copyright (c) 2014 projectchrono.org
5 // All rights reserved.
6 //
7 // Use of this source code is governed by a BSD-style license that can be found
8 // in the LICENSE file at the top level of the distribution and at
9 // http://projectchrono.org/license-chrono.txt.
10 //
11 // =============================================================================
12 // Authors: Radu Serban
13 // =============================================================================
14 //
15 // FMTV shafts-based brake model.
16 //
17 // =============================================================================
18 
19 #ifndef FMTV_BRAKE_SHAFTS_H
20 #define FMTV_BRAKE_SHAFTS_H
21 
22 #include "chrono_vehicle/wheeled_vehicle/brake/ChBrakeShafts.h"
23 
24 #include "chrono_models/ChApiModels.h"
25 
26 namespace chrono {
27 namespace vehicle {
28 namespace fmtv {
29 
30 /// @addtogroup vehicle_models_fmtv
31 /// @{
32 
33 /// Shafts-based FMTV brake subsystem (uses a clutch between two shafts).
34 class CH_MODELS_API FMTV_BrakeShafts : public ChBrakeShafts {
35   public:
36     FMTV_BrakeShafts(const std::string& name);
~FMTV_BrakeShafts()37     ~FMTV_BrakeShafts() {}
38 
GetMaxBrakingTorque()39     virtual double GetMaxBrakingTorque() override { return m_maxtorque; }
GetShaftInertia()40     virtual double GetShaftInertia() override { return m_shaft_inertia; }
41 
42   private:
43     static const double m_maxtorque;
44     static const double m_shaft_inertia;
45 };
46 
47 /// @} vehicle_models_fmtv
48 
49 }  // end namespace fmtv
50 }  // end namespace vehicle
51 }  // end namespace chrono
52 
53 #endif
54