Frapper  1.0a
Public Member Functions | Protected Attributes | Private Slots | Private Member Functions | Private Attributes | List of all members
CameraNode::CameraNode Class Reference

Class representing nodes for cameras in a 3D scene. More...

#include <CameraNode.h>

Inheritance diagram for CameraNode::CameraNode:
Inheritance graph
[legend]
Collaboration diagram for CameraNode::CameraNode:
Collaboration graph
[legend]

Public Member Functions

 CameraNode (const QString &name, ParameterGroup *parameterRoot)
 Constructor of the CameraNode class.
 
virtual ~CameraNode ()
 Destructor of the CameraNode class.
 
virtual Ogre::SceneNodegetSceneNode ()
 Returns the scene node that contains the camera which visually represents this node.
 
- Public Member Functions inherited from Frapper::ViewNode
 ViewNode (const QString &name, ParameterGroup *parameterRoot)
 Constructor of the ViewNode class.
 
virtual ~ViewNode ()
 Destructor of the ViewNode class.
 
unsigned int getStageIndex () const
 Returns the index of the stage in which this node is contained.
 
bool isViewed () const
 Returns whether the result of this node should be displayed in the viewport.
 
virtual Ogre::TexturePtr getImage ()
 Returns the image that is generated by this node.
 
- Public Member Functions inherited from Frapper::CurveEditorDataNode
 CurveEditorDataNode (const QString &name, ParameterGroup *parameterRoot)
 Constructor of the CurveEditorDataNode class.
 
virtual ~CurveEditorDataNode ()
 Destructor of the CurveEditorDataNode class.
 
ParameterGroupgetCurveEditorGoup () const
 Public Functions.
 
void setCurveEditorGoup (ParameterGroup *parameterGroup)
 
- Public Member Functions inherited from Frapper::Node
 Node (const QString &name, ParameterGroup *parameterRoot)
 Constructor of the Node class.
 
virtual ~Node ()
 Destructor of the Node class.
 
virtual void run (const QString &parameterName)
 Execute function for threading.
 
virtual bool process (const QString &parameterName)
 Processes the node's input data to generate the data for the parameter with the given name.
 
bool getTypeUnknown () const
 
ParametergetTimeParameter () const
 Returns the actual timeline intex.
 
QString getName () const
 Returns the name of the node. The name must be unique in the node network so that each node object can be uniquely identified by its name.
 
void setName (const QString &name)
 Sets the name of the node. The name must be unique in the node network so that each node object can be uniquely identified by its name.
 
QString getTypeName () const
 Returns the name of the node's type.
 
void setTypeName (const QString &typeName)
 Set the name of the node's type.
 
bool isTypeUnknown () const
 Returns whether a plugin for the node's type is available.
 
void setTypeUnknown (bool typeUnknown=true)
 Sets the flag that indicates whether a plugin for the node's type is available.
 
bool isEvaluated () const
 Returns whether this node should be evaluated in the network.
 
bool isSelected () const
 Returns whether this node is currently selected.
 
virtual void setSelected (bool selected)
 Sets whether this node is currently selected.
 
bool isSelfEvaluating () const
 Returns whether the node is self-evaluating.
 
bool isSaveable () const
 Returns whether the node is saveable.
 
void setSelfEvaluating (bool selfEvaluating)
 Sets whether the node is self-evaluating.
 
void setSaveable (bool saveable)
 Sets whether the node is saveable.
 
QString getSearchText () const
 Returns the search text currently set for the node.
 
void setSearchText (const QString &searchText)
 Sets the text to use when filtering parameters of the node before creating editing widgets in a parameter editor panel.
 
ParameterGroupgetParameterRoot () const
 Returns the root of the tree of parameters and parameter groups for the node.
 
ParameterGroupgetParameterGroup (const QString &name) const
 Returns the parameter group with the given name.
 
void fillParameterLists (AbstractParameter::List *inputParameters, AbstractParameter::List *outputParameters)
 Iterates over the children of the parameter root and fills the given lists with input and output parameters and parameter groups containing input and output parameters.
 
void fillParameterLists (AbstractParameter::List *connectedInputParameters, AbstractParameter::List *connectedOutputParameters, bool *unconnectedInputParametersAvailable, bool *unconnectedOutputParametersAvailable)
 Iterates over the children of the parameter root and fills the given lists with connected input and output parameters and parameter groups containing connected input and output parameters.
 
AbstractParameter::List getParameters (Parameter::PinType pinType, bool connected, ParameterGroup *parameterGroup=0)
 Returns a list of parameters contained in the given parameter group that are of the given pin type and that are connected or not.
 
bool hasParameter (const QString &name) const
 Returns whether the node contains a parameter with the given name.
 
ParametergetParameter (const QString &name) const
 Returns the parameter with the given name.
 
NumberParametergetNumberParameter (const QString &name) const
 Returns the number parameter with the given name.
 
FilenameParametergetFilenameParameter (const QString &name) const
 Returns the filename parameter with the given name.
 
EnumerationParametergetEnumerationParameter (const QString &name) const
 Returns the enumeration parameter with the given name.
 
GeometryParametergetGeometryParameter (const QString &name) const
 Returns the geometry parameter with the given name.
 
LightParametergetLightParameter (const QString &name) const
 Returns the light parameter with the given name.
 
CameraParametergetCameraParameter (const QString &name) const
 Returns the camera parameter with the given name.
 
void setDirty (const QString &name, bool dirty)
 Sets the dirty state of the parameter with the given name to the given state.
 
void setDirty (bool dirty)
 Sets the dirty state of the node and all child parameters.
 
void setNodeDirty (bool dirty)
 Sets the dirty state of the node.
 
bool isNodeDirty ()
 Returns the dirty state of the node.
 
void removeParameter (const QString &name, bool diveInGroups=true)
 Removes and deletes the parameter with the given name.
 
void removeParameter (Parameter *parameter, bool diveInGroups=true)
 Removes and deletes the given parameter.
 
void addAffection (const QString &parameterName, const QString &affectedParameterName)
 Adds a affection between two parameters.
 
QVariant getValue (const QString &name, bool triggerEvaluation=false)
 Returns the value of the parameter with the given name while optionally triggering the evaluation chain.
 
bool getBoolValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of a boolean parameter while optionally triggering the evaluation chain.
 
int getIntValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of an integer parameter while optionally triggering the evaluation chain.
 
unsigned int getUnsignedIntValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of an unsigned integer parameter while optionally triggering the evaluation chain.
 
float getFloatValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of a 32bit-precision floating point parameter while optionally triggering the evaluation chain.
 
double getDoubleValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of a double-precision floating point parameter while optionally triggering the evaluation chain.
 
QString getStringValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of a string parameter while optionally triggering the evaluation chain.
 
QColor getColorValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of a color parameter while optionally triggering the evaluation chain.
 
Ogre::Vector3 getVectorValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of an OGRE vector parameter while optionally triggering the evaluation chain.
 
Ogre::SceneNodegetSceneNodeValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of a scene node parameter while optionally triggering the evaluation chain.
 
Ogre::TexturePtr getTextureValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of an OGRE texture parameter while optionally triggering the evaluation chain.
 
ParameterGroupgetGroupValue (const QString &name, bool triggerEvaluation=false)
 Convenience function for getting the value of a parameter group parameter while optionally triggering the evaluation chain.
 
void setValue (const QString &name, const QVariant &value, bool triggerDirtying=false)
 Sets the value of the parameter with the given name to the given value while optionally triggering the dirtying chain.
 
void setValue (const QString &name, bool value, bool triggerDirtying=false)
 Convenience function for setting the value of a boolean parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, int value, bool triggerDirtying=false)
 Convenience function for setting the value of an integer parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, unsigned int value, bool triggerDirtying=false)
 Convenience function for setting the value of an unsigned integer parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, double value, bool triggerDirtying=false)
 Convenience function for setting the value of a double-precision floating point parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, char *value, bool triggerDirtying=false)
 Convenience function for setting the value of a string parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, const char *value, bool triggerDirtying=false)
 Convenience function for setting the value of a string parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, const QString &value, bool triggerDirtying=false)
 Convenience function for setting the value of a string parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, const QColor &value, bool triggerDirtying=false)
 Convenience function for setting the value of a color parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, const Ogre::Vector3 &value, bool triggerDirtying=false)
 Convenience function for setting the value of an OGRE vector parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, Ogre::SceneNode *value, bool triggerDirtying=false)
 Convenience function for setting the value of a scene node parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, const Ogre::TexturePtr value, bool triggerDirtying=false)
 Convenience function for setting the value of an OGRE texture parameter while optionally triggering the dirtying chain.
 
void setValue (const QString &name, ParameterGroup *value, bool triggerDirtying=false)
 Convenience function for setting the value of a parameter group parameter while optionally triggering the dirtying chain.
 
void setParameterEnabled (const QString &name, bool enabled)
 Convenience function for setting the enabled flag of a string parameter.
 
void setChangeFunction (const QString &name, const char *changeFunction)
 Sets the function to call when a parameter's value changes.
 
void setProcessingFunction (const QString &name, const char *processingFunction)
 Sets the function to use for computing a parameter's value.
 
void setAuxProcessingFunction (const QString &name, const char *processingFunction)
 Sets the auxiliary function to use for computing a parameter's value.
 
void setCommandFunction (const QString &name, const char *commandFunction)
 Sets the function to use for executing the command represented by a parameter.
 
void setOnConnectFunction (const QString &name, const char *onConnectFunction)
 Sets the function which should be called on parameter's connection.
 
void setOnDisconnectFunction (const QString &name, const char *onDisconnectFunction)
 Sets the function which should be called on parameter's disconnection.
 
void notifyChange ()
 Notify when something has changed in the node. (Parameters added/deleted)
 
virtual void setUpTimeDependencies (Parameter *timeParameter)
 Sets up time dependencies for node parameters.
 
virtual void evaluateConnection (Connection *connection)
 Evaluates the given new connection for the node.
 
void deleteConnection (Connection *connection)
 Signal that is emitted in order to delete a connection (through SceneModel)
 
void renderSingleFrame ()
 Render a single frame.
 

Protected Attributes

QVariantList m_ptMatList
 The image space projection matix.
 
QVariantList m_wMatList
 The world view projection matix.
 
- Protected Attributes inherited from Frapper::ViewNode
unsigned int m_stageIndex
 The index of the stage in which this node is contained.
 
bool m_view
 Flag that states whether the result of this node should be displayed in the viewport.
 
- Protected Attributes inherited from Frapper::CurveEditorDataNode
ParameterGroupm_parameterGroup
 The parameter group containing informations about datastructure.
 
- Protected Attributes inherited from Frapper::Node
QString m_name
 The name of the node.
 
QString m_typeName
 The type of the node.
 
bool m_dirty
 The dirty bit.
 
Parameterm_timeParameter
 The global time parameter to use when addressing image sequences.
 
bool m_typeUnknown
 Flag that states whether a plugin for the node's type is available.
 
bool m_evaluate
 Flag that states whether this node should be evaluated in the network.
 
bool m_selected
 Flag that states whether this node is currently selected.
 
bool m_selfEvaluating
 Flag that states whether the node is self-evaluating.
 
QString m_searchText
 The text to use for filtering parameters of this node before creating editing widgets in a parameter editor panel.
 
bool m_saveable
 Flag that states whether the node is saveable.
 

Private Slots

void updateTransform ()
 Applies the currently set transformation for the node to the OGRE scene. on frame change.
 
void renderResolutionPresetChanged ()
 Updates the render resolution parameters according to the selected preset.
 
void renderWidthChanged ()
 Applies the changed render width to the output camera.
 
void renderHeightChanged ()
 Applies the changed render height to the output camera.
 
void focalLengthChanged ()
 Applies the changed focal length to the output camera.
 
void fieldOfViewChanged ()
 Applies the changed field of view to the output camera.
 
void horizontalApertureChanged ()
 Applies the changed horizontal aperture to the output camera.
 
void nearClippingPlaneChanged ()
 Applies the changed near clipping plane to the output camera.
 
void farClippingPlaneChanged ()
 Applies the changed far clipping plane to the output camera.
 

Private Member Functions

void checkForPreset ()
 Checks if the currently set render width and height corresponds to a render resolution preset, and if so, selects that preset.
 
void updateDependentOutputParameters ()
 Updates output parameters based on the frustum.
 
virtual void loadReady ()
 Hack! Called when scene load is ready to prevent wrong recource setup in Ogre.
 
void applyPosition (QString positionParameter="Position")
 Applies the currently set position for the node to the OGRE scene objects contained in this node.
 
void applyOrientation (QString orientationParameter="Orientation")
 Applies the currently set orientation for the node to the OGRE scene objects contained in this node.
 

Private Attributes

Ogre::SceneManager * m_sceneManager
 The scene manager.
 
Ogre::SceneNodem_sceneNode
 The scene node the camera is attached to.
 
OgreContainerm_ogreContainer
 The scene node the camera is attached to.
 
Ogre::Camera * m_camera
 The camera that this node represents.
 
Ogre::Entity * m_entity
 The entity that visually represents this camera.
 
QString m_outputCameraName
 The name of the output camera parameter.
 
bool m_presetChanging
 Flag that states whether the render resolution preset is currently being changed.
 

Additional Inherited Members

- Public Slots inherited from Frapper::ViewNode
virtual void setEvaluate (bool evaluate)
 Sets whether this node should be evaluated in the network.
 
virtual void setView (bool view, bool suppressViewSetSignal=false)
 Sets whether the geometry of this node should be displayed in the viewport.
 
void setStageIndex (unsigned int stageIndex)
 Sets the index of the stage in which this node should be contained.
 
- Signals inherited from Frapper::ViewNode
void triggerRedraw ()
 Trigger redraw of ogre scene.
 
void viewSet (unsigned int stageIndex, ViewNode *viewNode)
 Signal that is emitted when the view flag of this node has been set.
 
void viewNodeUpdated ()
 Signal that is emitted when the currently viewed view node has been updated.
 
- Static Public Attributes inherited from Frapper::Node
static int s_numberOfInstances
 
static int s_totalNumberOfInstances
 
- Protected Member Functions inherited from Frapper::ViewNode
void addOutputParameter (Parameter *outputParameter)
 Adds the given parameter as output parameter to this view node.
 
void removeOutputParameter (Parameter *outputParameter)
 Removes the given parameter as output parameter from this view node.
 
void requestRedraw ()
 Request a redraw of the current ogre scene.
 

Detailed Description

Class representing nodes for cameras in a 3D scene.

Constructor & Destructor Documentation

CameraNode::CameraNode::CameraNode ( const QString &  name,
ParameterGroup parameterRoot 
)

Constructor of the CameraNode class.

Constructors and Destructors.

Parameters
nameThe name for the new node.
parameterRootA copy of the parameter tree specific for the type of the node.

Constructor of the CameraNode class.

Parameters
nameThe name for the new node.
parameterRootA copy of the parameter tree specific for the type of the node.
CameraNode::CameraNode::~CameraNode ( )
virtual

Destructor of the CameraNode class.

Defined virtual to guarantee that the destructor of a derived class will be called if the instance of the derived class is saved in a variable of its parent class type.

Member Function Documentation

Ogre::SceneNode * CameraNode::CameraNode::getSceneNode ( )
virtual

Returns the scene node that contains the camera which visually represents this node.

Public Functions.

Returns
Scene node containing the entity which visually represents this camera.

Returns the scene node that contains scene objects created or modified by this node.

Returns
The scene node containing objects created or modified by this node.

Reimplemented from Frapper::ViewNode.

void CameraNode::CameraNode::checkForPreset ( )
private

Checks if the currently set render width and height corresponds to a render resolution preset, and if so, selects that preset.

Private Functions.

void CameraNode::CameraNode::updateDependentOutputParameters ( )
private

Updates output parameters based on the frustum.

It should be called when a value of the frustum has changed

void CameraNode::CameraNode::loadReady ( )
privatevirtual

Hack! Called when scene load is ready to prevent wrong recource setup in Ogre.

Reimplemented from Frapper::Node.

void CameraNode::CameraNode::applyPosition ( QString  positionParameter = "Position")
private

Applies the currently set position for the node to the OGRE scene objects contained in this node.

void CameraNode::CameraNode::applyOrientation ( QString  orientationParameter = "Orientation")
private

Applies the currently set orientation for the node to the OGRE scene objects contained in this node.

void CameraNode::CameraNode::updateTransform ( )
privateslot

Applies the currently set transformation for the node to the OGRE scene. on frame change.

Private Slots.

void CameraNode::CameraNode::renderResolutionPresetChanged ( )
privateslot

Updates the render resolution parameters according to the selected preset.

Is called when the value of the render resolution preset parameter has changed.

void CameraNode::CameraNode::renderWidthChanged ( )
privateslot

Applies the changed render width to the output camera.

Is called when the value of the render width parameter has changed.

void CameraNode::CameraNode::renderHeightChanged ( )
privateslot

Applies the changed render height to the output camera.

Is called when the value of the render height parameter has changed.

void CameraNode::CameraNode::focalLengthChanged ( )
privateslot

Applies the changed focal length to the output camera.

Is called when the value of the focal length parameter has changed.

void CameraNode::CameraNode::fieldOfViewChanged ( )
privateslot

Applies the changed field of view to the output camera.

Is called when the value of the field of view parameter has changed.

void CameraNode::CameraNode::horizontalApertureChanged ( )
privateslot

Applies the changed horizontal aperture to the output camera.

Is called when the value of the horizontal aperture parameter has changed.

void CameraNode::CameraNode::nearClippingPlaneChanged ( )
privateslot

Applies the changed near clipping plane to the output camera.

Is called when the value of the near clipping plane parameter has changed.

void CameraNode::CameraNode::farClippingPlaneChanged ( )
privateslot

Applies the changed far clipping plane to the output camera.

Is called when the value of the far clipping plane parameter has changed.

Member Data Documentation

QVariantList CameraNode::CameraNode::m_ptMatList
protected

The image space projection matix.

QVariantList CameraNode::CameraNode::m_wMatList
protected

The world view projection matix.

Ogre::SceneManager* CameraNode::CameraNode::m_sceneManager
private

The scene manager.

Ogre::SceneNode* CameraNode::CameraNode::m_sceneNode
private

The scene node the camera is attached to.

OgreContainer* CameraNode::CameraNode::m_ogreContainer
private

The scene node the camera is attached to.

Ogre::Camera* CameraNode::CameraNode::m_camera
private

The camera that this node represents.

Ogre::Entity* CameraNode::CameraNode::m_entity
private

The entity that visually represents this camera.

QString CameraNode::CameraNode::m_outputCameraName
private

The name of the output camera parameter.

bool CameraNode::CameraNode::m_presetChanging
private

Flag that states whether the render resolution preset is currently being changed.


The documentation for this class was generated from the following files: