DUNE: Uniform Navigational Environment  2016.05.0
Simulators::VSIM::Vehicle Class Reference

Detailed Description

Vehicle general properties.

Public Member Functions

 Vehicle (void)
 
virtual ~Vehicle (void)
 
void addForce (Force *force)
 
void addEngine (Engine *engine)
 
void applyControlForces (void)
 
void applyForces (void)
 
void updateact (unsigned int id, double act)
 
void updateEngine (unsigned int id, double act)
 
virtual void setAddedMassCoef (double coefs[6])
 
virtual void setBodyLiftCoef (double coefs[8])
 
- Public Member Functions inherited from Simulators::VSIM::Object
 Object (void)
 
virtual ~Object (void)
 
void setMassProp (double m, double inertia[6])
 
void setLinearDragCoef (double coefs[10])
 
void setQuadraticDragCoef (double coefs[10])
 
void setIntegrationMethod (bool method)
 
virtual void insertInWorld (void)
 
virtual void setPosition (double x, double y, double z)
 
virtual void setOrientation (double roll, double pitch, double yaw)
 
double * getPosition (void)
 
double * getOrientation (void)
 
double * getLinearVelocity (void)
 
double * getAngularVelocity (void)
 
void applyDragForces (void)
 
void addForces (double X, double Y, double Z, double P, double Q, double R)
 
void resetForces (void)
 
void update (double timestep)
 

Public Attributes

std::list< Force * > m_vehicle_forces
 

Additional Inherited Members

- Public Types inherited from Simulators::VSIM::Object
enum  Type {
  OBJECT, VEHICLE, UUV, UAV,
  USV, UGV
}
 
- Protected Attributes inherited from Simulators::VSIM::Object
double m_mass
 
double m_inertia [6]
 
double m_position [3]
 
double m_orientation [3]
 
double m_linear_velocity [3]
 
double m_angular_velocity [3]
 

Constructor & Destructor Documentation

Simulators::VSIM::Vehicle::Vehicle ( void  )

Constructor.

Simulators::VSIM::Vehicle::~Vehicle ( void  )
virtual

Destructor.

References m_vehicle_forces.

Member Function Documentation

void Simulators::VSIM::Vehicle::addEngine ( Engine engine)

Add Engine.

Parameters
[in]enginenew engine.

References addForce().

void Simulators::VSIM::Vehicle::addForce ( Force force)

Add a force.

Parameters
[in]forcenew force.

References m_vehicle_forces.

Referenced by addEngine(), Simulators::VSIM::UUV::addFin(), and Simulators::VSIM::Factory::produceVehicle().

void Simulators::VSIM::Vehicle::applyControlForces ( void  )
void Simulators::VSIM::Vehicle::applyForces ( void  )
virtual

Applies all vehicle's forces.

Reimplemented from Simulators::VSIM::Object.

References applyControlForces(), and Simulators::VSIM::Object::applyDragForces().

void Simulators::VSIM::Vehicle::setAddedMassCoef ( double  coefs[6])
virtual

Set added mass coefficient (for UUVs).

Parameters
[in]coefsadded mass matrix coefficients.

Reimplemented in Simulators::VSIM::UUV.

Referenced by Simulators::VSIM::Factory::produceVehicle().

void Simulators::VSIM::Vehicle::setBodyLiftCoef ( double  coefs[8])
virtual

Set body lift matrix (for UUVs).

Parameters
[in]coefsbody lift matrix coefficients.

Reimplemented in Simulators::VSIM::UUV.

Referenced by Simulators::VSIM::Factory::produceVehicle().

void Simulators::VSIM::Vehicle::updateact ( unsigned int  id,
double  act 
)

Updates actuation.

Parameters
[in]idactuation id.
[in]actnew actuation value.

References m_vehicle_forces.

Referenced by updateEngine(), and Simulators::VSIM::UUV::updateFin().

void Simulators::VSIM::Vehicle::updateEngine ( unsigned int  id,
double  act 
)

Updates a engine's actuation.

Parameters
[in]idengine id.
[in]actnew engine actuation value.

References Simulators::VSIM::Engine::encodeId(), and updateact().

Referenced by Simulators::VSIM::Task::consume().

Member Data Documentation

std::list<Force*> Simulators::VSIM::Vehicle::m_vehicle_forces
Collaboration diagram for Simulators::VSIM::Vehicle:
Collaboration graph