5#ifndef __I_CAMERA_SCENE_NODE_H_INCLUDED__
6#define __I_CAMERA_SCENE_NODE_H_INCLUDED__
Interface of an object which can receive events.
4x4 matrix. Mostly used as transformation matrix for 3d calculations.
Provides a generic interface for attributes and their values and the possiblity to serialize them.
virtual bool getAttributeAsBool(const c8 *attributeName)=0
virtual void addBool(const c8 *attributeName, bool value)=0
Adds an attribute as bool.
virtual s32 findAttribute(const c8 *attributeName) const =0
Returns attribute index from name, -1 if not found.
Scene Node which is a (controlable) camera.
virtual void setProjectionMatrix(const core::matrix4 &projection, bool isOrthogonal=false)=0
Sets the projection matrix of the camera.
virtual void serializeAttributes(io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const
Writes attributes of the camera node.
virtual void deserializeAttributes(io::IAttributes *in, io::SAttributeReadWriteOptions *options=0)
Reads attributes of the camera node.
virtual bool isInputReceiverEnabled() const =0
Checks if the input receiver of the camera is currently enabled.
virtual const core::vector3df & getTarget() const =0
Gets the current look at target of the camera.
virtual void setUpVector(const core::vector3df &pos)=0
Sets the up vector of the camera.
virtual const core::matrix4 & getViewMatrixAffector() const =0
Get the custom view matrix affector.
virtual bool getTargetAndRotationBinding(void) const =0
Queries if the camera scene node's rotation and its target position are bound together.
virtual void setFOV(f32 fovy)=0
Sets the field of view (Default: PI / 2.5f)
virtual const core::vector3df & getUpVector() const =0
Gets the up vector of the camera.
virtual void setInputReceiverEnabled(bool enabled)=0
Disables or enables the camera to get key or mouse inputs.
virtual void setAspectRatio(f32 aspect)=0
Sets the aspect ratio (default: 4.0f / 3.0f)
virtual bool isOrthogonal() const
Checks if a camera is orthogonal.
void cloneMembers(ICameraSceneNode *toCopyFrom)
virtual void setTarget(const core::vector3df &pos)=0
Sets the look at target of the camera.
virtual const core::matrix4 & getProjectionMatrix() const =0
Gets the current projection matrix of the camera.
virtual f32 getFarValue() const =0
Gets the value of the far plane of the camera.
ICameraSceneNode(ISceneNode *parent, ISceneManager *mgr, s32 id, const core::vector3df &position=core::vector3df(0, 0, 0), const core::vector3df &rotation=core::vector3df(0, 0, 0), const core::vector3df &scale=core::vector3df(1.0f, 1.0f, 1.0f))
Constructor.
virtual f32 getFOV() const =0
Gets the field of view of the camera.
virtual void setNearValue(f32 zn)=0
Sets the value of the near clipping plane. (default: 1.0f)
virtual void setFarValue(f32 zf)=0
Sets the value of the far clipping plane (default: 2000.0f)
virtual const core::matrix4 & getViewMatrix() const =0
Gets the current view matrix of the camera.
virtual void bindTargetAndRotation(bool bound)=0
Binds the camera scene node's rotation to its target position and vice vera, or unbinds them.
virtual void setViewMatrixAffector(const core::matrix4 &affector)=0
Sets a custom view matrix affector.
virtual const SViewFrustum * getViewFrustum() const =0
Get the view frustum.
virtual f32 getAspectRatio() const =0
Gets the aspect ratio of the camera.
virtual f32 getNearValue() const =0
Gets the value of the near plane of the camera.
virtual bool OnEvent(const SEvent &event)=0
It is possible to send mouse and key events to the camera.
virtual void setRotation(const core::vector3df &rotation)=0
Sets the rotation of the node.
The Scene Manager manages scene nodes, mesh recources, cameras and all the other stuff.
virtual void serializeAttributes(io::IAttributes *out, io::SAttributeReadWriteOptions *options=0) const
Writes attributes of the scene node.
virtual void deserializeAttributes(io::IAttributes *in, io::SAttributeReadWriteOptions *options=0)
Reads attributes of the scene node.
#define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX
Defines a small statement to work around a microsoft compiler bug.
Everything in the Irrlicht Engine can be found in this namespace.
float f32
32 bit floating point variable.
signed int s32
32 bit signed variable.
SEvents hold information about an event. See irr::IEventReceiver for details on event handling.
struct holding data describing options
Defines the view frustum. That's the space visible by the camera.