argos::CPointMass3DQuadRotorModel Class Reference

#include <pointmass3d_quadrotor_model.h>

Inheritance diagram for argos::CPointMass3DQuadRotorModel:
Collaboration diagram for argos::CPointMass3DQuadRotorModel:

Public Member Functions

 CPointMass3DQuadRotorModel (CPointMass3DEngine &c_engine, CEmbodiedEntity &c_body, CQuadRotorEntity &c_quadrotor, Real f_body_height, Real f_arm_length, Real f_body_mass, Real f_body_inertia, const CVector3 &c_pos_kp, const CVector3 &c_pos_kd, Real f_yaw_kp, Real f_yaw_kd, const CVector3 &c_vel_kp, const CVector3 &c_vel_kd, Real f_rot_kp, Real f_rot_kd, const CVector3 &c_max_force=CVector3(1000.0f, 1000.0f, 1000.0f), Real f_max_torque=1000.0f)
 
virtual ~CPointMass3DQuadRotorModel ()
 
virtual void Reset ()
 
virtual void UpdateFromEntityStatus ()
 Updates the state of this model from the status of the associated entity. More...
 
virtual void Step ()
 
virtual void CalculateBoundingBox ()
 Calculates the axis-aligned box that contains the entire physics model. More...
 
virtual bool CheckIntersectionWithRay (Real &f_t_on_ray, const CRay3 &c_ray) const
 
virtual void UpdateOriginAnchor (SAnchor &s_anchor)
 Updates the origin anchor associated to the embodied entity. More...
 
- Public Member Functions inherited from argos::CPointMass3DModel
 CPointMass3DModel (CPointMass3DEngine &c_engine, CEmbodiedEntity &c_entity)
 
virtual ~CPointMass3DModel ()
 
virtual void MoveTo (const CVector3 &c_position, const CQuaternion &c_orientation)
 
virtual bool IsCollidingWithSomething () const
 Returns true if this model is colliding with another model. More...
 
CPointMass3DEngineGetPM3DEngine ()
 Returns a reference to the physics engine controlling this model. More...
 
const CPointMass3DEngineGetPM3DEngine () const
 Returns a const reference to the physics engine controlling this model. More...
 
- Public Member Functions inherited from argos::CPhysicsModel
 CPhysicsModel (CPhysicsEngine &c_engine, CEmbodiedEntity &c_entity)
 
virtual ~CPhysicsModel ()
 
CPhysicsEngineGetEngine ()
 Returns the physics engine associated to this physics model. More...
 
CEmbodiedEntityGetEmbodiedEntity ()
 Returns the embodied entity associated to this physics model. More...
 
const CEmbodiedEntityGetEmbodiedEntity () const
 Returns the embodied entity associated to this physics model. More...
 
virtual void UpdateEntityStatus ()
 Updates the status of the associated entity. More...
 
const SBoundingBoxGetBoundingBox () const
 Returns an axis-aligned box that contains the physics model. More...
 
virtual void CalculateAnchors ()
 Calculates the anchors associated to this model. More...
 
SBoundingBoxGetBoundingBox ()
 Returns an axis-aligned box that contains the physics model. More...
 
template<typename MODEL >
void RegisterAnchorMethod (const SAnchor &s_anchor, void(MODEL::*pt_method)(SAnchor &))
 Registers an anchor method. More...
 

Additional Inherited Members

- Public Types inherited from argos::CPointMass3DModel
typedef std::map< std::string, CPointMass3DModel * > TMap
 
- Public Types inherited from argos::CPhysicsModel
typedef std::map< std::string, CPhysicsModel * > TMap
 
typedef std::vector< CPhysicsModel * > TVector
 
- Protected Attributes inherited from argos::CPointMass3DModel
CPointMass3DEnginem_cPM3DEngine
 Reference to the physics engine. More...
 
CVector3 m_cPosition
 The position of the model in this engine. More...
 
CVector3 m_cVelocity
 The linear velocity of this model in the engine. More...
 
CVector3 m_cAcceleration
 The acceleration of this model in the engine. More...
 

Detailed Description

Definition at line 22 of file pointmass3d_quadrotor_model.h.

Constructor & Destructor Documentation

argos::CPointMass3DQuadRotorModel::CPointMass3DQuadRotorModel ( CPointMass3DEngine c_engine,
CEmbodiedEntity c_body,
CQuadRotorEntity c_quadrotor,
Real  f_body_height,
Real  f_arm_length,
Real  f_body_mass,
Real  f_body_inertia,
const CVector3 c_pos_kp,
const CVector3 c_pos_kd,
Real  f_yaw_kp,
Real  f_yaw_kd,
const CVector3 c_vel_kp,
const CVector3 c_vel_kd,
Real  f_rot_kp,
Real  f_rot_kd,
const CVector3 c_max_force = CVector3(1000.0f, 1000.0f, 1000.0f),
Real  f_max_torque = 1000.0f 
)

Definition at line 26 of file pointmass3d_quadrotor_model.cpp.

virtual argos::CPointMass3DQuadRotorModel::~CPointMass3DQuadRotorModel ( )
inlinevirtual

Definition at line 44 of file pointmass3d_quadrotor_model.h.

Member Function Documentation

void argos::CPointMass3DQuadRotorModel::CalculateBoundingBox ( )
virtual

Calculates the axis-aligned box that contains the entire physics model.

The bounding box is often called AABB.

Implements argos::CPhysicsModel.

Definition at line 136 of file pointmass3d_quadrotor_model.cpp.

bool argos::CPointMass3DQuadRotorModel::CheckIntersectionWithRay ( Real f_t_on_ray,
const CRay3 c_ray 
) const
virtual

Implements argos::CPointMass3DModel.

Definition at line 150 of file pointmass3d_quadrotor_model.cpp.

void argos::CPointMass3DQuadRotorModel::Reset ( )
virtual

Reimplemented from argos::CPointMass3DModel.

Definition at line 71 of file pointmass3d_quadrotor_model.cpp.

void argos::CPointMass3DQuadRotorModel::Step ( )
virtual

Implements argos::CPointMass3DModel.

Definition at line 89 of file pointmass3d_quadrotor_model.cpp.

void argos::CPointMass3DQuadRotorModel::UpdateFromEntityStatus ( )
virtual

Updates the state of this model from the status of the associated entity.

This method takes the current state of the associated entity (e.g., desired wheel speed, turret rotationss, etc.) and updates the state of this model. Typically, in this method you apply forces and set speeds.

Implements argos::CPointMass3DModel.

Definition at line 82 of file pointmass3d_quadrotor_model.cpp.

void argos::CPointMass3DQuadRotorModel::UpdateOriginAnchor ( SAnchor s_anchor)
virtual

Updates the origin anchor associated to the embodied entity.

Reimplemented from argos::CPointMass3DModel.

Definition at line 236 of file pointmass3d_quadrotor_model.cpp.