Description
Base class for a terrain system.
#include <ChTerrain.h>
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< HeightFunctor > | m_height_fun |
functor for location-dependent terrain height | |
std::shared_ptr< NormalFunctor > | m_normal_fun |
functor for location-dependent terrain normal | |
std::shared_ptr< FrictionFunctor > | m_friction_fun |
functor for location-dependent coefficient of friction | |
Member Function Documentation
◆ GetCoefficientFriction()
|
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::CRGTerrain, chrono::vehicle::ObsModTerrain, chrono::vehicle::FEATerrain, chrono::vehicle::FlatTerrain, and chrono::vehicle::CRMTerrain.
◆ RegisterHeightFunctor()
|
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()
|
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