17 #ifndef IGNITION_RENDERING_CAMERA_HH_ 18 #define IGNITION_RENDERING_CAMERA_HH_ 22 #include <ignition/common/Event.hh> 23 #include <ignition/math/Matrix4.hh> 35 class IGNITION_RENDERING_VISIBLE
Camera :
47 public:
virtual unsigned int ImageWidth()
const = 0;
51 public:
virtual void SetImageWidth(
unsigned int _width) = 0;
55 public:
virtual unsigned int ImageHeight()
const = 0;
59 public:
virtual void SetImageHeight(
unsigned int _height) = 0;
64 public:
virtual PixelFormat ImageFormat()
const = 0;
68 public:
virtual void SetImageFormat(
PixelFormat _format) = 0;
72 public:
virtual unsigned int ImageMemorySize()
const = 0;
76 public:
virtual math::Angle HFOV()
const = 0;
80 public:
virtual void SetHFOV(
const math::Angle &_angle) = 0;
84 public:
virtual double AspectRatio()
const = 0;
90 public:
virtual void SetAspectRatio(
const double _ratio) = 0;
96 public:
virtual unsigned int AntiAliasing()
const = 0;
103 public:
virtual void SetAntiAliasing(
const unsigned int _aa) = 0;
107 public:
virtual double FarClipPlane()
const = 0;
111 public:
virtual void SetFarClipPlane(
const double _far) = 0;
115 public:
virtual double NearClipPlane()
const = 0;
119 public:
virtual void SetNearClipPlane(
const double _near) = 0;
124 public:
virtual void Render() = 0;
130 public:
virtual void PostRender() = 0;
137 public:
virtual void Update() = 0;
144 public:
virtual Image CreateImage()
const = 0;
152 public:
virtual void Capture(
Image &_image) = 0;
159 public:
virtual void Copy(
Image &_image)
const = 0;
166 public:
virtual bool SaveFrame(
const std::string &_name) = 0;
170 public:
virtual common::ConnectionPtr ConnectNewImageFrame(
171 NewFrameListener _listener) = 0;
179 public:
virtual math::Matrix4d ProjectionMatrix()
const = 0;
183 public:
virtual math::Matrix4d ViewMatrix()
const = 0;
197 public:
virtual void SetTrackTarget(
const NodePtr &_target,
198 const math::Vector3d &_offset = math::Vector3d::Zero,
199 const bool _worldFrame =
false) = 0;
203 public:
virtual NodePtr TrackTarget()
const = 0;
209 public:
virtual void SetTrackOffset(
const math::Vector3d &_offset) = 0;
214 public:
virtual math::Vector3d TrackOffset()
const = 0;
219 public:
virtual void SetTrackPGain(
const double _pGain) = 0;
223 public:
virtual double TrackPGain()
const = 0;
236 public:
virtual void SetFollowTarget(
const NodePtr &_target,
237 const math::Vector3d &_offset = math::Vector3d::Zero,
238 const bool _worldFrame =
false) = 0;
242 public:
virtual NodePtr FollowTarget()
const = 0;
248 public:
virtual void SetFollowOffset(
const math::Vector3d &_offset) = 0;
253 public:
virtual math::Vector3d FollowOffset()
const = 0;
258 public:
virtual void SetFollowPGain(
const double _pGain) = 0;
262 public:
virtual double FollowPGain()
const = 0;
Represents a scene sensor. The most obvious example is a camera, but it can be anything that generate...
Definition: Sensor.hh:29
Encapsulates a raw image buffer and relevant properties.
Definition: Image.hh:30
std::function< void(const void *, unsigned int, unsigned int, unsigned int, const std::string &)> NewFrameListener
Callback function for new frame render event listeners.
Definition: Camera.hh:40
PixelFormat
Definition: PixelFormat.hh:29
virtual ~Camera()
Deconstructor.
Definition: Camera.hh:43
Posable camera used for rendering the scene graph.
Definition: Camera.hh:35
Definition: ArrowVisual.hh:22