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, Michael Taylor 13 // ============================================================================= 14 // 15 // M113 continuous band track assembly subsystem using rigid-link track shoes. 16 // 17 // ============================================================================= 18 19 #ifndef M113_TRACK_ASSEMBLY_RIGID_CB_H 20 #define M113_TRACK_ASSEMBLY_RIGID_CB_H 21 22 #include <string> 23 24 #include "chrono_models/ChApiModels.h" 25 #include "chrono_vehicle/tracked_vehicle/track_assembly/ChTrackAssemblyBandBushing.h" 26 27 namespace chrono { 28 namespace vehicle { 29 namespace m113 { 30 31 /// @addtogroup vehicle_models_m113 32 /// @{ 33 34 /// M113 continuous band track assembly subsystem using rigid-link track shoes. 35 class CH_MODELS_API M113_TrackAssemblyBandBushing : public ChTrackAssemblyBandBushing { 36 public: 37 M113_TrackAssemblyBandBushing(VehicleSide side, BrakeType brake_type); 38 39 virtual const ChVector<> GetSprocketLocation() const override; 40 virtual const ChVector<> GetIdlerLocation() const override; 41 virtual const ChVector<> GetRoadWhelAssemblyLocation(int which) const override; 42 43 private: 44 static const ChVector<> m_sprocket_loc; 45 static const ChVector<> m_idler_loc; 46 static const ChVector<> m_susp_locs_L[5]; 47 static const ChVector<> m_susp_locs_R[5]; 48 }; 49 50 /// @} vehicle_models_m113 51 52 } // end namespace m113 53 } // end namespace vehicle 54 } // end namespace chrono 55 56 #endif 57