chrono::vehicle::FlatTerrain Class Reference

Description

Concrete class for a flat horizontal terrain.

This class implements a terrain modeled as an infinite horizontal plane at a specified height. This type of terrain can be used in conjunction with tire models that perform their own collision detection (e.g. ChPacejkaTire, ChFiala, and ChLugreTire).

#include <FlatTerrain.h>

Inheritance diagram for chrono::vehicle::FlatTerrain:
Collaboration diagram for chrono::vehicle::FlatTerrain:

Public Member Functions

 FlatTerrain (double height, float friction=0.8f)
 
virtual double GetHeight (double x, double y) const override
 Get the terrain height at the specified (x,y) location. More...
 
virtual ChVector GetNormal (double x, double y) const override
 Get the terrain normal at the specified (x,y) location. More...
 
virtual float GetCoefficientFriction (double x, double y) const override
 Get the terrain coefficient of friction at the specified (x,y) location. More...
 
- Public Member Functions inherited from chrono::vehicle::ChTerrain
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.
 
void RegisterFrictionFunctor (FrictionFunctor *functor)
 Specify the functor object to provide the coefficient of friction at given (x,y) locations.
 

Additional Inherited Members

- Protected Attributes inherited from chrono::vehicle::ChTerrain
FrictionFunctorm_friction_fun
 functor for location-dependent coefficient of friction
 

Constructor & Destructor Documentation

chrono::vehicle::FlatTerrain::FlatTerrain ( double  height,
float  friction = 0.8f 
)
Parameters
[in]heightterrain height
[in]frictionterrain coefficient of friction

Member Function Documentation

float chrono::vehicle::FlatTerrain::GetCoefficientFriction ( double  x,
double  y 
) const
overridevirtual

Get the terrain coefficient of friction at the specified (x,y) 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). For FlatTerrain, this function defers to the user-provided functor object of type ChTerrain::FrictionFunctor, if one was specified. Otherwise, it returns the constant value specified at construction.

Implements chrono::vehicle::ChTerrain.

virtual double chrono::vehicle::FlatTerrain::GetHeight ( double  x,
double  y 
) const
overridevirtual

Get the terrain height at the specified (x,y) location.

Returns the constant value passed at construction.

Implements chrono::vehicle::ChTerrain.

virtual ChVector chrono::vehicle::FlatTerrain::GetNormal ( double  x,
double  y 
) const
overridevirtual

Get the terrain normal at the specified (x,y) location.

Returns a constant unit vector along the Z axis.

Implements chrono::vehicle::ChTerrain.