Description

Base class for a terrain system.

#include <ChTerrain.h>

Inheritance diagram for chrono::vehicle::ChTerrain:

Classes

class  FrictionFunctor
 Class to be used as a functor interface for location-dependent coefficient of friction. More...
 
class  HeightFunctor
 Class to be used as a functor interface for location-dependent terrain height. More...
 
class  NormalFunctor
 Class to be used as a functor interface for location-dependent terrain normal. More...
 

Public Member Functions

virtual void Synchronize (double time)
 Update the state of the terrain system at the specified time.
 
virtual void Advance (double step)
 Advance the state of the terrain system by the specified duration.
 
virtual double GetHeight (const ChVector3d &loc) const
 Get the terrain height below the specified location.
 
virtual ChVector3d GetNormal (const ChVector3d &loc) const
 Get the terrain normal at the point below the specified location.
 
virtual float GetCoefficientFriction (const ChVector3d &loc) const
 Get the terrain coefficient of friction at the point below the specified location. More...
 
virtual void GetProperties (const ChVector3d &loc, double &height, ChVector3d &normal, float &friction) const
 Get all terrain characteristics at the point below the specified location.
 
void RegisterHeightFunctor (std::shared_ptr< HeightFunctor > functor)
 Specify the functor object to provide the terrain height at given locations. More...
 
void RegisterNormalFunctor (std::shared_ptr< NormalFunctor > functor)
 Specify the functor object to provide the terrain normal at given locations. More...
 
void RegisterFrictionFunctor (std::shared_ptr< FrictionFunctor > functor)
 Specify the functor object to provide the coefficient of friction at given locations.
 

Protected Attributes

std::shared_ptr< HeightFunctorm_height_fun
 functor for location-dependent terrain height
 
std::shared_ptr< NormalFunctorm_normal_fun
 functor for location-dependent terrain normal
 
std::shared_ptr< FrictionFunctorm_friction_fun
 functor for location-dependent coefficient of friction
 

Member Function Documentation

◆ GetCoefficientFriction()

float chrono::vehicle::ChTerrain::GetCoefficientFriction ( const ChVector3d loc) const
virtual

Get the terrain coefficient of friction at the point below the specified location.

This coefficient of friction value may be used by certain tire models to modify the tire characteristics, but it will have no effect on the interaction of the terrain with other objects (including tire models that do not explicitly use it).

Reimplemented in chrono::vehicle::RigidTerrain, chrono::vehicle::SCMTerrain, chrono::vehicle::RandomSurfaceTerrain, chrono::vehicle::GranularTerrain, chrono::vehicle::CRMTerrain, chrono::vehicle::CRGTerrain, chrono::vehicle::ObsModTerrain, chrono::vehicle::FEATerrain, and chrono::vehicle::FlatTerrain.

◆ RegisterHeightFunctor()

void chrono::vehicle::ChTerrain::RegisterHeightFunctor ( std::shared_ptr< HeightFunctor functor)
inline

Specify the functor object to provide the terrain height at given locations.

This is provided as a potential optimization mechanism (certain derived classes may choose to ignore it).

◆ RegisterNormalFunctor()

void chrono::vehicle::ChTerrain::RegisterNormalFunctor ( std::shared_ptr< NormalFunctor functor)
inline

Specify the functor object to provide the terrain normal at given locations.

This is provided as a potential optimization mechanism (certain derived classes may choose to ignore it).


The documentation for this class was generated from the following files:
  • /builds/uwsbel/chrono/src/chrono_vehicle/ChTerrain.h
  • /builds/uwsbel/chrono/src/chrono_vehicle/ChTerrain.cpp