Base class definition of the Viper Rover Part.

Viper Rover Parts include Chassis, Steering, Upper Suspension Arm, Bottom Suspension Arm and Wheel. This class encapsulates base fields and functions.

#include <Viper.h>

Inheritance diagram for chrono::viper::Viper_Part:
Collaboration diagram for chrono::viper::Viper_Part:

Public Member Functions

 Viper_Part (const std::string &name, bool fixed, std::shared_ptr< ChMaterialSurface > mat, ChSystem *system, const ChVector<> &body_pos, const ChQuaternion<> &body_rot, std::shared_ptr< ChBodyAuxRef > chassis_body, bool collide)
const std::string & GetName () const
 Return the name of the part.
void SetName (const std::string &name)
 Set the name of the part.
std::shared_ptr< ChBodyAuxRefGetBody () const
 Return the ChBody of the corresponding Viper part.
std::shared_ptr< ChBodyAuxRefGetChassis () const
 Return the ChBody of the chassis wrt the Viper part.
const ChVectorGetPos () const
 Return the Position of the Viper part.
const ChQuaternionGetRot () const
 Return the Rotation of the Viper part.

Protected Member Functions

void AddVisualizationAssets ()
 Initialize the visulization mesh of the Viper part.
void AddCollisionShapes ()
 Initialize the collision mesh of the Viper part.
void SetCollide (bool state)
 Enable/disable collision.

Protected Attributes

std::string m_name
 subsystem name
std::shared_ptr< ChBodyAuxRefm_body
 rigid body
std::shared_ptr< ChMaterialSurfacem_mat
 contact material (shared among all shapes)
std::string m_mesh_name
 visualization mesh name
ChVector m_offset
 offset for visualization mesh
ChColor m_color
 visualization asset color
 system which Viper Part belongs to
std::shared_ptr< ChBodyAuxRefm_chassis
 the chassis body for the rover
ChVector m_pos
 Viper part's relative position wrt the chassis.
ChQuaternion m_rot
 Viper part's relative rotation wrt the chassis.
double m_density
 Viper part's density.
bool m_collide
 Viper part's collision indicator.
bool m_fixed
 Viper part's fixed indication.

The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_models/robot/viper/Viper.h
  • /builds/uwsbel/chrono/src/chrono_models/robot/viper/Viper.cpp