Frapper
1.0a
|
Class representing parameters for numeric values. More...
#include <NumberParameter.h>
Public Types | |
enum | InputMethod { IM_SpinBox = 0, IM_Slider, IM_SliderPlusSpinBox, IM_NumInputMethods } |
Nested enumeration for the different input methods for editing number parameters. More... | |
![]() | |
enum | Type { T_Unknown = -1, T_Bool, T_Int, T_UnsignedInt, T_Float, T_String, T_Filename, T_Color, T_Enumeration, T_TextInfo, T_Command, T_Geometry, T_Light, T_Camera, T_Image, T_Group, T_PlugIn, T_Generic, T_NumTypes } |
Nested enumeration for the different types of parameters. More... | |
enum | Multiplicity { M_Invalid = -1, M_OneOrMore } |
Nested enumeration for special types of multiplicity. More... | |
enum | PinType { PT_None = -1, PT_Input, PT_Output } |
Nested enumeration for the different types of pins to represent parameters. More... | |
typedef unsigned int | Size |
Type definition for the size of a parameter, specifying how many values of the given type the parameter can store. | |
![]() | |
typedef QHash< QString, AbstractParameter * > | Map |
Type definition for a map of parameters and parameter groups. | |
typedef QList < AbstractParameter * > | List |
Type definition for a list of parameters and parameter groups. | |
Public Member Functions | |
NumberParameter (const QString &name, Type type, const QVariant &value) | |
Constructor of the NumberParameter class. | |
NumberParameter (const NumberParameter ¶meter, Node *node=0) | |
Copy constructor of the NumberParameter class. | |
virtual | ~NumberParameter () |
Destructor of the FilenameParameter class. | |
virtual AbstractParameter * | clone () |
Creates an exact copy of the parameter. | |
virtual void | setDirty (bool dirty) |
Sets whether the parameter's value has changed. | |
virtual void | setEnabled (bool enabled, bool propagate) |
Sets whether the controls for editing the parameter or parameter group in the UI should be enabled. | |
InputMethod | getInputMethod () const |
Returns the desired input method of numeric values of the parameter. | |
void | setInputMethod (InputMethod inputMethod) |
Sets the desired input method of numeric values of the parameter. | |
QVariant | getMinValue () const |
Returns the lower limit for numeric values of the parameter. | |
void | setMinValue (const QVariant &minValue) |
Sets the lower limit for numeric values of the parameter. | |
QVariant | getMaxValue () const |
Returns the upper limit for numeric values of the parameter. | |
float | getAbsMaxValue () const |
Returns the absolute upper limit for numeric values of the parameter. | |
void | setMaxValue (const QVariant &maxValue) |
Sets the upper limit for numeric values of the parameter. | |
QVariant | getStepSize () const |
Returns the step size numeric values of the parameter. | |
void | setStepSize (const QVariant &stepSize) |
Sets the step size numeric values of the parameter. | |
QString | getUnit () const |
Returns the unit of the parameter. | |
void | setUnitScale (const float scale) |
Sets the unit scale for the parameter. | |
float | getUnitScale () const |
Returns the unit scale for the parameter. | |
void | setUnit (const QString &unit) |
Sets the unit for the parameter. | |
void | setTime (const QVariant &timeValue) |
Sets the current time for the parameter. | |
void | calculateExtrema () |
Calculate the limits for numeric values of the parameter. | |
void | scaleValues (const float &scaleFactor) |
Scales all values from the parameter. | |
bool | isAnimated () const |
Returns whether the parameter contains keys. | |
void | addKey (Key *key) |
Adds the given parameter to the given time in the list of keys. | |
void | addKey (const int &time) |
Adds the actuel numberparameter value to the given time in the list of keys. | |
void | addKey (const QVariant &value) |
Adds the given parameter to the back of the list of keys. | |
void | addKey (const float &value) |
Adds the given parameter to the back of the list of keys. | |
void | addKeyPresorted (Key *key) |
Adds the given parameter to the given time in the list of keys, without sorting. | |
void | setKeys (const QList< float > *keys) |
Sets the given list in the given steps in the list of keys. | |
unsigned int | numKeys () const |
Returns the number of keys in the list. | |
bool | isEmpty () const |
Returns whether the list of keys is empty. | |
void | removeKey (const float &time) |
Removes the key at the given time. | |
void | removeKey (const int &index) |
Removes the key at the given index. | |
void | removeKeys (const float &minTime, const float &maxTime) |
Removes the keys at the given range. | |
void | removeKeys (const int &minIndex, const int &maxIndex) |
Removes the keys at the given range. | |
void | clearKeys () |
Removes all keys. | |
Key * | getKey (const float &time) |
Returns the key at the given time. | |
Key * | getKey (const unsigned int &index) |
Returns the key at the given index. | |
QList< Key * > * | getKeys () |
Returns a pointer to the list of keys. | |
unsigned int | getKeysSize () const |
Returns the size of the list of keys. | |
QVariant | getKeyValueInterpol (const QVariant &time) |
Returns the interpolated value of the key at the given time. | |
QVariant | getKeyValuePos (const float &time) |
Returns the value of the key at the given time. | |
QVariant | getKeyValueIndex (const unsigned int &index) const |
Returns the value of the key at the given index. | |
QVariant | getValue (bool triggerEvaluation=false) |
Returns the parameter's value while optionally triggering the evaluation chain. | |
![]() | |
Parameter (const QString &name, Type type, const QVariant &value) | |
Constructor of the Parameter class. | |
Parameter (const Parameter ¶meter) | |
Copy constructor of the Parameter class. | |
virtual | ~Parameter () |
Destructor of the Parameter class. | |
virtual bool | isGroup () const |
Returns whether the parameter object derived from this class is a parameter group. | |
Type | getType () const |
Returns the parameter's type. | |
Size | getSize () const |
Returns the parameter's size specifying how many values of the given type it stores. | |
void | setSize (Size size) |
Sets the parameter's size specifying how many values of the given type it stores. | |
int | getMultiplicity () const |
Returns the parameter's multiplicity specifying how many parameters of the given type can be connected to it. | |
void | setMultiplicity (int multiplicity) |
Sets the parameter's multiplicity specifying how many parameters of the given type can be connected to it. | |
int | getNumberOfConnections () const |
Returns the parameter's number of connections. | |
virtual const QVariantList & | getValueList () const |
Returns the parameter's value list. Which contains the values of all connected parameters. | |
void | setValue (const QVariant &value, bool triggerDirtying=false) |
Sets the parameter's value to the given value. | |
void | setValue (int index, const QVariant &value, bool triggerDirtying=false) |
Sets the parameter's value with the given index to the given value. | |
bool | hasDefaultValue () const |
Returns whether the parameter's current value is the default value. | |
void | setDefaultValue (const QVariant &defaultValue) |
Sets the parameter's default value to the given value. | |
virtual void | reset () |
Resets the parameter to its default value. | |
List | getAffectedParameters () const |
Returns the list of parameters that are affected when the value of this parameter is changed. | |
void | addAffectedParameter (Parameter *affectedParameter) |
Adds a parameter to the list of parameters that are affected when the value of this parameter is changed. | |
void | removeAffectedParameter (Parameter *affectedParameter) |
Removes a parameter from the list of parameters that are affected when the value of this parameter is changed. | |
List | getAffectingParameters () const |
Returns the list of parameters that affect this parameter when their value is changed. | |
void | addAffectingParameter (Parameter *affectingParameter) |
Adds a parameter to the list of parameters that are affected when the value of this parameter is changed. | |
void | removeAffectingParameter (Parameter *affectingParameter) |
Removes a parameter from the list of parameters that are affected when the value of this parameter is changed. | |
QString | getDescription () const |
Returns the description of the parameter. | |
void | setDescription (const QString &description) |
Sets the description for the parameter. | |
PinType | getPinType () const |
Returns the type of pin that should be created to represent the parameter. | |
void | setPinType (PinType pinType) |
Sets the type of pin that should be created to represent the parameter. | |
Connection::Map | getConnectionMap () const |
Returns all connections currently connected to this parameter. | |
void | addConnection (Connection *connection) |
Adds the given connection to the list of connections. | |
void | removeConnection (Connection::ID id) |
Removes the given connection from the list of connections. | |
bool | isConnected () const |
Returns whether the parameter is connected to at least one other parameter. | |
Parameter * | getConnectedParameter () const |
Returns the first parameter connected to this parameter. | |
bool | isDirty () |
Returns whether the parameter's value has changed. | |
bool | isAuxDirty () |
Returns the auxiliary dirty flag. | |
virtual void | setAuxDirty (bool dirty) |
Sets the auxiliary dirty flag. | |
bool | isVisible () const |
Returns the visibility for this parameter. | |
void | setVisible (bool visible) |
Sets the visibility for this parameter. | |
bool | isReadOnly () const |
Returns whether the parameter can not be modified using a control in the UI. | |
void | setReadOnly (bool readOnly) |
Sets whether the parameter can not be modified using a control in the UI. | |
void | setSelfEvaluating (bool selfEvaluating) |
Sets whether the parameter is self-evaluating. | |
bool | isSelfEvaluating () const |
Returns wether the parameter is self-evaluating. | |
void | propagateDirty (bool setFirstTrue=true) |
Sets the dirty flag for all parameters that are connected with and affected by this parameter. | |
void | propagateAuxDirty () |
Sets the aux dirty flag for all parameters that are affecting this parameter.. | |
void | propagateEvaluation () |
Propagates the evaluation of nodes. | |
void | setChangeFunction (const char *changeFunction) |
Sets the function to call when the parameter's value changes. | |
void | setProcessingFunction (const char *processingFunction) |
Sets the function to use for computing the parameter's value. | |
void | setAuxProcessingFunction (const char *processingFunction) |
Sets the function to use for computing auxiliary value dependant things. | |
void | setCommandFunction (const char *commandFunction) |
Sets the function to use for executing the command represented by the parameter. | |
void | setOnConnectFunction (const char *onConnectFunction) |
Sets the function which should be called on parameter's connection. | |
void | setOnDisconnectFunction (const char *onDisconnectFunction) |
Sets the function which should be called on parameter's disconnection. | |
void | executeCommand () |
Emits the commandExecutionRequested signal to notify connected objects that the command represented by the parameter should be executed. | |
QString | getValueString () |
Returns the parameter's value as a character string. | |
![]() | |
AbstractParameter (const QString &name) | |
Constructor of the AbstractParameter class. | |
AbstractParameter (const AbstractParameter ¶meter) | |
Copy constructor of the AbstractParameter class. | |
virtual | ~AbstractParameter () |
Destructor of the AbstractParameter class. | |
QString | getName () const |
Returns the name of the parameter or parameter group. | |
bool | isEnabled () const |
Returns whether the controls for editing the parameter or parameter group in the UI should be enabled. | |
virtual void | setName (const QString &name) |
Sets name of the parameter. | |
Node * | getNode () const |
Returns the node to which this parameter or parameter group belongs. | |
virtual void | setNode (Node *node) |
Sets the node to which this parameter or parameter group belongs. | |
Static Public Member Functions | |
static InputMethod | decodeInputMethod (const QString &inputMethodString) |
Decodes the given input method string to an input method value. | |
![]() | |
static QString | getTypeName (Type type) |
Returns the name of the given parameter type. | |
static QColor | getTypeColor (Type type) |
Returns the color of the given parameter type. | |
static Type | getTypeByName (const QString &typeName) |
Returns the parameter type corresponding to the given name. | |
static QVariant | getDefaultValue (Type type) |
Returns the default value for parameters of the given type. | |
static QColor | decodeIntColor (const QString &color) |
Converts the given string to a color value. The string should contain comma-separated integer values for the red, green and blue channels respectively. | |
static QColor | decodeDoubleColor (const QString &color) |
Converts the given string to a color value. The string should contain comma-separated double-precision floating point values for the red, green and blue channels respectively. | |
static Size | decodeSize (const QString &size) |
Converts the given string to a size value. | |
static int | decodeMultiplicity (const QString &multiplicity) |
Converts the given string to a multiplicity value. | |
static PinType | decodePinType (const QString &pinTypeString) |
Converts the given string to a pin type value. | |
static Parameter * | create (const QString &name, Type type, QVariant defaultValue=QVariant()) |
Creates a parameter with the given name and type. | |
static Parameter * | create (const QDomElement &element) |
Creates a parameter from the given XML element. | |
static Parameter * | clone (const Parameter ¶meter) |
Creates a copy of the given parameter. | |
static QString | extractFirstGroupName (QString *path) |
Extracts the name of first group found in the given parameter path. | |
static Parameter * | createImageParameter (const QString &name, Ogre::TexturePtr texturePointer=Ogre::TexturePtr(0)) |
Creates an image parameter with the given name. | |
static Parameter * | createGroupParameter (const QString &name, ParameterGroup *parameterGroup=0) |
Creates a group parameter with the given name. | |
Protected Member Functions | |
QList< Key * >::iterator | findIndex (const float &time) |
Returns the sorted index from keylist by evaluating the time value. | |
QList< Key * >::iterator | findIndex (const Key *key) |
Returns the sorted index from keylist by evaluating the time value of the given key. | |
Static Protected Member Functions | |
static bool | lessThan (const Key *k1, const Key *k2) |
Less than definition Function for comparing unique icon Key *. | |
Private Attributes | |
InputMethod | m_inputMethod |
The input method for numeric values of the parameter. | |
QVariant | m_minValue |
The lower limit for numeric values of the parameter. | |
QVariant | m_maxValue |
The upper limit for numeric values of the parameter. | |
QVariant | m_stepSize |
The step size for numeric values of the parameter. | |
QString | m_unit |
The parameter's unit (an empty string if no unit has been set). | |
QList< Key * > | m_keys |
The list of keys for animating the parameter's numeric value. | |
float | m_unitScale |
The unit scale of the numeric values. | |
Additional Inherited Members | |
![]() | |
void | dirtied () |
Signal that is emitted when the value of the parameter becomes dirty. | |
void | valueChanged () |
Signal that is emitted when the parameter's value has changed. | |
void | valueChanged (int index) |
Signal that is emitted when the parameter's value with the given index has changed. | |
void | processingRequested () |
Signal that is emitted when the value of the parameter should be processed. | |
void | auxProcessingRequested () |
Signal that is emitted when auxiliary changes in combination with the value happen. | |
void | commandExecutionRequested () |
Signal that is emitted when a command parameter is triggered. | |
void | connectionEstablished () |
Signal that is emitted when a connection is established. | |
void | connectionDestroyed () |
Signal that is emitted when a connection is destroyed. | |
![]() | |
static const QString | PathSeparator = " > " |
The string that separates parts in parameter paths. | |
static const QString | EnumerationSeparator = "---" |
The string that identifies enumeration separators. | |
![]() | |
QMutex | m_mutex |
Mutex for threaded programming. | |
QStringList | m_mutexList |
Type | m_type |
The type of the parameter's value. | |
int | m_size |
The parameter's size specifying how many values of the given type it stores. | |
int | m_multiplicity |
The parameter's multiplicity specifying how many parameters of the given type can be connected to it. | |
QVariant | m_defaultValue |
The parameter's default value. | |
QVariant | m_value |
The parameter's value. | |
QVariantList | m_valueList |
The parameter's value. | |
QString | m_description |
A description of the parameter. | |
PinType | m_pinType |
The type of pin that should be created to represent the parameter. | |
Connection::Map | m_connectionMap |
The map of connections that are connected to this connector with connection IDs as keys. | |
List | m_affectedParameters |
A list of parameter names that are affected when the value of this parameter is changed. | |
List | m_affectingParameters |
A list of parameter names that affect this parameter. | |
bool | m_dirty |
Flag that states whether the parameter's value has changed. | |
bool | m_auxDirty |
Auxiliary dirty flag. | |
bool | m_visible |
Flag that states whether the parameter's should be visible in e.g. ParameterPanel or not. | |
bool | m_readOnly |
Flag that states whether the parameter's value can not be changed using an input control in the UI. | |
bool | m_selfEvaluating |
Flag that states whether the parameter is self-evaluating. | |
Class representing parameters for numeric values.
Frapper::NumberParameter::NumberParameter | ( | const QString & | name, |
Type | type, | ||
const QVariant & | value | ||
) |
Constructor of the NumberParameter class.
Constructors and Destructors.
name | The name of the parameter. |
type | The type of the parameter's value(s). |
value | The parameter's value. |
animated | The parameter's animation status. |
Constructor of the FilenameParameter class.
name | The name of the parameter. |
type | The type of the parameter's value(s). |
value | The parameter's value. |
animated | The parameter's animation status. |
Frapper::NumberParameter::NumberParameter | ( | const NumberParameter & | parameter, |
Node * | node = 0 |
||
) |
Copy constructor of the NumberParameter class.
parameter | The parameter to copy. |
node | The parent node. |
|
virtual |
Destructor of the FilenameParameter class.
|
static |
Decodes the given input method string to an input method value.
Public Static Functions.
inputMethodString | The input method string to decode. |
Decodes the given input method string to an input method value.
inputMethodString | The input method string to decode. |
|
virtual |
Creates an exact copy of the parameter.
Public Functions.
Creates an exact copy of the parameter.
Reimplemented from Frapper::Parameter.
|
virtual |
Sets whether the parameter's value has changed.
dirty | The new value for the parameter's dirty flag. |
Reimplemented from Frapper::Parameter.
|
virtual |
Sets whether the controls for editing the parameter or parameter group in the UI should be enabled.
enabled | The value for the parameter's enabled flag. |
Reimplemented from Frapper::AbstractParameter.
NumberParameter::InputMethod Frapper::NumberParameter::getInputMethod | ( | ) | const |
Returns the desired input method of numeric values of the parameter.
Returns the desired input method of numeric values of the parameter, e.g. Slider, etc.
void Frapper::NumberParameter::setInputMethod | ( | NumberParameter::InputMethod | inputMethod | ) |
Sets the desired input method of numeric values of the parameter.
Sets the desired input method of numeric values of the parameter, e.g. Slider, etc.
inputMethod | The input method for numeric values of the parameter. |
stepSize | The input method for numeric values of the parameter. |
QVariant Frapper::NumberParameter::getMinValue | ( | ) | const |
Returns the lower limit for numeric values of the parameter.
void Frapper::NumberParameter::setMinValue | ( | const QVariant & | minValue | ) |
Sets the lower limit for numeric values of the parameter.
minValue | The lower limit for numeric values of the parameter. |
QVariant Frapper::NumberParameter::getMaxValue | ( | ) | const |
Returns the upper limit for numeric values of the parameter.
float Frapper::NumberParameter::getAbsMaxValue | ( | ) | const |
Returns the absolute upper limit for numeric values of the parameter.
void Frapper::NumberParameter::setMaxValue | ( | const QVariant & | maxValue | ) |
Sets the upper limit for numeric values of the parameter.
maxValue | The upper limit for numeric values of the parameter. |
QVariant Frapper::NumberParameter::getStepSize | ( | ) | const |
Returns the step size numeric values of the parameter.
void Frapper::NumberParameter::setStepSize | ( | const QVariant & | stepSize | ) |
Sets the step size numeric values of the parameter.
stepSize | The step size for numeric values of the parameter. |
QString Frapper::NumberParameter::getUnit | ( | ) | const |
Returns the unit of the parameter.
void Frapper::NumberParameter::setUnitScale | ( | const float | scale | ) |
Sets the unit scale for the parameter.
scale | The new unit scale. |
float Frapper::NumberParameter::getUnitScale | ( | ) | const |
Returns the unit scale for the parameter.
void Frapper::NumberParameter::setUnit | ( | const QString & | unit | ) |
Sets the unit for the parameter.
unit | The unit for the parameter. |
void Frapper::NumberParameter::setTime | ( | const QVariant & | timeValue | ) |
Sets the current time for the parameter.
timeValue | The current time for the parameter. |
void Frapper::NumberParameter::calculateExtrema | ( | ) |
Calculate the limits for numeric values of the parameter.
void Frapper::NumberParameter::scaleValues | ( | const float & | scaleFactor | ) |
Scales all values from the parameter.
The | scale factor. |
bool Frapper::NumberParameter::isAnimated | ( | ) | const |
Returns whether the parameter contains keys.
Public Animation Functions.
Returns whether the parameter contains keys.
void Frapper::NumberParameter::addKey | ( | Key * | key | ) |
Adds the given parameter to the given time in the list of keys.
key | The key to add to the list. |
key | The key to add to the list |
void Frapper::NumberParameter::addKey | ( | const int & | time | ) |
Adds the actuel numberparameter value to the given time in the list of keys.
time | The time index to add the value to the list. |
void Frapper::NumberParameter::addKey | ( | const QVariant & | value | ) |
Adds the given parameter to the back of the list of keys.
value | The value to add to the list. |
value | The value to add to the list |
void Frapper::NumberParameter::addKey | ( | const float & | value | ) |
Adds the given parameter to the back of the list of keys.
value | The value to add to the list |
void Frapper::NumberParameter::addKeyPresorted | ( | Key * | key | ) |
Adds the given parameter to the given time in the list of keys, without sorting.
key | The key to add to the list |
void Frapper::NumberParameter::setKeys | ( | const QList< float > * | keys | ) |
Sets the given list in the given steps in the list of keys.
Sets the given List in the given steps in the list of keys.
keys | The value list to add to the key list. |
key | The value list to add to the key list |
unsigned int Frapper::NumberParameter::numKeys | ( | ) | const |
Returns the number of keys in the list.
Returns the number of keys in list.
bool Frapper::NumberParameter::isEmpty | ( | ) | const |
Returns whether the list of keys is empty.
Check for empty list.
void Frapper::NumberParameter::removeKey | ( | const float & | time | ) |
Removes the key at the given time.
time | The time of the key to remove. |
time | The time for the key to remove. |
void Frapper::NumberParameter::removeKey | ( | const int & | index | ) |
Removes the key at the given index.
index | The index for the key to remove. |
void Frapper::NumberParameter::removeKeys | ( | const float & | minTime, |
const float & | maxTime | ||
) |
Removes the keys at the given range.
minTime | The start time for the keys to remove. |
maxTime | The end time for the keys to remove. |
void Frapper::NumberParameter::removeKeys | ( | const int & | minIndex, |
const int & | maxIndex | ||
) |
Removes the keys at the given range.
minIndex | The start time for the keys to remove. |
maxIndex | The end time for the keys to remove. |
void Frapper::NumberParameter::clearKeys | ( | ) |
Removes all keys.
Key * Frapper::NumberParameter::getKey | ( | const float & | time | ) |
Returns the key at the given time.
time | The time to the key. |
Key * Frapper::NumberParameter::getKey | ( | const unsigned int & | index | ) |
Returns the key at the given index.
index | The index to the Key. |
QList< Key * > * Frapper::NumberParameter::getKeys | ( | ) |
Returns a pointer to the list of keys.
unsigned int Frapper::NumberParameter::getKeysSize | ( | ) | const |
Returns the size of the list of keys.
|
inline |
Returns the interpolated value of the key at the given time.
time | The time of the key. |
QVariant Frapper::NumberParameter::getKeyValuePos | ( | const float & | time | ) |
Returns the value of the key at the given time.
time | The time to the Key. |
time | The time of the key. |
QVariant Frapper::NumberParameter::getKeyValueIndex | ( | const unsigned int & | index | ) | const |
Returns the value of the key at the given index.
index | The index to the Key. |
|
virtual |
Returns the parameter's value while optionally triggering the evaluation chain.
triggerEvaluation | Flag to control whether to trigger the evaluation chain. |
Trigger | evaluation. |
triggerEvaluation | Flag to control whether to trigger the evaluation chain. |
Reimplemented from Frapper::Parameter.
|
inlineprotected |
Returns the sorted index from keylist by evaluating the time value.
Protected Functions.
time | The time of the Key. |
Returns the sorted index from keylist by evaluating the time value.
pos The time of the Key.
Less than definition Function for comparing unique icon Key *.
Protected Helper Functions.
k1 | The first key for comparison. |
k2 | The second key for comparison. |
Less than definition Function for comparing unique icon Key *
k1 The first key for comparison. k2 The second key for comparison.
|
private |
The input method for numeric values of the parameter.
|
private |
The lower limit for numeric values of the parameter.
|
private |
The upper limit for numeric values of the parameter.
|
private |
The step size for numeric values of the parameter.
|
private |
The parameter's unit (an empty string if no unit has been set).
|
private |
The list of keys for animating the parameter's numeric value.
|
private |
The unit scale of the numeric values.