1 // ============================================================================= 2 // PROJECT CHRONO - http://projectchrono.org 3 // 4 // Copyright (c) 2021 projectchrono.org 5 // All right 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 // Definition of an additional MPI node not directly involved in co-simulation. 16 // 17 // The global reference frame has Z up, X towards the front of the vehicle, and 18 // Y pointing to the left. 19 // 20 // ============================================================================= 21 22 #ifndef CH_VEHCOSIM_OTHER_NODE_H 23 #define CH_VEHCOSIM_OTHER_NODE_H 24 25 #include "chrono_vehicle/cosim/ChVehicleCosimBaseNode.h" 26 27 namespace chrono { 28 namespace vehicle { 29 30 /// @addtogroup vehicle_cosim 31 /// @{ 32 33 /// Definition of an additional MPI node not directly involved in co-simulation. 34 /// Such nodes can be used for distributed terrain simulation. 35 class ChVehicleCosimOtherNode : public ChVehicleCosimBaseNode { 36 public: ChVehicleCosimOtherNode()37 ChVehicleCosimOtherNode() : ChVehicleCosimBaseNode("other") {} ~ChVehicleCosimOtherNode()38 ~ChVehicleCosimOtherNode() {} 39 40 /// Return the node type as NodeType::TIRE. GetNodeType()41 virtual NodeType GetNodeType() const override final { return NodeType::TERRAIN; } 42 43 /// Synchronize this node. Synchronize(int step_number,double time)44 virtual void Synchronize(int step_number, double time) override final {} 45 46 /// Advance simulation. Advance(double step_size)47 virtual void Advance(double step_size) override final {} 48 49 /// Output logging and debugging data. OutputData(int frame)50 virtual void OutputData(int frame) override final {} 51 52 /// Output post-processing visualization data. OutputVisualizationData(int frame)53 virtual void OutputVisualizationData(int frame) override final {} 54 }; 55 56 /// @} vehicle_cosim 57 58 } // end namespace vehicle 59 } // end namespace chrono 60 61 #endif 62