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 // Torsion chassis connector model constructed with data from file (JSON format). 16 // 17 // ============================================================================= 18 19 #include "chrono/utils/ChCompositeInertia.h" 20 #include "chrono_vehicle/ChVehicleModelData.h" 21 #include "chrono_vehicle/chassis/ChassisConnectorTorsion.h" 22 #include "chrono_vehicle/utils/ChUtilsJSON.h" 23 24 using namespace rapidjson; 25 26 namespace chrono { 27 namespace vehicle { 28 ChassisConnectorTorsion(const std::string & filename)29ChassisConnectorTorsion::ChassisConnectorTorsion(const std::string& filename) : ChChassisConnectorTorsion("") { 30 Document d; ReadFileJSON(filename, d); 31 if (d.IsNull()) 32 return; 33 34 Create(d); 35 36 GetLog() << "Loaded JSON: " << filename.c_str() << "\n"; 37 } 38 ChassisConnectorTorsion(const rapidjson::Document & d)39ChassisConnectorTorsion::ChassisConnectorTorsion(const rapidjson::Document& d) : ChChassisConnectorTorsion("") { 40 Create(d); 41 } 42 Create(const rapidjson::Document & d)43void ChassisConnectorTorsion::Create(const rapidjson::Document& d) { 44 // Invoke base class method. 45 ChPart::Create(d); 46 47 // Read torsional stiffness 48 m_torsion_stiffness = d["Torsional Stiffness"].GetDouble(); 49 } 50 51 } // end namespace vehicle 52 } // end namespace chrono 53