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 // Generic rigid tire subsystem
16 //
17 // =============================================================================
18 
19 #ifndef ACV_RIGID_TIRE_H
20 #define ACV_RIGID_TIRE_H
21 
22 #include "chrono_vehicle/wheeled_vehicle/tire/ChRigidTire.h"
23 
24 class ACV_RigidTire : public chrono::vehicle::ChRigidTire {
25   public:
26     ACV_RigidTire(const std::string& name);
27 
~ACV_RigidTire()28     ~ACV_RigidTire() {}
29 
GetRadius()30     virtual double GetRadius() const override { return m_radius; }
GetWidth()31     virtual double GetWidth() const override { return m_width; }
GetMass()32     virtual double GetMass() const override { return m_mass; }
GetInertia()33     virtual chrono::ChVector<> GetInertia() const override { return m_inertia; }
34 
35   private:
36     virtual void CreateContactMaterial(chrono::ChContactMethod contact_method) override;
37 
38     static const double m_radius;
39     static const double m_width;
40     static const double m_mass;
41     static const chrono::ChVector<> m_inertia;
42 };
43 
44 #endif
45