17 #ifndef SDF_CAMERA_HH_ 
   18 #define SDF_CAMERA_HH_ 
   21 #include <ignition/math/Pose3.hh> 
   26 #include <sdf/sdf_config.h> 
   31   inline namespace SDF_VERSION_NAMESPACE {
 
   92     public: 
bool operator==(
const Camera &_alt) 
const;
 
   98     public: 
bool operator!=(
const Camera &_alt) 
const;
 
  116     public: std::string Name() 
const;
 
  120     public: 
void SetName(
const std::string &_name);
 
  124     public: ignition::math::Angle HorizontalFov() 
const;
 
  128     public: 
void SetHorizontalFov(
const ignition::math::Angle &_hfov);
 
  132     public: uint32_t ImageWidth() 
const;
 
  136     public: 
void SetImageWidth(uint32_t _width);
 
  140     public: uint32_t ImageHeight() 
const;
 
  144     public: 
void SetImageHeight(uint32_t _height);
 
  157     public: std::string PixelFormatStr() 
const;
 
  161     public: 
void SetPixelFormatStr(
const std::string &_fmt);
 
  165     public: uint32_t AntiAliasingValue() 
const;
 
  169     public: 
void SetAntiAliasingValue(uint32_t _antiAliasingValue);
 
  173     public: 
double DepthNearClip() 
const;
 
  177     public: 
void SetDepthNearClip(
double _near);
 
  181     public: 
double DepthFarClip() 
const;
 
  185     public: 
void SetDepthFarClip(
double _far);
 
  189     public: 
double NearClip() 
const;
 
  193     public: 
void SetNearClip(
double _near);
 
  197     public: 
void SetHasDepthCamera(
bool _camera);
 
  201     public: 
bool HasDepthCamera() 
const;
 
  207     public: 
void SetHasDepthNearClip(
bool _near);
 
  211     public: 
bool HasDepthNearClip() 
const;
 
  217     public: 
void SetHasDepthFarClip(
bool _far);
 
  221     public: 
bool HasDepthFarClip() 
const;
 
  225     public: 
double FarClip() 
const;
 
  229     public: 
void SetFarClip(
double _far);
 
  233     public: 
bool SaveFrames() 
const;
 
  237     public: 
void SetSaveFrames(
bool _save);
 
  241     public: 
const std::string &SaveFramesPath() 
const;
 
  245     public: 
void SetSaveFramesPath(
const std::string &_path);
 
  249     public: 
const Noise &ImageNoise() 
const;
 
  253     public: 
void SetImageNoise(
const Noise &_noise);
 
  257     public: 
double DistortionK1() 
const;
 
  261     public: 
void SetDistortionK1(
double _k1);
 
  265     public: 
double DistortionK2() 
const;
 
  269     public: 
void SetDistortionK2(
double _k2);
 
  273     public: 
double DistortionK3() 
const;
 
  277     public: 
void SetDistortionK3(
double _k3);
 
  281     public: 
double DistortionP1() 
const;
 
  285     public: 
void SetDistortionP1(
double _p1);
 
  289     public: 
double DistortionP2() 
const;
 
  293     public: 
void SetDistortionP2(
double _p2);
 
  297     public: 
const ignition::math::Vector2d &DistortionCenter() 
const;
 
  301     public: 
void SetDistortionCenter(
 
  302                 const ignition::math::Vector2d &_center) 
const;
 
  308     public: 
const ignition::math::Pose3d &Pose() 
const 
  315     public: 
void SetPose(
const ignition::math::Pose3d &_pose)
 
  321     public: 
const ignition::math::Pose3d &RawPose() 
const;
 
  326     public: 
void SetRawPose(
const ignition::math::Pose3d &_pose);
 
  332     public: 
const std::string &PoseRelativeTo() 
const;
 
  338     public: 
void SetPoseRelativeTo(
const std::string &_frame);
 
  345     public: 
const std::string &PoseFrame() 
const 
  353     public: 
void SetPoseFrame(
const std::string &_frame)
 
  362     public: std::string LensType() 
const;
 
  367     public: 
void SetLensType(
const std::string &_type);
 
  372     public: 
bool LensScaleToHfov() 
const;
 
  377     public: 
void SetLensScaleToHfov(
bool _scale);
 
  381     public: 
double LensC1() 
const;
 
  385     public: 
void SetLensC1(
double _c1);
 
  389     public: 
double LensC2() 
const;
 
  393     public: 
void SetLensC2(
double _c2);
 
  397     public: 
double LensC3() 
const;
 
  401     public: 
void SetLensC3(
double _c3);
 
  405     public: 
double LensFocalLength() 
const;
 
  409     public: 
void SetLensFocalLength(
double _f);
 
  414     public: 
const std::string &LensFunction() 
const;
 
  419     public: 
void SetLensFunction(
const std::string &_fun);
 
  424     public: ignition::math::Angle LensCutoffAngle() 
const;
 
  429     public: 
void SetLensCutoffAngle(
const ignition::math::Angle &_angle);
 
  434     public: 
int LensEnvironmentTextureSize() 
const;
 
  439     public: 
void SetLensEnvironmentTextureSize(
int _size);
 
  443     public: 
double LensIntrinsicsFx() 
const;
 
  447     public: 
void SetLensIntrinsicsFx(
double _fx);
 
  451     public: 
double LensIntrinsicsFy() 
const;
 
  455     public: 
void SetLensIntrinsicsFy(
double _fy);
 
  459     public: 
double LensIntrinsicsCx() 
const;
 
  463     public: 
void SetLensIntrinsicsCx(
double _cx);
 
  467     public: 
double LensIntrinsicsCy() 
const;
 
  471     public: 
void SetLensIntrinsicsCy(
double _cy);
 
  475     public: 
double LensIntrinsicsSkew() 
const;
 
  479     public: 
void SetLensIntrinsicsSkew(
double _s);
 
  485                 const std::string &_format);
 
  494     public: uint32_t VisibilityMask() 
const;
 
  498     public: 
void SetVisibilityMask(uint32_t _mask);
 
  501     private: CameraPrivate *dataPtr = 
nullptr;