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