Unigine::PropertyParameter Class
Header: | #include <UnigineProperties.h> |
This class is used to represent a property parameter.
PropertyParameter Class
Members
const char * getStructName() const#
Return value
Current name of the structure that defines the type of the struct parameter.int getArrayDim() const#
Return value
Current dimension of the array parameter.const char * getArrayTypeName() const#
Return value
Current type name of elements of the array parameter (Float, Node, Material, etc.).int getArrayType() const#
Return value
Current type of array elements, one of the PARAMETER_* variables.void setArraySize ( int size ) #
Arguments
- int size - The array size (number of elements).
int getArraySize() const#
Return value
Current array size (number of elements).void setValueFile ( const char * file ) #
value of the file parameter. If the property is not editable, the value won't be updated.
The value stored in the file parameter depends on the flags set for the parameter.
// flags = "asset"
setValueFile("guid://asset_guid"); // getValueFile() -> asset_path
setValueFile("guid://runtime_guid"); // getValueFile() -> asset_path
setValueFile("asset_path"); // getValueFile() -> asset_path
setValueFile("runtime_path"); // getValueFile() -> asset_path
// flags = "runtime" - default
setValueFile("guid://asset_guid"); // getValueFile() -> runtime_path
setValueFile("guid://runtime_guid"); // getValueFile() -> runtime_path
setValueFile("asset_path"); // getValueFile() -> runtime_path
setValueFile("runtime_path"); // getValueFile() -> runtime_path
// flags = "abspath"
setValueFile(file_path); // getValueFile() -> file_path
Arguments
- const char * file - The value for the file parameter.
const char * getValueFile() const#
value of the file parameter. If the property is not editable, the value won't be updated.
The value stored in the file parameter depends on the flags set for the parameter.
// flags = "asset"
setValueFile("guid://asset_guid"); // getValueFile() -> asset_path
setValueFile("guid://runtime_guid"); // getValueFile() -> asset_path
setValueFile("asset_path"); // getValueFile() -> asset_path
setValueFile("runtime_path"); // getValueFile() -> asset_path
// flags = "runtime" - default
setValueFile("guid://asset_guid"); // getValueFile() -> runtime_path
setValueFile("guid://runtime_guid"); // getValueFile() -> runtime_path
setValueFile("asset_path"); // getValueFile() -> runtime_path
setValueFile("runtime_path"); // getValueFile() -> runtime_path
// flags = "abspath"
setValueFile(file_path); // getValueFile() -> file_path
Return value
Current value for the file parameter.int getMaskType() const#
Return value
Current Type of the mask parameter, one of the PARAMETER_MASK_* variables.int getSwitchNumItems() const#
Return value
Current number of items of the switch parameter.int getSliderMaxExpand() const#
Return value
Current 1 if the maximum value can be changed; otherwise, 0.int getSliderMinExpand() const#
Return value
Current 1 if the minimum value can be changed; otherwise, 0.int getSliderLog10() const#
Return value
Current 1 if the property parameter uses a logarithmic scale; otherwise, 0.double getDoubleMaxValue() const#
Return value
Current maximum double value of the property parameter.double getDoubleMinValue() const#
Return value
Current minimum double value of the property parameter.float getFloatMaxValue() const#
Return value
Current maximum float value of the property parameter.float getFloatMinValue() const#
Return value
Current minimum float value of the property parameter.int getIntMaxValue() const#
Return value
Current maximum integer value of the property parameter.int getIntMinValue() const#
Return value
Current minimum integer value of the property parameter.void setValueGUID ( const UGUID & guid ) #
Arguments
const UGUID & getValueGUID() const#
Return value
Current value of the UGUID property parameter.void setValueMask ( int mask ) #
Arguments
- int mask - The value of the integer mask property parameter.
int getValueMask() const#
Return value
Current value of the integer mask property parameter.void setValueSwitch ( int switch ) #
Arguments
- int switch - The value of the switch parameter.
int getValueSwitch() const#
Return value
Current value of the switch parameter.void setValueToggle ( bool toggle ) #
Arguments
- bool toggle - true for the toggle parameter value set as enabled, and false for the disabled value.
bool getValueToggle() const#
Return value
true for the toggle parameter value set as enabled, and false for the disabled value.void setValueNodeID ( int id ) #
Arguments
- int id - The value of the node ID property parameter.
int getValueNodeID() const#
Return value
Current value of the node ID property parameter.void setValueNode ( const Ptr<Node>& node ) #
Arguments
Ptr<Node> getValueNode() const#
Return value
Current value of the Node property parameter.void setValueMaterial ( const Ptr<Material>& material ) #
Arguments
Ptr<Material> getValueMaterial() const#
Return value
Current value of the Material property parameter.void setValueProperty ( const Ptr<Property>& property ) #
Arguments
Ptr<Property> getValueProperty() const#
Return value
Current value of the Property-type property parameter.void setValueVec4 ( const Math::vec4& vec4 ) #
Arguments
Math::vec4 getValueVec4() const#
Return value
Current value of the four-component vec4 vector property parametervoid setValueVec3 ( const Math::vec3& vec3 ) #
Arguments
Math::vec3 getValueVec3() const#
Return value
Current value of the three-component vec3 vector property parametervoid setValueString ( const char * string ) #
Arguments
- const char * string - The value of the string property parameter.
const char * getValueString() const#
Return value
Current value of the string property parameter.void setValueColor ( const Math::vec4& color ) #
Arguments
- const Math::vec4& color - The value of the four-component vec4 color vector (R, G, B, A) property parameter.
Math::vec4 getValueColor() const#
Return value
Current value of the four-component vec4 color vector (R, G, B, A) property parameter.void setValueDouble ( double double ) #
Arguments
- double double - The value of the double property parameter.
double getValueDouble() const#
Return value
Current value of the double property parameter.void setValueFloat ( float float ) #
Arguments
- float float - The value of the float property parameter.
float getValueFloat() const#
Return value
Current value of the float property parameter.void setValueInt ( int int ) #
Arguments
- int int - The value of the integer property parameter.
int getValueInt() const#
Return value
Current value of the integer property parameter.Ptr<Curve2d> getValueCurve2dOverride() const#
Return value
Currentvoid setValueCurve2d ( const Ptr<Curve2d>& curve2d ) #
Arguments
Ptr<Curve2d> getValueCurve2d() const#
Return value
Current Curve2d value of the property parameter.bool isCurve2d() const#
Return value
true if the property parameter is a 2d curve; otherwise false.bool isStruct() const#
Return value
true if the property parameter is a structure; otherwise false.bool isArray() const#
Return value
true if the property parameter is an array; otherwise false.bool isNode() const#
Return value
true if the property parameter is a node; otherwise false.bool isMaterial() const#
Return value
true if the property parameter is a material; otherwise false.bool isProperty() const#
Return value
true if the property parameter is a property; otherwise false.bool isFile() const#
Return value
true if the property parameter is a file; otherwise false.bool isMask() const#
Return value
true if the property parameter is a mask; otherwise false.bool isIVec4() const#
Return value
true if the property parameter is a vector of 4 integer components; otherwise false.bool isIVec3() const#
Return value
true if the property parameter is a vector of 3 integer components; otherwise false.bool isIVec2() const#
Return value
true if the property parameter is a vector of 2 integer components; otherwise false.bool isDVec4() const#
Return value
true if the property parameter is a vector of 4 double components; otherwise false.bool isDVec3() const#
Return value
true if the property parameter is a vector of 3 double components; otherwise false.bool isDVec2() const#
Return value
true if the property parameter is a vector of 2 double components; otherwise false.bool isVec4() const#
Return value
true if the property parameter is a vector of 4 float components; otherwise false.bool isVec3() const#
Return value
true if the property parameter is a vector of 3 float components; otherwise false.bool isVec2() const#
Return value
true if the property parameter is a vector of 2 float components; otherwise false.bool isColor() const#
Return value
true if the property parameter is a color; otherwise false.bool isString() const#
Return value
true if the property parameter is a string; otherwise false.bool isSwitch() const#
Return value
true if the property parameter is a switch; otherwise false.bool isToggle() const#
Return value
true if the property parameter is a toggle; otherwise false.bool isDouble() const#
Return value
true if the property parameter is a double; otherwise false.bool isFloat() const#
Return value
true if the property parameter is a float; otherwise false.bool isInt() const#
Return value
true if the property parameter is an integer; otherwise false.const char * getFilter() const#
Return value
Current string specifying a filter for file, material or property parameter values.const char * getGroup() const#
Return value
Current name of the group to which the property parameter belongs.const char * getTooltip() const#
Return value
Current tooltip for the property parameter.const char * getTitle() const#
Return value
Current title of the property parameter.const char * getName() const#
Return value
Current name of the property parameter.int getType() const#
Log::message("Parameter type: %s\n", prop_param->parameterNameByType(prop_param->getType()));
Return value
Current One of the PARAMETER_* pre-defined variables; if an error occurs, -1 will be returned.bool isOverridden() const#
Return value
true if the property parameter is overridden; otherwise false.bool isInherited() const#
Return value
true if the property parameter is inherited from a parent; otherwise false.bool isHidden() const#
Return value
true if the property parameter is hidden; otherwise false.bool isExist() const#
Return value
true if the property parameter is an existing one; otherwise false.int getNumChildren() const#
Return value
Current total number of children of the property parameter.Ptr<PropertyParameter> getParent() const#
Return value
Current Parent property parameter, if it exists; otherwise, nullptr.UGUID getPropertyGUID() const#
Return value
Current GUID of the property that owns the parameter.Ptr<Property> getProperty() const#
Return value
Current property that owns the parameter.int getID() const#
Return value
Current ID of the property parameter.void setSwitchItem ( int item ) #
Suppose we have a property switch parameter declared as follows:
<parameter items="red=-1,green,blue=5,yellow"/>
After loading we'll have switch items with the following values: red = -1, green = 0, blue = 5, yellow = 6.
PropertyParameter::setValue(5); // "blue" shall be selected in the corresponding combobox in the UnigineEditor
PropertyParameter::setSwitchItem(3); // "yellow" shall be selected in the corresponding combobox in the UnigineEditor (as it is the 3-rd item, starting from 0).
// If "green" item is selected in the UnigineEditor:
PropertyParameter::getValueInt(); // returns 0, as "green" corresponds to the value of 0.
PropertyParameter::getSwitchItem() // returns 1, as "green" is the 1-st element in the combobox (starting from 0).
Arguments
- int item - The number of the item of the switch parameter.
int getSwitchItem() const#
Suppose we have a property switch parameter declared as follows:
<parameter items="red=-1,green,blue=5,yellow"/>
After loading we'll have switch items with the following values: red = -1, green = 0, blue = 5, yellow = 6.
PropertyParameter::setValue(5); // "blue" shall be selected in the corresponding combobox in the UnigineEditor
PropertyParameter::setSwitchItem(3); // "yellow" shall be selected in the corresponding combobox in the UnigineEditor (as it is the 3-rd item, starting from 0).
// If "green" item is selected in the UnigineEditor:
PropertyParameter::getValueInt(); // returns 0, as "green" corresponds to the value of 0.
PropertyParameter::getSwitchItem() // returns 1, as "green" is the 1-st element in the combobox (starting from 0).
Return value
Current number of the item of the switch parameter.void setValueIVec4 ( const Math::ivec4& ivec4 ) #
Arguments
- const Math::ivec4& ivec4 - The value of the property parameter.
Math::ivec4 getValueIVec4() const#
Return value
Current value of the property parameter.void setValueIVec3 ( const Math::ivec3& ivec3 ) #
Arguments
- const Math::ivec3& ivec3 - The value of the property parameter.
Math::ivec3 getValueIVec3() const#
Return value
Current value of the property parameter.void setValueIVec2 ( const Math::ivec2& ivec2 ) #
Arguments
- const Math::ivec2& ivec2 - The value of the property parameter.
Math::ivec2 getValueIVec2() const#
Return value
Current value of the property parameter.void setValueDVec4 ( const Math::dvec4& dvec4 ) #
Arguments
- const Math::dvec4& dvec4 - The value of the property parameter.
Math::dvec4 getValueDVec4() const#
Return value
Current value of the property parameter.void setValueDVec3 ( const Math::dvec3& dvec3 ) #
Arguments
- const Math::dvec3& dvec3 - The value of the property parameter.
Math::dvec3 getValueDVec3() const#
Return value
Current value of the property parameter.void setValueDVec2 ( const Math::dvec2& dvec2 ) #
Arguments
- const Math::dvec2& dvec2 - The value of the property parameter.
Math::dvec2 getValueDVec2() const#
Return value
Current value of the property parameter.void setValueVec2 ( const Math::vec2& vec2 ) #
Arguments
- const Math::vec2& vec2 - The value of the property parameter.
Math::vec2 getValueVec2() const#
Return value
Current value of the property parameter.bool isChild ( const Ptr<PropertyParameter> & parameter ) const#
Returns a value indicating if the specified property parameter is a child of this property parameter.Arguments
- const Ptr<PropertyParameter> & parameter - Property parameter to be checked.
Return value
true if the specified property parameter is a child of this property parameter; otherwise, false.int findChild ( const char * name ) const#
Returns the number of the child property parameter with the specified name.Arguments
- const char * name - Name of the child property parameter to be found.
Return value
Number of the child property parameter with the specified name, if it exists; otherwise, -1.Ptr<PropertyParameter> getChild ( int num ) const#
Returns a child property parameter by its number.Arguments
- int num - Number of the child property parameter in the range from 0 to the total number of children of this property parameter.
Return value
Child property parameter smart pointer, if it exists; otherwise, nullptr.Ptr<PropertyParameter> getChild ( const char * name ) const#
Returns a child property parameter by its name.Arguments
- const char * name - Child property parameter name.
Return value
Child property parameter smart pointer, if it exists; otherwise, nullptr.int getChildIndex ( const Ptr<PropertyParameter> & parameter ) const#
Returns the index of the specified child property parameter.Arguments
- const Ptr<PropertyParameter> & parameter - Child property parameter for which an index is to be found.
Return value
Index of the child property parameter in the range from 0 to the total number of children of this property parameter, if such a child exists; otherwise, -1.void setValue ( int value ) #
Sets the value of the property parameter using the integer value specified.Arguments
- int value - Integer value to be set as the value of the property parameter.
void setValue ( float value ) #
Sets the value of the property parameter using the float value specified.Arguments
- float value - Float value to be set as the value of the property parameter.
void setValue ( double value ) #
Sets the value of the property parameter using the double value specified.Arguments
- double value - Double value to be set as the value of the property parameter.
void setValue ( const char * value ) #
Sets the value of the property parameter using the string specified.Arguments
- const char * value - String to be set as the value of the property parameter.
void setValue ( const Math::vec2 & value ) #
Sets the value of the property parameter using the two-component vec2 vector specified.Arguments
- const Math::vec2 & value - Two-component float vector to be set as the value of the property parameter.
void setValue ( const Math::vec3 & value ) #
Sets the value of the property parameter using the three-component vec3 vector specified.Arguments
- const Math::vec3 & value - Three-component float vector to be set as the value of the property parameter.
void setValue ( const Math::vec4 & value ) #
Sets the value of the property parameter using the four-component vec4 vector specified.Arguments
- const Math::vec4 & value - Four-component float vector to be set as the value of the property parameter.
void setValue ( const Math::dvec2 & value ) #
Sets the value of the property parameter using the two-component dvec2 vector specified.Arguments
- const Math::dvec2 & value - Two-component double vector to be set as the value of the property parameter.
void setValue ( const Math::dvec3 & value ) #
Sets the value of the property parameter using the three-component dvec3 vector specified.Arguments
- const Math::dvec3 & value - Three-component double vector to be set as the value of the property parameter.
void setValue ( const Math::dvec4 & value ) #
Sets the value of the property parameter using the four-component dvec4 vector specified.Arguments
- const Math::dvec4 & value - Four-component double vector to be set as the value of the property parameter.
void setValue ( const Math::ivec2 & value ) #
Sets the value of the property parameter using the two-component ivec2 vector specified.Arguments
- const Math::ivec2 & value - Two-component integer vector to be set as the value of the property parameter.
void setValue ( const Math::ivec3 & value ) #
Sets the value of the property parameter using the three-component ivec3 vector specified.Arguments
- const Math::ivec3 & value - Three-component integer vector to be set as the value of the property parameter.
void setValue ( const Math::ivec4 & value ) #
Sets the value of the property parameter using the four-component ivec4 vector specified.Arguments
- const Math::ivec4 & value - Four-component integer vector to be set as the value of the property parameter.
void setValue ( const UGUID & value ) #
Sets the value of the property parameter using the UGUID value specified.Arguments
void setValue ( const Ptr<Node> & value ) #
Sets the value of the property parameter using the Node specified.Arguments
void setValue ( const Ptr<Material> & value ) #
Sets the value of the property parameter using the Material specified.Arguments
void setValue ( const Ptr<Property> & value ) #
Sets the value of the property parameter using the Property specified.Arguments
bool setValue ( const Variable & value ) #
Sets the value of the property parameter using the Variable specified.Arguments
Return value
true if the property value is set successfully; otherwise, false.void setValue ( const Ptr<Curve2d> & value ) #
Sets the value of the property parameter using the Curve2d value specified.Arguments
void resetValue ( ) #
Resets an overridden value of the property parameter.Variable getValue ( ) const#
Returns the current value of the property parameter as a Variable.Return value
Value of the property parameter.bool hasSliderMinValue ( ) const#
Returns a value indicating if the slider parameter has the minimum value specified. The slider parameter is a parameter of one of the following types: PARAMETER_INT, PARAMETER_FLOAT, PARAMETER_DOUBLE.Return value
true if the slider parameter has the minimum value specified; otherwise, false.bool hasSliderMaxValue ( ) const#
Returns a value indicating if the slider parameter has the maximum value specified. The slider parameter is a parameter of one of the following types: PARAMETER_INT, PARAMETER_FLOAT, PARAMETER_DOUBLE.Return value
true if the slider parameter has the maximum value specified; otherwise, false.const char * getSwitchItemName ( int item ) const#
Returns the name of the item of the switch parameter.Arguments
- int item - Number of the item of the switch parameter.
Return value
Name of the item of the switch parameter with the specified number.int getSwitchItemValue ( int item ) const#
Returns the value of the item of the switch parameter with the specified number.Arguments
- int item - Number of the item of the switch parameter.
Return value
Value of the item of the switch parameter with the specified number.const char * getValueFile ( ) const#
Returns the current value of the file parameter.Return value
Current file parameter valuebool getFileIsAsset ( ) const#
Returns a value indicating if the file parameter stores a reference to an asset file.Return value
true if the file parameter stores a reference to an asset file; otherwise, false.bool getFileIsRuntime ( ) const#
Returns a value indicating if the file parameter stores a reference to a runtime file.Return value
true if the file parameter stores a reference to a runtime file; otherwise, false.bool getFileIsAbsPath ( ) const#
Returns a value indicating if the file parameter stores an absolute file path.Return value
true if the file parameter stores an absolute file path; otherwise, false.bool isFileExist ( ) const#
Returns a value indicating if a file corresponding to the property parameter exists.Return value
true if a file corresponding to the property parameter exists; otherwise, false.bool saveState ( const Ptr<Stream> & stream ) const#
Saves data of the property parameter into a binary stream.Example using saveState() and restoreState() methods:
// create a property parameter and set its state
propertyparam1->setValueInt(7);
// save state
BlobPtr blob_state = Blob::create();
propertyparam1->saveState(blob_state);
// change state
propertyparam1->setValueInt(4);
// restore state
blob_state->seekSet(0); // returning the carriage to the start of the blob
propertyparam1->restoreState(blob_state, 0);
Arguments
Return value
true if the property parameter data is saved successfully; otherwise, false.bool restoreState ( const Ptr<Stream> & stream, int restore_mode = 0 ) #
Restores the data of the property parameter from a binary stream in the specified mode.Example using saveState() and restoreState() methods:
// create a property parameter and set its state
propertyparam1->setValueInt(7);
// save state
BlobPtr blob_state = Blob::create();
propertyparam1->saveState(blob_state);
// change state
propertyparam1->setValueInt(4);
// restore state
blob_state->seekSet(0); // returning the carriage to the start of the blob
propertyparam1->restoreState(blob_state, 0);
Arguments
- const Ptr<Stream> & stream - Stream in which the saved property parameter data is stored.
- int restore_mode - Restore mode. One of the Property::RESTORE_MODE_* values. The default value is Property::RESTORE_MODE_REPLACE.
Return value
true if the property parameter data is restored successfully; otherwise, false.bool isValuePropertyInternal ( ) const#
Checks if the property parameter flag is set to internal (flags="internal"). If it is internal, only a property assigned to some node can be assigned to it. If the property parameter is not internal, a property from the Asset Browser can be assigned to it.Return value
true if a property parameter's flag is set to "Internal"; otherwise, false.bool isValueFitFilter ( const Ptr<Node> & value ) const#
Checks if the type of the indicated node fits the current property parameter filter.Arguments
Return value
true, if the node fits the filter; otherwise, false.bool isValueFitFilter ( const Ptr<Property> & value ) const#
Checks if the indicated property fits the current property parameter filter.Arguments
Return value
true, if the property fits the filter; otherwise, false.bool isValueFitFilter ( const Ptr<Material> & value ) const#
Checks if the indicated material fits the current property parameter filter.Arguments
Return value
true, if the material fits the filter; otherwise, false.bool isValueFitFilter ( const UGUID & value ) const#
Checks if the indicated GUID fits the current property parameter filter.Arguments
- const UGUID & value