Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

RmCamera Class Reference

Camera. More...

#include <RmEffect.h>

Inheritance diagram for RmCamera:

RmNode List of all members.

Public Member Functions

 RmCamera ()
 Default Constructor.

virtual ~RmCamera ()
 Destructor.

virtual void Update (RmNodeUpdateType nodeUpdateType, RmNode *pRmUpdateRootNode)
 Update.

virtual bool LoadXMLData (int hDoc, const RM_TCHAR *strXPath, const RM_TCHAR *strRmXMLVersion)
 Load node data from XML.

virtual bool SaveXMLData (int hDoc, const RM_TCHAR *strXPath)
 Save node data to XML.

virtual RmNodeClone (bool bIncludeLoadedData)
 Clone this node.

virtual const RM_TCHAR * GetDescription ()
void SetPosition (RmVector3D &pNewPosition)
 Set position.

void SetPosition (float x, float y, float z)
 Set position.

void SetLookAt (RmVector3D &pNewLookAt)
 Set loook at.

void SetLookAt (float x, float y, float z)
 Set loook at.

void SetUp (RmVector3D &pNewUp)
 Set up direction.

void SetUp (float x, float y, float z)
 Set up direction.

void SetFOV (float fFOV)
 Set field of view.

void SetNearClipPlane (float fNearClipPlane)
 Set near plane.

void SetFarClipPlane (float fFarClipPlane)
 Set far clip plane.

RmVector3D GetPosition ()
 Get position.

RmVector3D GetLookAtPosition ()
 Get look-at position.

RmVector3D GetUp ()
 Camera up vector.

RmVector3D GetLookAt ()
 Camera look-at vector.

RmVector3D GetCross ()
 Camera cross vector.

float GetFOV ()
 Field of view.

float GetNearClipPlane ()
 Near clip plane.

float GetFarClipPlane ()
 Far clip plane.

void SetCameraParameters (const RmMatrix4x4 &mat, bool bSetLookAt)
 Set parameters from matrix.

RmMatrix4x4 GetCameraMatrix ()
 Camera transformation matrix.


Protected Member Functions

virtual void CopyNodeData (RmNode *pDestinationNode, bool bIncludeLoadedData)
 Copy node data.

virtual RmNodeTypeChildRuleListGetNodeTypeChildRuleList ()
 Parent / Child rule list function.

virtual void SetNodeTypeChildRuleList (RmNodeTypeChildRuleList *pRmNodeChildRuleList)
 Sets the node child rule list for the given node.


Protected Attributes

RmVector3D m_cameraPosition
 Camera position.

RmVector3D m_lookAtVector
 Look at position.

RmVector3D m_upVector
 Up vector.

float m_fFOV
 Field of view in degree.

float m_fNearClipPlane
 Near clip plane.

float m_fFarClipPlane
 Far clip plane.

RmProjectionMode m_projectionMode

Detailed Description

Camera.

Stores settings for the camera for each draw call (pass) rendering. It can be shared between multiple draw calls or tied to the manipulations of the trackball in the preview window (if it's the active camera for the effect).


Constructor & Destructor Documentation

RmCamera::RmCamera  ) 
 

Default Constructor.

Default constructor

virtual RmCamera::~RmCamera  )  [inline, virtual]
 

Destructor.

Destructor


Member Function Documentation

virtual RmNode* RmCamera::Clone bool  bIncludeLoadedData  )  [virtual]
 

Clone this node.

Creates a clone of this node

Returns:
Cloned node. Returns NULL if cloning failed.

Reimplemented from RmNode.

virtual void RmCamera::CopyNodeData RmNode pDestinationNode,
bool  bIncludeLoadedData
[protected, virtual]
 

Copy node data.

Copies this node's contents (not including children) into the destination node. See RmNode::CopyNodeData for details

Parameters:
pDestinationNode the destination node
Returns:
None

Reimplemented from RmNode.

RmMatrix4x4 RmCamera::GetCameraMatrix  ) 
 

Camera transformation matrix.

Retrieve the matrix that represents view transformation for this camera node

Returns:
Camera matrix
See also:
RmMatrix4x4

RmVector3D RmCamera::GetCross  ) 
 

Camera cross vector.

Retrieve the cross vector for the camera up and camera look-at vectors

Returns:
Crosss direction
See also:
RmVector3D

virtual const RM_TCHAR* RmCamera::GetDescription  )  [virtual]
 

Returns description of the node: used for displaying a tooltip in the workspace tree view for the given node.

Returns:
Returns description string

Reimplemented from RmNode.

float RmCamera::GetFarClipPlane  )  [inline]
 

Far clip plane.

Retrieve the value for the far clip plane

Returns:
Far clip plane distance

float RmCamera::GetFOV  )  [inline]
 

Field of view.

Get field of view angle value for the camera (in degrees)

Returns:
FOV in degrees (angle)

RmVector3D RmCamera::GetLookAt  ) 
 

Camera look-at vector.

Retrieve the look-at vector for the given camera node

Returns:
Look direction
See also:
RmVector3D

RmVector3D RmCamera::GetLookAtPosition  )  [inline]
 

Get look-at position.

Get look-at position for the camera

Returns:
Look-at position
See also:
RmVector3D

float RmCamera::GetNearClipPlane  )  [inline]
 

Near clip plane.

Retrieve the value for the near clip plane

Returns:
Near clip plane distance

virtual RmNodeTypeChildRuleList* RmCamera::GetNodeTypeChildRuleList  )  [inline, protected, virtual]
 

Parent / Child rule list function.

Retrieves the rule list for adding child nodes for a given node type

Returns:
Returns node type child list rules

Reimplemented from RmNode.

RmVector3D RmCamera::GetPosition  )  [inline]
 

Get position.

Get position of camera

Returns:
Position of camera
See also:
RmVector3D

RmVector3D RmCamera::GetUp  ) 
 

Camera up vector.

Retrieve the up vector for the camera node

Returns:
Up direction
See also:
RmVector3D

virtual bool RmCamera::LoadXMLData int  hDoc,
const RM_TCHAR *  strXPath,
const RM_TCHAR *  strRmXMLVersion
[virtual]
 

Load node data from XML.

Loads versioned XML node data. Note that this method will only load the contents of each node, not the data for all of the children nodes. Each child will have its own XML loading function called by the API.

Parameters:
hDoc Handle to the XML document
strXPath Node path in XML
strRmXMLVersion XML version
Returns:
True if load succeeded. False otherwise.

Reimplemented from RmNode.

virtual bool RmCamera::SaveXMLData int  hDoc,
const RM_TCHAR *  strXPath
[virtual]
 

Save node data to XML.

Saves node's contents to XML. Note that this method will only save the contents of each node, not the data for all of the children nodes. Each child will have its own XML saving function called by the API.

Parameters:
hDoc Handle to the XML document
strXPath Node path in XML
Returns:
True if save succeeded. False otherwise.

Reimplemented from RmNode.

void RmCamera::SetCameraParameters const RmMatrix4x4 mat,
bool  bSetLookAt
 

Set parameters from matrix.

Set parameters for the camera matrix given a view transformation matrix

Parameters:
mat Matrix
See also:
RmMatrix4x4
Parameters:
bSetLookAt Flag to set LookAt position
Returns:
None

void RmCamera::SetFarClipPlane float  fFarClipPlane  )  [inline]
 

Set far clip plane.

Set far clip plane

Parameters:
fFarClipPlane Far clip plane
Returns:
None

void RmCamera::SetFOV float  fFOV  )  [inline]
 

Set field of view.

Set field of view for camera

Parameters:
fFOV Field of view in angle ( degree )
Returns:
None

void RmCamera::SetLookAt float  x,
float  y,
float  z
[inline]
 

Set loook at.

Set look at position of camera

Parameters:
x x position
y y position
z z position
Returns:
None

void RmCamera::SetLookAt RmVector3D pNewLookAt  )  [inline]
 

Set loook at.

Set look at position of camera

Parameters:
pNewLookAt Look at position
See also:
RmVector3D
Returns:
None

void RmCamera::SetNearClipPlane float  fNearClipPlane  )  [inline]
 

Set near plane.

Set near clip plane

Parameters:
fNearClipPlane Near clip plane
Returns:
None

virtual void RmCamera::SetNodeTypeChildRuleList RmNodeTypeChildRuleList pRmNodeChildRuleList  )  [inline, protected, virtual]
 

Sets the node child rule list for the given node.

Sets the child addition rule list for the given node.

Parameters:
pRmNodeChildRuleList new node rules list
None 

Reimplemented from RmNode.

void RmCamera::SetPosition float  x,
float  y,
float  z
[inline]
 

Set position.

Set position of camera

Parameters:
x x position
y y position
z z position
Returns:
None

void RmCamera::SetPosition RmVector3D pNewPosition  )  [inline]
 

Set position.

Set position of camera

Parameters:
pNewPosition Position of camera
See also:
RmVector3D
Returns:
None

void RmCamera::SetUp float  x,
float  y,
float  z
[inline]
 

Set up direction.

Set up direction of camera

Parameters:
x x direction
y y direction
z z direction
Returns:
None

void RmCamera::SetUp RmVector3D pNewUp  )  [inline]
 

Set up direction.

Set up direction of camera

Parameters:
pNewUp Up direction
See also:
RmVector3D
Returns:
None

virtual void RmCamera::Update RmNodeUpdateType  nodeUpdateType,
RmNode pRmUpdateRootNode
[virtual]
 

Update.

Updates the internal values of the node

Parameters:
nodeUpdateType Update type
See also:
RmNodeUpdateType
Parameters:
pRmUpdateRootNode Root node for update
Returns:
None

Reimplemented from RmNode.


The documentation for this class was generated from the following file:
Generated on Fri Feb 25 16:08:55 2005 for RenderMonkey SDK by doxygen 1.3.6