18 #ifndef _GAZEBO_RENDERING_WIDEANGLECAMERA_HH_    19 #define _GAZEBO_RENDERING_WIDEANGLECAMERA_HH_    35 #include "gazebo/msgs/MessageTypes.hh"    52     class WideAngleCamera;
    53     class CameraLensPrivate;
    54     class WideAngleCameraPrivate;
    73       public: 
void Init(
const double _c1, 
const double _c2,
    74                         const std::string &_fun, 
const double _f,
    79       public: 
void Init(
const std::string &_name);
    83       public: 
void Load(sdf::ElementPtr _sdf);
    90       public: std::string Type() 
const;
    94       public: 
bool IsCustom() 
const;
    98       public: 
double C1() 
const;
   102       public: 
double C2() 
const;
   106       public: 
double C3() 
const;
   110       public: 
double F() 
const;
   114       public: std::string Fun() 
const;
   118       public: 
double CutOffAngle() 
const;
   122       public: 
bool ScaleToHFOV() 
const;
   126       public: 
void SetType(
const std::string &_type);
   130       public: 
void SetC1(
const double _c);
   134       public: 
void SetC2(
const double _c);
   138       public: 
void SetC3(
const double _c);
   142       public: 
void SetF(
const double _f);
   146       public: 
void SetFun(
const std::string &_fun);
   150       public: 
void SetCutOffAngle(
const double _angle);
   155       public: 
void SetScaleToHFOV(
const bool _scale);
   162       public: 
void SetUniformVariables(Ogre::Pass *_pass, 
const float _ratio,
   167       private: 
void ConvertToCustom();
   171       private: std::unique_ptr<CameraLensPrivate> dataPtr;
   178         protected Ogre::CompositorInstance::Listener
   187                               const bool _autoRender = 
true,
   188                               const int _textureSize = 256);
   194       public: 
void Init() 
override;
   197       public: 
void Load() 
override;
   200       public: 
virtual void Fini() 
override;
   204       public: 
int EnvTextureSize() 
const;
   211       public: 
void SetRenderTarget(Ogre::RenderTarget *_target) 
override;
   215       public: 
void SetEnvTextureSize(
const int _size);
   218       protected: 
void CreateEnvCameras();
   221       public: 
void SetClipDist() 
override;
   225       protected: 
void CreateEnvRenderTexture(
const std::string &_textureName);
   228       protected: 
void RenderImpl() 
override;
   234       protected: 
void notifyMaterialRender(Ogre::uint32 _pass_id,
   235         Ogre::MaterialPtr &_material) 
override;
   239       private: std::unique_ptr<WideAngleCameraPrivate> dataPtr;
 Basic camera sensor. 
Definition: Camera.hh:85
 
Camera with variable mapping function. 
Definition: WideAngleCamera.hh:176
 
Forward declarations for the common classes. 
Definition: Animation.hh:33
 
Describes a lens of a camera as amapping function of type r = c1*f*fun(theta/c2+c3) ...
Definition: WideAngleCamera.hh:59
 
boost::shared_ptr< Scene > ScenePtr
Definition: RenderTypes.hh:80
 
GAZEBO_VISIBLE void Init(google::protobuf::Message &_message, const std::string &_id="")
Initialize a message. 
 
#define GAZEBO_VISIBLE
Use to represent "symbol visible" if supported. 
Definition: system.hh:59