ARGoS
3
A parallel, multi-engine simulator for swarm robotics
|
00001 00007 #ifndef OMNIDIRECTIONAL_CAMERA_EQUIPPED_ENTITY_H 00008 #define OMNIDIRECTIONAL_CAMERA_EQUIPPED_ENTITY_H 00009 00010 namespace argos { 00011 class COmnidirectionalCameraEquippedEntity; 00012 class CEmbodiedEntity; 00013 } 00014 00015 #include <argos3/core/simulator/entity/entity.h> 00016 #include <argos3/core/utility/math/vector3.h> 00017 #include <argos3/core/utility/math/quaternion.h> 00018 00019 namespace argos { 00020 00021 class COmnidirectionalCameraEquippedEntity : public CEntity { 00022 00023 public: 00024 00025 ENABLE_VTABLE(); 00026 00027 public: 00028 00034 COmnidirectionalCameraEquippedEntity(CComposableEntity* pc_parent); 00035 00046 COmnidirectionalCameraEquippedEntity(CComposableEntity* pc_parent, 00047 const std::string& str_id, 00048 const CRadians& c_aperture, 00049 const CVector3& c_offset); 00050 00055 virtual void Init(TConfigurationNode& t_tree); 00056 00061 inline const CVector3& GetOffset() const { 00062 return m_cOffset; 00063 } 00064 00069 inline void SetOffset(const CVector3& c_offset) { 00070 m_cOffset = c_offset; 00071 } 00072 00077 inline const CRadians& GetAperture() const { 00078 return m_cAperture; 00079 } 00080 00085 inline void SetAperture(const CRadians& c_aperture) { 00086 m_cAperture = c_aperture; 00087 } 00088 00089 virtual std::string GetTypeDescription() const { 00090 return "omnidirectional_camera"; 00091 } 00092 00093 private: 00094 00096 CRadians m_cAperture; 00097 00099 CVector3 m_cOffset; 00100 00101 }; 00102 } 00103 00104 #endif