DUNE: Uniform Navigational Environment
2017.01.0
|
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] |
Simulators::VSIM::Vehicle::Vehicle | ( | void | ) |
Constructor.
|
virtual |
Destructor.
References m_vehicle_forces.
void Simulators::VSIM::Vehicle::addEngine | ( | Engine * | engine | ) |
void Simulators::VSIM::Vehicle::addForce | ( | Force * | force | ) |
Add a force.
[in] | force | new force. |
References m_vehicle_forces.
Referenced by addEngine(), Simulators::VSIM::UUV::addFin(), and Simulators::VSIM::Factory::produceVehicle().
void Simulators::VSIM::Vehicle::applyControlForces | ( | void | ) |
Applies vehicle commands forces.
References Simulators::VSIM::Object::addForces(), Simulators::VSIM::Object::m_linear_velocity, Simulators::VSIM::Object::m_position, and m_vehicle_forces.
Referenced by applyForces(), and Simulators::VSIM::UUV::applyForces().
|
virtual |
Applies all vehicle's forces.
Reimplemented from Simulators::VSIM::Object.
References applyControlForces(), and Simulators::VSIM::Object::applyDragForces().
|
virtual |
Set added mass coefficient (for UUVs).
[in] | coefs | added mass matrix coefficients. |
Reimplemented in Simulators::VSIM::UUV.
Referenced by Simulators::VSIM::Factory::produceVehicle().
|
virtual |
Set body lift matrix (for UUVs).
[in] | coefs | body 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.
[in] | id | actuation id. |
[in] | act | new 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.
[in] | id | engine id. |
[in] | act | new engine actuation value. |
References Simulators::VSIM::Engine::encodeId(), and updateact().
Referenced by Simulators::VSIM::Task::consume().
std::list<Force*> Simulators::VSIM::Vehicle::m_vehicle_forces |
Engines/Fins vector.
Referenced by addForce(), applyControlForces(), updateact(), Simulators::VSIM::ASV::updateActuation(), and ~Vehicle().