Dag node class for cameras.
Synopsis
#include <AlCameraNode.h>
class AlCameraNode : public AlDagNode
virtual ~AlCameraNode();
virtual AlObject* copyWrapper() const;
virtual statusCode deleteObject();
virtual AlObjectType type() const;
virtual boolean isInstanceable();
boolean isEyeNode() const;
boolean isViewNode() const;
boolean isUpNode() const;
AlCamera* camera() const;
AlCamera* camera(AlTM&) const;
Description
This class is a DAG node class used specifically for cameras. Each AlCamera object has three camera nodes, one for each of
eye, view, and up positions. (For more information on how AlCamera’s and AlCameraNode’s work together, see the Class Description
for the AlCamera object.)
To create a camera node, the user must create a camera, which will is create the necessary camera nodes. The user cannot directly
instantiate an AlCameraNode.
To figure out which position a camera node represents, the user can use:
1) the isEyeNode(), isViewNode(), isUpNode() methods, or
2) the type() method to compare types with kCameraEyeType, kCameraUpType, or kCameraViewType.
A camera node can be deleted in two ways. When a camera node is deleted, its associated camera (and other camera nodes) are
deleted. When a camera is deleted, its camera nodes are also deleted.
AlCameraNode::~AlCameraNode()
Description
Deletes an AlCameraNode wrapper object.
AlObject* AlCameraNode::copyWrapper() const
Description
Makes a copy of the AlCameraNode. The returned AlCameraNode will reference the same data as the original.
statusCode AlCameraNode::deleteObject()
Description
Deletes the associated AlCamera (which in turn deletes all the attached camera eye, view and up nodes).
Return Codes
sSuccess - the camera data was successfully deleted
sInvalidObject - the camera was not valid
AlObjectType AlCameraNode::type() const
Description
Returns the class identifier for a camera node. This can be any one of kCameraEyeType, kCameraViewType, or kCameraUpType.
boolean AlCameraNode::isInstanceable()
Description
Returns FALSE. An AlCameraNode is not an instanceable DAG node.
boolean AlCameraNode::isEyeNode() const
Description
Returns TRUE if this camera node represents the eye position of a camera.
boolean AlCameraNode::isViewNode() const
Description
Returns TRUE if this camera node represents the view position of a camera.
boolean AlCameraNode::isUpNode() const
Description
Returns TRUE if this camera node represents the up position of a camera.
AlCamera* AlCameraNode::camera() const
Description
Returns a pointer to the attached AlCamera object.
AlCamera* AlCameraNode::camera(AlTM& tm) const
Description
Returns a pointer to the attached camera object. The AlTM is updated with the cameraNode’s TM if a camera exists.
Arguments
> tm - the transformation matrix to be updated with the cameraNode’s TM