Clarisse 4.0 SP3 SDK  4.0.0.0.3
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Friends | List of all members
OfAttr Class Reference

Object Framework object attribute. OfAttrs describe attribute type, values, validators, dirtiness. They contain OfObject attributes values and are serialized. More...

Inheritance diagram for OfAttr:
CoreBaseObject CoreBaseType

Public Types

enum  Type {
  TYPE_BOOL = 0,
  TYPE_LONG,
  TYPE_DOUBLE,
  TYPE_STRING,
  TYPE_FILE,
  TYPE_REFERENCE,
  TYPE_OBJECT,
  TYPE_CURVE,
  TYPE_ACTION,
  TYPE_COUNT
}
 Type for all the attribute values. More...
 
enum  Container {
  CONTAINER_SINGLE,
  CONTAINER_ARRAY,
  CONTAINER_LIST,
  CONTAINER_COUNT
}
 Attribute value container type. More...
 
enum  ValuePage {
  VALUE_PAGE_CURRENT = 0,
  VALUE_PAGE_PREVIOUS,
  VALUE_PAGE_COUNT
}
 Attribute value page. More...
 
enum  VisualHint {
  VISUAL_HINT_ENUM,
  VISUAL_HINT_COLOR,
  VISUAL_HINT_FILENAME_SAVE,
  VISUAL_HINT_FILENAME_OPEN,
  VISUAL_HINT_FOLDER,
  VISUAL_HINT_PERCENTAGE,
  VISUAL_HINT_SCALE,
  VISUAL_HINT_DISTANCE,
  VISUAL_HINT_ANGLE,
  VISUAL_HINT_FREQUENCY,
  VISUAL_HINT_TIME,
  VISUAL_HINT_FRAME,
  VISUAL_HINT_SUBFRAME,
  VISUAL_HINT_SECOND,
  VISUAL_HINT_AREA,
  VISUAL_HINT_WATT,
  VISUAL_HINT_SAMPLE,
  VISUAL_HINT_SUBSAMPLE,
  VISUAL_HINT_SAMPLE_PER_PIXEL,
  VISUAL_HINT_SUBPIXEL,
  VISUAL_HINT_PIXEL,
  VISUAL_HINT_PARENT_REFERENCE,
  VISUAL_HINT_CONTEXT,
  VISUAL_HINT_L,
  VISUAL_HINT_LA,
  VISUAL_HINT_RGB,
  VISUAL_HINT_RGBA,
  VISUAL_HINT_GRADIENT,
  VISUAL_HINT_MEMSIZE,
  VISUAL_HINT_TAG,
  VISUAL_HINT_TAG_MENU,
  VISUAL_HINT_SCRIPT,
  VISUAL_HINT_MULTILINE,
  VISUAL_HINT_GROUP,
  VISUAL_HINT_CUSTOM_UI,
  VISUAL_HINT_DEFAULT,
  VISUAL_HINT_COUNT
}
 Additional attribute type information. More...
 
enum  Flag {
  FLAG_PRIVATE = 1 << 0,
  FLAG_HIDDEN = 1 << 1,
  FLAG_SAVEABLE = 1 << 2,
  FLAG_TEXTURABLE = 1 << 3,
  FLAG_ANIMATABLE = 1 << 4,
  FLAG_SLIDER = 1 << 5,
  FLAG_NUMERIC_RANGE = 1 << 6,
  FLAG_UI_RANGE = 1 << 7,
  FLAG_DG_ACTIVE = 1 << 8,
  FLAG_DG_CYCLIC = 1 << 9,
  FLAG_DIRTINESS_PASS_THROUGH = 1 << 10,
  FLAG_READ_ONLY = 1 << 11,
  FLAG_SHADING_VARIABLE = 1 << 12,
  FLAG_EXPERIMENTAL = 1 << 13,
  FLAG_ADVANCED = 1 << 14,
  FLAG_OVERRIDEN = 1 << 15,
  FLAG_PROMOTE_ATTRIBUTE = 1 << 16,
  FLAG_ALLOW_EXPRESSION = 1 << 17,
  FLAG_COUNT = 18
}
 Defines states and caps. More...
 
enum  TextureMode {
  TEXTURE_MODE_REPLACE,
  TEXTURE_MODE_MULTIPLY,
  TEXTURE_MODE_ADD,
  TEXTURE_MODE_ALPHA_BLEND,
  TEXTURE_MODE_COUNT
}
 Defines how texture evaluated values are mixed with the attribute values. More...
 
enum  Dirtiness {
  DIRTINESS_NONE = 0,
  DIRTINESS_MOTION_TRANSLATE = 1 << 0,
  DIRTINESS_MOTION_ROTATE = 1 << 1,
  DIRTINESS_MOTION_SCALE = 1 << 2,
  DIRTINESS_MOTION,
  DIRTINESS_PARENTING = 1 << 3,
  DIRTINESS_SHADING_MATERIAL = 1 << 4,
  DIRTINESS_SHADING_LIGHT = 1 << 5,
  DIRTINESS_SHADING_GROUP_MATERIAL = 1 << 6,
  DIRTINESS_SHADING_GROUP_VISIBILITY = 1 << 7,
  DIRTINESS_SHADING_GROUP = DIRTINESS_SHADING_GROUP_MATERIAL | DIRTINESS_SHADING_GROUP_VISIBILITY,
  DIRTINESS_SHADING_VARIABLE = 1 << 8,
  DIRTINESS_SHADING,
  DIRTINESS_GEOMETRY_BASE = 1 << 9,
  DIRTINESS_GEOMETRY_DEFORMED = 1 << 10,
  DIRTINESS_GEOMETRY = DIRTINESS_GEOMETRY_BASE | DIRTINESS_GEOMETRY_DEFORMED,
  DIRTINESS_IMAGE = 1 << 11,
  DIRTINESS_GL = 1 << 12,
  DIRTINESS_MOTION_BLUR = 1 << 13,
  DIRTINESS_ALL = (1 << 14) - 1,
  DIRTINESS_COUNT = 20
}
 Defines the driving type associated to attributes. More...
 
enum  DirtinessFlag {
  DIRTINESS_FLAG_NONE = 0,
  DIRTINESS_FLAG_LOCALIZE = 1 << 0,
  DIRTINESS_FLAG_DESERIALIZE = 1 << 1,
  DIRTINESS_FLAG_GRAPH = 1 << 2,
  DIRTINESS_FLAG_AOV = 1 << 3,
  DIRTINESS_FLAG_CHANGE = 1 << 4,
  DIRTINESS_FLAG_COUNT = 6
}
 Extra information about attribute change encoded as a binary mask. More...
 
enum  CyclicCheckInfo {
  CYCLIC_CHECK_AND_WARN,
  CYCLIC_CHECK_ONLY,
  CYCLIC_CHECK_NONE
}
 Define the possible behaviors of cyclic dependency checks.
 
enum  AttrReadOnlyMask {
  RO_PARENT_MASK = 1 << 2,
  RO_SOURCE_MASK = 1 << 3,
  RO_EXT_REF_MASK = 1 << 4,
  RO_MUTE_MASK = 1 << 5,
  RO_OVERRIDE_MASK = 1 << 6,
  RO_LOCK_MASK = 1 << 7
}
 
typedef void(* ValidatorBool )(const OfAttr &, bool &, void *)
 
typedef void(* ValidatorLong )(const OfAttr &, long &, void *)
 
typedef void(* ValidatorDouble )(const OfAttr &, double &, void *)
 
typedef void(* ValidatorString )(const OfAttr &, CoreString &, void *)
 
typedef void(* ValidatorObject )(const OfAttr &, OfObject *&, void *)
 
typedef void(* ValidatorBoolIndexed )(const OfAttr &, bool &, unsigned int, void *)
 
typedef void(* ValidatorLongIndexed )(const OfAttr &, long &, unsigned int, void *)
 
typedef void(* ValidatorDoubleIndexed )(const OfAttr &, double &, unsigned int, void *)
 
typedef void(* ValidatorStringIndexed )(const OfAttr &, CoreString &, unsigned int, void *)
 
typedef void(* ValidatorObjectIndexed )(const OfAttr &, OfObject *&, unsigned int, void *)
 
typedef void(* TagCandidateCallback )(const OfObject &, const OfAttr &, CoreVector< CoreString > &, CoreArray< bool > &preset_hints)
 

Public Member Functions

CoreString get_flags_names ()
 Returns the all the stringified name of all the attribute flags separated by a semicolon.
 
bool is_custom () const
 Returns true if this attribute is a custom attribute (aka not a Class attribute).
 
bool is_custom_root () const
 Returns true if this attribute is a custom attribute of the root object where the custom has been added.
 
bool is_custom_instance () const
 Returns true if this attribute is a custom attribute of an instance object where the custom is inherited.
 
int get_flags () const
 Returns the flags binary mask for this attribute.
 
void set_flags (const int &flags)
 Sets the flags binary mask for this attribute.
 
const CoreStringget_group_name () const
 Returns the attribute group holding this attribute.
 
const unsigned int & get_dependency_count () const
 
OfAttrget_dependency (const unsigned int &index) const
 
void add_dependency (const CoreString attr_name)
 
void remove_dependency (const CoreString attr_name)
 
OfAppget_application () const
 Accessor to the application.
 
OfObjectFactoryget_factory () const
 Accessor to object factory.
 
OfContextget_context () const
 Accessor to the context containing the parent object of this attribute.
 
OfObjectget_parent_object () const
 Returns the object containing this attribute.
 
OfAttrget_parent_attribute () const
 Returns the attribute of the embedding object that is referencing this attribute.
 
OfObjectget_top_object () const
 Returns top-most object containing this attribute.
 
const Typeget_type () const
 Returns the type of this attribute.
 
const VisualHintget_visual_hint () const
 Returns the visual hint of this attribute.
 
OfAttrget_proto () const
 Returns the attribute of the same name found in the class protoype.
 
const Containerget_container () const
 Returns the type of value container used by this attribute.
 
void set_container (const Container &container)
 Set the type of value container used by this attribute. Can't change the container if the attribute has a prototype.
 
bool is_single () const
 Returns true if this attribute holds only one single value.
 
bool is_array () const
 Returns true if this attribute holds an array of values.
 
bool is_list () const
 Returns true if this attribute holds a list of values.
 
bool is_numeric_type () const
 Returns true if this attribute is either of TYPE_BOOL, TYPE_LONG or TYPE_DOUBLE.
 
const CoreStringget_doc () const
 Returns the associated documentation for this attribute.
 
void add_preset (const CoreString &preset_label, const CoreString &preset_value, const GuiIcon *icon=0)
 Add a preset value to this attribute.
 
void remove_preset (const CoreString &label)
 Removes the preset, specified by its label, from this attribute.
 
void remove_preset (const unsigned int &index)
 Removes the preset, specified by its index, from this attribute.
 
void remove_all_presets ()
 Removes all presets from this attribute.
 
bool has_preset () const
 Returns true if this attribute has presets.
 
const unsigned int & get_preset_count () const
 Returns the number of preset values for this attribute.
 
CoreString get_preset_label (const unsigned int &preset_index) const
 Returns the label of the preset for the given index or an empty string if out of range.
 
CoreString get_preset_value (const unsigned int &preset_index) const
 Returns the value of the preset for the given index or an empty string if out of range.
 
const GuiIconget_preset_icon (const unsigned int &preset_index) const
 Returns the icon of the preset for the given index or a null pointer if out of range.
 
CoreString get_preset_value (const CoreString &preset_label) const
 Returns the value of the preset for the given label or an empty string if not found.
 
int get_preset_index (const CoreString &preset_label) const
 Returns the index of the preset for the given label or -1 if not found (quietly).
 
void set_preset_label (const unsigned int &preset_index, const CoreString &preset_label)
 
void set_preset_value (const unsigned int &preset_index, const CoreString &preset_value)
 
void set_preset_value (const CoreString &preset_label, const CoreString &preset_value)
 
void apply_preset (const CoreString &preset_label)
 Sets the value of this attribute by applying the preset matching the given label.
 
void apply_preset (const unsigned int &preset_index)
 Sets the value of this attribute by applying the preset at the given index.
 
unsigned int get_applied_preset_index () const
 Returns the index of the applied preset or -1 if the current value if not matching any preset.
 
CoreString get_applied_preset_label () const
 Returns the label of the applied preset or an empty string if the current value if not matching any preset.
 
void get_preset_hints (CoreArray< bool > &hints) const
 Gather an array of hints used by the UI to tag the presets.
 
const CoreStringget_null_label () const
 Returns the label dispplayed in the UI when a reference attribute is not referencing any object for example.
 
void set_null_label (const CoreString &label)
 Set the label displayed in the UI.
 
const CoreStringget_null_value () const
 Returns the null value. If this value is set in the value, the UI displayed the null label in the UI field. (String, Numeric)
 
void set_null_value (const CoreString &value)
 Set the label displayed in the UI.
 
OfActionadd_action (const CoreString &name)
 Adds an action to this attribute.
 
bool has_actions () const
 Returns true if this attribute can perform actions.
 
const CoreVector< OfAction * > & get_actions () const
 Returns the actions this attribute can perform.
 
const CoreStringget_name () const
 Returns the name of this attribute.
 
CoreString get_full_name () const
 Returns the full name of this attribute.
 
void localize (const bool &flag, void *requester=0)
 Makes the attribute value local to the object if the attribute was inheriting its value from a source attribute.
 
void reset ()
 Resets the attribute to its default.
 
OfAttrget_source ()
 Returns the source attribute of this attribute, considering attribute state (disabled, muted, ...)
 
const OfAttrget_source () const
 
OfAttrget_serialized_source ()
 Returns the source attribute of this attribute, without considering attribute state (disabled, muted, ...)
 
const OfAttrget_serialized_source () const
 
void set_value_count (const unsigned int &count, void *requester=0)
 Set the number of values contained in this attribute.
 
void remove_item (const unsigned int &index, void *requester=0)
 Removes the attribute value at the given index. This method does not consider the container type of the attribute and behaves like a list.
 
void remove_item (const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Removes the attribute values at the given indices. This method does not consider the container type of the attribute and behaves like a list.
 
void remove_item (const CoreList< unsigned int > &indices, void *requester=0)
 Removes the attribute values at the given indices. This method does not consider the container type of the attribute and behaves like a list.
 
void remove_all (void *requester=0)
 Empties the array of attribute values.
 
void move_item (const unsigned int &from, const unsigned int &to, void *requester=0)
 Moves the position of an attribute value in the array/list of attribute values.
 
void permute (const CoreBasicArray< unsigned int > &permutation, const bool &check_permutation=true, void *requester=0)
 Permutes the position of all the attribute values.
 
void permute (const CoreList< unsigned int > &permutation, const bool &check_permutation=true, void *requester=0)
 Permutes the position of all the attribute values.
 
const unsigned int get_serialized_value_count () const
 <
 
const unsigned int get_value_count (const bool &consider_disabled=true) const
 
bool is_vec3d () const
 Returns true if this attribute is a numeric type and counts 3 values.
 
bool is_vec4d () const
 Returns true if this attribute is a numeric type and counts 4 values.
 
void set_bool (const bool &value, const unsigned int &index=0, void *requester=0)
 Assigns a boolean value to the attribute value at the given index.
 
void drive_bool (const bool &value, const unsigned int &index=0, void *requester=0)
 Assigns a boolean value to the attribute value at the given index. The value change is assumed to be "driven" and should not trigger any override. The value change will still be serialized if its a regular object or if an override already exists on this attribute.
 
void change_bool (const bool &value, const unsigned int &index=0, void *requester=0)
 Changes the value of the current page of the attribute value at the given index.
 
void set_bool (const CoreBasicArray< bool > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Set attribute values from the specified array of values and indices.
 
void change_bool (const CoreBasicArray< bool > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Set attribute values from the specified array of values and indices.
 
void set_bool (const CoreBasicArray< bool > &values, void *requester=0)
 Set all attribute values from the specified array of values.
 
void change_bool (const CoreBasicArray< bool > &values, void *requester=0)
 Change all values in the current page from the specified array of values.
 
void set_bool (const CoreList< bool > &values, void *requester=0)
 Set all attribute values from the specified list of values.
 
void change_bool (const CoreList< bool > &values, void *requester=0)
 Change all values in the current page from the specified list of values.
 
void add_bool (const bool &value, void *requester=0)
 Appends the specified value to the array of attribute values.
 
void toggle_bool (const unsigned int &index=0, void *requester=0)
 
bool get_bool (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a boolean.
 
void get_values (CoreArray< bool > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as booleans into the specified array for the given value page after expression evaluation.
 
void get_values (CoreVector< bool > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as booleans into the specified vector for the given value page after expression evaluation.
 
bool get_raw_bool (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a boolean.
 
void get_raw_values (CoreArray< bool > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as booleans into the specified vector for the given value page before expression evaluation. deprecated: value before expression evaluation on a boolean is meaningless, use get_values instead.
 
void get_raw_values (CoreVector< bool > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 
bool get_serialized_bool (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a boolean.
 
void get_serialized_values (CoreArray< bool > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as booleans into the specified array for the given value page, the serialized value is value stored in the serialization process.
 
void get_serialized_values (CoreVector< bool > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as booleans into the specified vector for the given value page, the serialized value is value stored in the serialization process.
 
void set_long (const long &value, const unsigned int &index=0, void *requester=0)
 Assigns a long integer number to the attribute value at the given index.
 
void change_long (const long &value, const unsigned int &index=0, void *requester=0)
 Changes the value of the current page of the attribute value at the given index.
 
void set_long (const CoreBasicArray< long > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Set attribute values from the specified array of values and indices.
 
void change_long (const CoreBasicArray< long > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Set attribute values from the specified array of values and indices.
 
void set_long (const CoreBasicArray< long > &values, void *requester=0)
 Set all attribute values from the specified array of values.
 
void change_long (const CoreBasicArray< long > &values, void *requester=0)
 Change all values in the current page from the specified array of values.
 
void set_long (const CoreList< long > &values, void *requester=0)
 Set all attribute values from the specified list of values.
 
void change_long (const CoreList< long > &values, void *requester=0)
 Change all values in the current page from the specified list of values.
 
void add_long (const long &value, void *requester=0)
 Appends the specified value to the array of attribute values.
 
void inc_long (const long &value, const unsigned int &index=0, void *requester=0)
 
long get_long (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a long integer number.
 
void get_values (CoreArray< long > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as long integer numbers into the specified array for the given value page after expression evaluation.
 
void get_values (CoreVector< long > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as long integer numbers into the specified vector for the given value page after expression evaluation.
 
long get_raw_long (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a long integer number.
 
void get_raw_values (CoreArray< long > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as long integer numbers into the specified vector for the given value page before expression evaluation. deprecated: value before expression evaluation on a long is meaningless, use get_values instead.
 
void get_raw_values (CoreVector< long > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 
long get_serialized_long (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a long integer number.
 
void get_serialized_values (CoreArray< long > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as long integer numbers into the specified array for the given value page, the serialized value is value stored in the serialization process.
 
void get_serialized_values (CoreVector< long > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as long integer numbers into the specified vector for the given value page, the serialized value is value stored in the serialization process.
 
void set_double (const double &value, const unsigned int &index=0, void *requester=0)
 Assigns a double precision floating point number to the attribute value at the given index.
 
void change_double (const double &value, const unsigned int &index=0, void *requester=0)
 Changes the value of the current page of the attribute value at the given index.
 
void set_double (const CoreBasicArray< double > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Set attribute values from the specified array of values and indices.
 
void change_double (const CoreBasicArray< double > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Set attribute values from the specified array of values and indices.
 
void set_double (const CoreBasicArray< double > &values, void *requester=0)
 Set all attribute values from the specified array of values.
 
void change_double (const CoreBasicArray< double > &values, void *requester=0)
 Change all values in the current page from the specified array of values.
 
void set_double (const CoreList< double > &values, void *requester=0)
 Set all attribute values from the specified list of values.
 
void change_double (const CoreList< double > &values, void *requester=0)
 Change all values in the current page from the specified list of values.
 
void set_vec3d (const GMathVec3d &vec, void *requester=0)
 Assigns a GMathVec3d to the attribute value at the given index.
 
void change_vec3d (const GMathVec3d &vec, void *requester=0)
 Changes the value of the current page of the attribute value at the given index.
 
void set_vec4d (const GMathVec4d &vec, void *requester=0)
 Assigns a GMathVec4d to the attribute value at the given index.
 
void change_vec4d (const GMathVec4d &vec, void *requester=0)
 Changes the value of the current page of the attribute value at the given index.
 
void add_double (const double &value, void *requester=0)
 Appends the specified value to the array of attribute values.
 
void inc_double (const double &value, const unsigned int &index=0, void *requester=0)
 
double get_double (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a double precision floating point number.
 
void get_values (CoreArray< double > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as double precision floating point numbers into the specified array for the given value page after expression evaluation.
 
void get_values (CoreVector< double > &values, const ValuePage &pages=VALUE_PAGE_CURRENT) const
 Returns all the values as double precision floating point numbers into the specified vector for the given value page after expression evaluation.
 
GMathVec2d get_vec2d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec2d.
 
GMathVec3d get_vec3d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec3d.
 
GMathVec4d get_vec4d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec4d.
 
double get_raw_double (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a double precision floating point number.
 
void get_raw_values (CoreArray< double > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as double precision floating point numbers into the specified vector for the given value page before expression evaluation. deprecated: value before expression evaluation on a double is meaningless, use get_values instead.
 
void get_raw_values (CoreVector< double > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 
GMathVec2d get_raw_vec2d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec2d.
 
GMathVec3d get_raw_vec3d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec3d.
 
GMathVec4d get_raw_vec4d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec4d.
 
double get_serialized_double (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a double precision floating point number.
 
void get_serialized_values (CoreArray< double > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as double precision floating point numbers into the specified array for the given value page, the serialized value is value stored in the serialization process.
 
void get_serialized_values (CoreVector< double > &value, const ValuePage &pages=VALUE_PAGE_CURRENT) const
 Returns all the values as double precision floating point numbers into the specified vector for the given value page, the serialized value is value stored in the serialization process.
 
GMathVec2d get_serialized_vec2d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec2d.
 
GMathVec3d get_serialized_vec3d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec3d.
 
GMathVec4d get_serialized_vec4d (const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a GMathVec4d.
 
void set_string (const CoreString &value, const unsigned int &index=0, void *requester=0)
 Assigns a character string to the attribute value at the given index.
 
void change_string (const CoreString &value, const unsigned int &index=0, void *requester=0)
 Changes the value of the current page of the attribute value at the given index.
 
void set_string (const CoreBasicArray< CoreString > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Assigns a character string to the attribute value at the given index.
 
void change_string (const CoreBasicArray< CoreString > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0)
 Changes the value of the current page of the attribute value at the given index.
 
void set_string (const CoreBasicArray< CoreString > &values, void *requester=0)
 Set all attribute values from the specified array of values.
 
void change_string (const CoreBasicArray< CoreString > &values, void *requester=0)
 Change all values in the current page from the specified array of values.
 
void set_string (const CoreList< CoreString > &values, void *requester=0)
 Set all attribute values from the specified list of values.
 
void change_string (const CoreList< CoreString > &values, void *requester=0)
 Change all values in the current page from the specified list of values.
 
void add_string (const CoreString &value, void *requester=0)
 Appends the specified value to the array of attribute values.
 
void add_string (const CoreBasicArray< CoreString > &values, void *requester=0)
 Appends the specified value to the array of attribute values.
 
CoreString get_string (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns the attribute value as a string.
 
void get_values (CoreArray< CoreString > &values, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns all the values as character strings into the specified array for the given value page after expression evaluation.
 
void get_values (CoreVector< CoreString > &values, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns all the values as character strings into the specified vector for the given value page after expression evaluation.
 
CoreString get_raw_string (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns the attribute value as a character string.
 
void get_raw_values (CoreArray< CoreString > &values, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns all the values as character strings into the specified array for the given value page before expression evaluation.
 
void get_raw_values (CoreVector< CoreString > &values, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns all the values as character strings into the specified vector for the given value page before expression evaluation.
 
CoreString get_serialized_string (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a character string.
 
void get_serialized_values (CoreArray< CoreString > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as character strings into the specified array for the given value page, the serialized value is value stored in the serialization process.
 
void get_serialized_values (CoreVector< CoreString > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as character strings into the specified vector for the given value page, the serialized value is value stored in the serialization process.
 
void set_object (OfObject *value, const unsigned int &index=0, void *requester=0, const CyclicCheckInfo &cyclic_check=OfAttr::CYCLIC_CHECK_AND_WARN)
 Assigns a OfObject pointer to the attribute value at the given index.
 
void set_object (const CoreBasicArray< OfObject * > &values, const CoreBasicArray< unsigned int > &indices, void *requester=0, const CyclicCheckInfo &cyclic_check=OfAttr::CYCLIC_CHECK_AND_WARN)
 Set attribute values from the specified array of values and indices.
 
void set_object (const CoreBasicArray< OfObject * > &values, void *requester=0, const CyclicCheckInfo &cyclic_check=OfAttr::CYCLIC_CHECK_AND_WARN)
 Set all attribute values from the specified array of values.
 
void set_object (const CoreList< OfObject * > &values, void *requester=0, const CyclicCheckInfo &cyclic_check=OfAttr::CYCLIC_CHECK_AND_WARN)
 Set all attribute values from the specified list of values.
 
void add_object (OfObject *value, void *requester=0)
 Appends the specified value to the array of attribute values.
 
void add_object (const CoreBasicArray< OfObject * > &values, void *requester=0)
 Appends the specified value to the array of attribute values.
 
void add_string (const CoreString &class_name, const CoreString &object_name, void *requester=0)
 Creates an embedded OfObject and appends it to the array of attribute values.
 
void add_string (const CoreBasicArray< CoreString > &class_name, const CoreBasicArray< CoreString > &object_name, void *requester=0)
 Creates an embedded OfObject and appends it to the array of attribute values.
 
void add_string (const CoreString &class_name, const CoreString &object_name, const CoreString &source_name, void *requester)
 Creates an embedded OfObject and appends it to the array of attribute values.
 
void add_string (const CoreBasicArray< CoreString > &values, const CoreBasicArray< CoreString > &object_names, const CoreBasicArray< CoreString > &source_names, void *requester)
 Creates an embedded OfObject and appends it to the array of attribute values.
 
void add_entry (const ParserEntry &entry, void *requester=0, const OfSerialOptions &options=OfSerialOptions::get_default())
 Appends a TYPE_OBJECT attribute by deserializing the specified OfObject entry.
 
void remove_object (const OfObject &object, void *requester=0)
 Removes the specified OfObject from the array of attribute values.
 
OfObjectget_object (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns the attribute value as an OfObject pointer.
 
void get_values (CoreArray< OfObject * > &values, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns all the values as OfObject pointers into the specified array for the given value page after expression evaluation.
 
void get_values (CoreVector< OfObject * > &values, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns all the values as OfObject pointers into the specified vector for the given value page after expression evaluation.
 
OfObjectget_group (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns a group containing the referenced object or the referenced object itself if the object is a group.
 
OfObjectget_raw_object (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns the attribute value as a OfObject.
 
void get_raw_values (CoreArray< OfObject * > &values, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 Returns all the values as OfObject pointers into the specified vector for the given value page before expression evaluation.
 
void get_raw_values (CoreVector< OfObject * > &values, const ValuePage &page=VALUE_PAGE_CURRENT, const bool &consider_disabled=true) const
 
OfObjectget_serialized_object (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a OfObject.
 
void get_serialized_values (CoreArray< OfObject * > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as OfObject pointers into the specified array for the given value page, the serialized value is value stored in the serialization process.
 
void get_serialized_values (CoreVector< OfObject * > &values, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns all the values as OfObject pointers into the specified vector for the given value page, the serialized value is value stored in the serialization process.
 
OfObjectget_serialized_group (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a group containing the referenced object or the referenced object itself if the object is a group.
 
void set_curve (const FCurve &curve, const unsigned int &index, void *requester=0)
 Assign a curve to a value of this attribute.
 
void change_curve (const FCurve &curve, const unsigned int &index, void *requester=0)
 Assign a curve to a value of this attribute.
 
void add_curve_key (const int &key_type, const double &x, const double &y, const unsigned int &index, void *requester=0)
 Adds a f-curve key to a TYPE_CURVE attribute value.
 
void add_curve_key (const int &key_type, const double &x, const CoreBasicArray< double > &y, void *requester=0)
 Adds multiple f-curve keys to TYPE_CURVE attribute values.
 
void remove_curve_key (const FCurveKeyId &key_id, const unsigned int &index, void *requester=0)
 Removes a f-curve key to a TYPE_CURVE attribute value.
 
void remove_curve_key (const FCurveKeyId &key_id, void *requester=0)
 Removes multiple f-curve keys to TYPE_CURVE attribute values.
 
void remove_curve_key (const CoreBasicArray< FCurveKeyId > &key_ids, const unsigned int &index, void *requester=0)
 Removes multiple f-curve keys to a TYPE_CURVE attribute value.
 
void remove_curve_key (const CoreBasicArray< FCurveKeyId > &key_ids, void *requester=0)
 Removes multiple f-curve keys to multiple TYPE_CURVE attribute values.
 
void set_curve_key_type (const int &key_type, const FCurveKeyId &key_id, const unsigned int &index, void *requester=0)
 Set the FCurveKey::KeyType of the f-curve key of a TYPE_CURVE attribute value.
 
void set_curve_key_type (const int &key_type, const FCurveKeyId &key_id, void *requester=0)
 Set the FCurveKey::KeyType of the f-curve key of multiple TYPE_CURVE attribute values.
 
void set_curve_key_type (const int &key_type, const CoreBasicArray< FCurveKeyId > &key_ids, const unsigned int &index, void *requester=0)
 Set the FCurveKey::KeyType of multiple f-curve keys of a TYPE_CURVE attribute value.
 
void set_curve_key_type (const int &key_type, const CoreBasicArray< FCurveKeyId > &key_ids, void *requester=0)
 Set the FCurveKey::KeyType of multiple f-curve keys of multiple TYPE_CURVE attribute values.
 
void set_curve_key_x (const double &x, const FCurveKeyId &key_id, const unsigned int &index, void *requester=0)
 Set the value on the X axis of the f-curve key of a TYPE_CURVE attribute value.
 
void set_curve_key_x (const CoreBasicArray< double > &x, const CoreBasicArray< FCurveKeyId > &key_ids, const unsigned int &index, void *requester=0)
 Set the value on the X axis of multiple f-curve keys of a TYPE_CURVE attribute value.
 
void set_curve_key_x (const double &x, const FCurveKeyId &key_id, void *requester=0)
 Set the same X axis value for a f-curve key for each TYPE_CURVE attribute value.
 
void set_curve_key_x (const CoreBasicArray< double > &x, const CoreBasicArray< FCurveKeyId > &key_ids, void *requester=0)
 Set the value on the X axis of multiple f-curve keys of multiple TYPE_CURVE attribute values.
 
void change_curve_key_x (const double &x, const FCurveKeyId &key_id, const unsigned int &index, void *requester=0)
 Changes the value on the X axis of the f-curve key of a TYPE_CURVE attribute value.
 
void change_curve_key_x (const CoreBasicArray< double > &x, const CoreBasicArray< FCurveKeyId > &key_ids, const unsigned int &index, void *requester=0)
 Changes the value on the X axis of multiple f-curve keys of a TYPE_CURVE attribute value.
 
void change_curve_key_x (const double &x, const FCurveKeyId &key_id, void *requester=0)
 Changes the same X axis value for a f-curve key for each TYPE_CURVE attribute value.
 
void change_curve_key_x (const CoreBasicArray< double > &x, const CoreBasicArray< FCurveKeyId > &key_ids, void *requester=0)
 Changes the value on the X axis of multiple f-curve keys of multiple TYPE_CURVE attribute values.
 
void set_curve_key_y (const double &y, const FCurveKeyId &key_id, const unsigned int &index, void *requester=0)
 Set the value on the Y axis of the f-curve key of a TYPE_CURVE attribute value.
 
void set_curve_key_y (const CoreBasicArray< double > &y, const FCurveKeyId &key_id, void *requester=0)
 Set the value on the Y axis of multiple f-curve keys of a TYPE_CURVE attribute value.
 
void set_curve_key_y (const double &y, const CoreBasicArray< FCurveKeyId > &key_ids, const unsigned int &index, void *requester=0)
 Set the same Y axis value for a f-curve key for each TYPE_CURVE attribute value.
 
void set_curve_key_y (const CoreBasicArray< double > &y, const CoreBasicArray< FCurveKeyId > &key_ids, void *requester=0)
 Set the value on the Y axis of multiple f-curve keys of multiple TYPE_CURVE attribute values.
 
void change_curve_key_y (const double &y, const FCurveKeyId &key_id, const unsigned int &index, void *requester=0)
 Changes the value on the Y axis of the f-curve key of a TYPE_CURVE attribute value.
 
void change_curve_key_y (const CoreBasicArray< double > &y, const FCurveKeyId &key_id, void *requester=0)
 Changes the value on the Y axis of multiple f-curve keys of a TYPE_CURVE attribute value.
 
void change_curve_key_y (const double &y, const CoreBasicArray< FCurveKeyId > &key_ids, const unsigned int &index, void *requester=0)
 Changes the same Y axis value for a f-curve key for each TYPE_CURVE attribute value.
 
void change_curve_key_y (const CoreBasicArray< double > &y, const CoreBasicArray< FCurveKeyId > &key_ids, void *requester=0)
 Changes the value on the Y axis of multiple f-curve keys of multiple TYPE_CURVE attribute values.
 
const FCurveget_curve (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a f-curve.
 
double get_curve_double (const double &parameter, const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a f-curve evaluation as a single value y = f[index](parameter).
 
double get_double_at (const double &time, const unsigned int &index=0) const
 Returns the value as a double precision floating point number at the given time.
 
void get_curve_values (CoreArray< double > &values, const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Performs a multi f-curve evaluation (y0 = f[0](parameter), ..., yN = f[N](parameter)).
 
void get_curve_values (CoreVector< double > &values, const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Performs a multi f-curve evaluation (y0 = f[0](parameter), ..., yN = f[N](parameter)).
 
void get_curve_values (CoreArray< double > &values, const CoreBasicArray< double > &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Performs a multi f-curve evaluation with multiple input parameters (y0 = f[0](parameter[0]), ..., yN = f[N](parameter[N])).
 
GMathVec2d get_curve_vec2d (const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec2d (y0 = f[0](parameter), y1 = f[1](parameter)).
 
GMathVec2d get_curve_vec2d (const GMathVec2d &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec2d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1])).
 
GMathVec3d get_curve_vec3d (const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec3d (y0 = f[0](parameter), y1 = f[1](parameter), y2 = f[2](parameter)).
 
GMathVec3d get_vec3d_at (const double &time) const
 Returns the value as a GMathVec3d at the given time.
 
GMathVec3d get_curve_vec3d (const GMathVec3d &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec3d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1]), y2 = f[2](parameter[2])).
 
GMathVec4d get_curve_vec4d (const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec4d (y0 = f[0](parameter), y1 = f[1](parameter), y2 = f[2](parameter), y3 = f[3](parameter)).
 
GMathVec4d get_vec4d_at (const double &time) const
 Returns the value as a GMathVec4d at the given time.
 
GMathVec4d get_curve_vec4d (const GMathVec4d &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec4d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1]), y2 = f[2](parameter[2]), y3 = f[3](parameter[3])).
 
const FCurveget_serialized_curve (const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns the attribute value as a f-curve.
 
double get_serialized_curve_double (const double &parameter, const unsigned int &index=0, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a f-curve evaluation as a single value y = f[index](parameter).
 
double get_serialized_double_at (const double &time, const unsigned int &index=0) const
 Returns the value as a double precision floating point number at the given time.
 
void get_serialized_curve_values (CoreArray< double > &values, const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Performs a multi f-curve evaluation (y0 = f[0](parameter), ..., yN = f[N](parameter)).
 
void get_serialized_curve_values (CoreVector< double > &values, const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Performs a multi f-curve evaluation (y0 = f[0](parameter), ..., yN = f[N](parameter)).
 
void get_serialized_curve_values (CoreArray< double > &values, const CoreBasicArray< double > &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Performs a multi f-curve evaluation with multiple input parameters (y0 = f[0](parameter[0]), ..., yN = f[N](parameter[N])).
 
GMathVec2d get_serialized_curve_vec2d (const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec2d (y0 = f[0](parameter), y1 = f[1](parameter)).
 
GMathVec2d get_serialized_curve_vec2d (const GMathVec2d &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec2d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1])).
 
GMathVec3d get_serialized_curve_vec3d (const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec3d (y0 = f[0](parameter), y1 = f[1](parameter), y2 = f[2](parameter)).
 
GMathVec3d get_serialized_vec3d_at (const double &time) const
 Returns the value as a GMathVec3d at the given time.
 
GMathVec3d get_serialized_curve_vec3d (const GMathVec3d &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec3d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1]), y2 = f[2](parameter[2])).
 
GMathVec4d get_serialized_curve_vec4d (const double &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec4d (y0 = f[0](parameter), y1 = f[1](parameter), y2 = f[2](parameter), y3 = f[3](parameter)).
 
GMathVec4d get_serialized_vec4d_at (const double &time) const
 Returns the value as a GMathVec4d at the given time.
 
GMathVec4d get_serialized_curve_vec4d (const GMathVec4d &parameter, const ValuePage &page=VALUE_PAGE_CURRENT) const
 Returns a multi f-curve evaluation as a GMathVec4d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1]), y2 = f[2](parameter[2]), y3 = f[3](parameter[3])).
 
bool is_animatable () const
 Returns true if this attribute can be animated.
 
void set_animatable (const bool &flag)
 Sets whether this attribute can be animated or not.
 
void set_time (const double &time)
 
AnimFCurveadd_fcurve (const unsigned int &index, void *requester=0)
 Creates a new animation f-curve and binds it an attribute value.
 
AnimFCurveadd_fcurve_with_key (const unsigned int &index, void *requester=0)
 Creates a new animation f-curve, automatically creates a keyframe for the current value at the current time, and binds it an attribute value.
 
AnimFCurveadd_fcurve (const ParserEntry &entry, const unsigned int &index, void *requester=0)
 Creates a new animation f-curve and sets its value from the specified parser entry.
 
void set_key (const double &time, const unsigned int &index=-1, void *requester=0)
 Add a keyframe for the current value at the given time.
 
void remove_anim (const unsigned int &index=-1, void *requester=0)
 Removes the animation from the value at the given index.
 
void remove_fcurve (const unsigned int &index=-1, void *requester=0)
 Removes the animation f-curve bound to an attribute value.
 
bool is_animated (const unsigned int &index=-1) const
 Returns true if the value at the given index is animated, considering attribute state (disabled, muted, ...)
 
bool is_driver_anim_fcurve (const unsigned int &index) const
 
bool is_serialized_driver_anim_fcurve (const unsigned int &index) const
 
bool has_fcurve (const unsigned int &index=-1) const
 Returns true if an animation f-curve is bound to an attribute value, considering attribute state (disabled, muted, ...)
 
AnimFCurveget_fcurve (const unsigned int &index) const
 Returns the animation f-curve bound to an attribute value, considering attribute state (disabled, muted, ...)
 
bool is_serialized_animated (const unsigned int &index=-1) const
 Returns true if the value at the given index is animated, without considering attribute state (disabled, muted, ...)
 
bool has_serialized_fcurve (const unsigned int &index=-1) const
 Returns true if an animation f-curve is bound to an attribute value, without considering attribute state (disabled, muted, ...)
 
AnimFCurveget_serialized_fcurve (const unsigned int &index) const
 Returns the animation f-curve bound to an attribute value, without considering attribute state (disabled, muted, ...)
 
bool is_texturable () const
 Returns true if this attribute can be textured.
 
void set_texturable (const bool &flag)
 Set whether this attribute can be textured or not.
 
const TextureModeget_texture_mode () const
 Returns the texture mode used to compose the attribute value with the evaluation of the bound texture.
 
void set_texture_mode (const TextureMode &mode)
 Sets the texture mode used to compose the attribute value with the evaluation of the bound texture.
 
void set_texture (OfObject *texture, void *requester=0)
 Binds a texture to this attribute.
 
void set_texture_channel_group (const short &channel_group_index, void *requester=0)
 
bool is_textured (const bool &consider_disabled=true) const
 Returns true if this attribute is textured, considering attribute state (disabled, muted, ...)
 
const short & get_texture_channel_group () const
 Returns the texture channel group, considering attribute state (disabled, muted, ...)
 
OfObjectget_texture (const bool &consider_disabled=true) const
 Returns the texture bound to this attribute, considering attribute state (disabled, muted, ...)
 
bool is_serialized_textured () const
 Returns true if this attribute is textured, without considering attribute state (disabled, muted, ...)
 
const short & get_serialized_texture_channel_group () const
 Returns the texture channel group, without considering attribute state (disabled, muted, ...)
 
OfObjectget_serialized_texture () const
 Returns the texture bound to this attribute, without considering attribute state (disabled, muted, ...)
 
bool is_shading_variable_enabled () const
 Returns true if this attribute can be bound to a shading variable.
 
void enable_shading_variable (const bool &enable)
 Enables shading variable binding for this attribute.
 
void activate_shading_variable (const bool &flag, void *requester=0)
 Activates shading variables for this attribute.
 
void bind_shading_variable (const CoreString &variable, void *requester=0)
 Binds a shading variable to this attribute.
 
void unbind_shading_variable (void *requester=0)
 Unbinds this attribute from a shading variable.
 
bool is_shading_variable_activated () const
 Returns true if shading variables are activated for this attribute, considering attribute state (disabled, muted, ...)
 
bool is_bound_to_shading_variable () const
 Returns true if this attribute is bound to a shading variable, considering attribute state (disabled, muted, ...)
 
const CoreStringget_bound_shading_variable () const
 Returns the variable name bound to this attribute, considering attribute state (disabled, muted, ...)
 
bool is_serialized_shading_variable_activated () const
 Returns true if shading variables are activated for this attribute, without considering attribute state (disabled, muted, ...)
 
bool is_serialized_bound_to_shading_variable () const
 Returns true if this attribute is bound to a shading variable, without considering attribute state (disabled, muted, ...)
 
const CoreStringget_serialized_bound_shading_variable () const
 Returns the variable name bound to this attribute, without considering attribute state (disabled, muted, ...)
 
bool is_shading_dependent () const
 Tells if values depending on the shading are attached to the attribute (texture or shading variable)
 
void enable_expression (bool enable)
 
bool is_expression_enabled () const
 
bool can_manage_expression () const
 
bool is_expression_bound (unsigned int value_index=0) const
 Returns true if an expression is bound on the given value, considering attribute state (disabled, muted, ...)
 
bool is_serialized_expression_bound (unsigned int value_index=0) const
 Returns true if an expression is bound on the given value, without considering attribute state (disabled, muted, ...)
 
bool is_any_expression_bound () const
 Returns true if an expression is bound on any of the value, considering attribute state (disabled, muted, ...)
 
bool is_any_serialized_expression_bound () const
 Returns true if an expression is bound on any of the value, without considering attribute state (disabled, muted, ...)
 
bool is_expression_activated (unsigned int value_index=0) const
 Returns the active state of the expression bound on a value, considering attribute state (disabled, muted, ...)
 
bool is_expression_legacy (unsigned int index=0) const
 
bool is_serialized_expression_activated (unsigned int value_index=0) const
 Returns the active state of the expression bound on a value, without considering attribute state (disabled, muted, ...)
 
const CoreStringget_expression (unsigned int value_index=0) const
 Returns the expression string bound to a value, considering attribute state (disabled, muted, ...)
 
const CoreStringget_serialized_expression (unsigned int value_index=0) const
 Returns the expression string bound to a value, without considering attribute state (disabled, muted, ...)
 
void activate_expression (bool active, unsigned int value_index=0, void *requester=nullptr)
 
void activate_expression (const CoreBasicArray< bool > &active, const CoreBasicArray< unsigned int > &value_indices, void *requester=nullptr)
 
void set_expression (const CoreString &expression, unsigned int index=0, bool activated=true, void *requester=nullptr)
 
void set_expression (const CoreBasicArray< CoreString > &expressions, const CoreBasicArray< unsigned int > &indices, const CoreBasicArray< bool > &activated, void *requester=nullptr)
 
bool is_slider () const
 Returns true if the slider flag is activated.
 
void set_slider (const bool &flag)
 Activate or deactivate the slider flag.
 
void enable_range (const bool &flag)
 Activate or deactivate the numeric range check when setting numeric values.
 
bool is_range_enabled () const
 Returns true if numeric range check is activated.
 
void set_numeric_range (const double &min, const double &max)
 Sets the minimum and maximum values of the numeric range for this attribute.
 
void get_numeric_range (double &min, double &max) const
 Returns the minimum and maximum values of the numeric range for this attribute.
 
void set_numeric_range_min (const double &min, const bool &auto_set_max=false)
 Sets the minimum value of the numeric range for this attribute.
 
void set_numeric_range_max (const double &max, const bool &auto_set_min=false)
 Sets the maximum value of the numeric range for this attribute.
 
const double & get_numeric_range_min () const
 Returns the minimum value of the numeric range for this attribute.
 
const double & get_numeric_range_max () const
 Returns the maximum value of the numeric range for this attribute.
 
void enable_ui_range (const bool &flag)
 Activate or deactivate the UI range check when setting numeric values.
 
bool is_ui_range_enabled () const
 Returns true if UI range check is activated.
 
void set_numeric_ui_range (const double &min, const double &max)
 Sets the minimum and maximum values of the UI range for this attribute.
 
void get_numeric_ui_range (double &min, double &max) const
 Returns the minimum and maximum values of the UI range for this attribute.
 
const double & get_ui_range_min () const
 Returns the minimum value of the UI range for this attribute.
 
const double & get_ui_range_max () const
 Returns the maximum value of the UI range for this attribute.
 
void set_ui_range_min (const double &min, const bool &auto_set_max=false)
 Sets the minimum value of the UI range for this attribute.
 
void set_ui_range_max (const double &max, const bool &auto_set_min=false)
 Sets the maximum value of the UI range for this attribute.
 
void remove_all_validators ()
 
void enable_all_validators ()
 
void disable_all_validators ()
 
const CoreStringget_object_filter () const
 Returns a hint to which class is accepted by this attribute.
 
const CoreBasicArray
< CoreString > & 
get_object_filters () const
 Returns a hint to which OfClasses of OfObject are accepted by this attribute.
 
void set_object_filters (const CoreBasicArray< CoreString > &filters, void *requester=0)
 Sets a hint to which OfClasses of OfObject are accepted by this attribute.
 
const CoreStringget_context_filter () const
 Returns the full name of the OfContext from where OfObjects can be picked as references for this attribute.
 
void set_context_filter (const CoreString &filter)
 Sets the OfContext from where OfObjects can be picked as references for this attribute.
 
const CoreStringget_group_filter () const
 Returns which OfClass is accepted by Groups referenced by this attribute. Group filters are secondary hints that work closely with attributes referencing Groups. They are used to specify which kind of OfClass is accepted by the Group.
 
void set_group_filter (const CoreString &filter)
 Sets which OfClass is accepted by Groups referenced by this attribute. \ Group filters are secondary hints that work closely with attributes referencing Groups. They are used to specify which kind of OfClass is accepted by the Group.
 
void set_enum_type (const CoreString &type)
 Sets which OfEnum is used by this attribute (only relevant for VISUAL_HINT_ENUM attributes) from the specified type name.
 
const CoreStringget_enum_type () const
 Returns the type name of the OfEnum used by this attribute (only relevant for VISUAL_HINT_ENUM attributes).
 
OfEnumget_enum () const
 Returns a pointer to the OfEnum used by this attribute (only relevant for VISUAL_HINT_ENUM attributes, returns 0 otherwise).
 
const CoreStringget_scripting_filter () const
 Returns the OfClass name of the scripting engine associated with this attribute (only relevant for TYPE_SCRIPT attributes).
 
void set_scripting_filter (const CoreString &filter)
 Associates a scripting engine with this attribute (only relevant for TYPE_SCRIPT attributes) from the specified OfClass name.
 
const CoreBasicArray
< CoreString > & 
get_filename_extensions () const
 Returns an array of filename extensions used by file browsers to filter which files are displayed.
 
void set_filename_extensions (const CoreBasicArray< CoreString > &extensions)
 Associate filename extensions that are used by file browsers to filter which files are displayed.
 
void set_tag_candidate_callback (OfAttr::TagCandidateCallback callback)
 
OfAttr::TagCandidateCallback get_tag_candidate_callback () const
 
void get_tag_candidates (CoreVector< CoreString > &candidates, CoreArray< bool > &preset_hints) const
 
bool is_depending_on_variable (const CoreString &variable_name) const
 Returns whether the current attribute depends on the specified variable or not.
 
void add_settings (const CoreString &settings_key, const ParserEntry &settings, void *requester=0)
 Attach a custom settings to the attribute.
 
void remove_settings (const CoreString &settings_key, void *requester=0)
 remove_settings detach a settings from the attribute
 
void remove_all_settings (void *requester=0)
 remove_all_settings detachall a settings from the attribute
 
unsigned int get_settings_count () const
 access the number of settings attached to the attribute
 
ParserEntrysettings_exists (const CoreString &settings_key) const
 settings_exists settings accessor
 
ParserEntryget_settings (const CoreString &settings_key) const
 get_settings settings accessor
 
void get_settings_keys (CoreVector< CoreString > &keys) const
 access all settings key
 
unsigned int get_serialized_settings_count () const
 access the number of settings attached to the attribute
 
ParserEntryserialized_settings_exists (const CoreString &settings_key) const
 settings_exists settings accessor
 
ParserEntryget_serialized_settings (const CoreString &settings_key) const
 get_settings settings accessor
 
void get_serialized_settings_keys (CoreVector< CoreString > &keys) const
 access all settings key
 
void notify_object_disabled (const int &dependency_type, void *requester=0)
 Notifies dependency that object has been disabled.
 
void asleep ()
 Set the attribute into a sleeping state. When attributes are sleeping, all changes applied are stacked and kept until the attribute awakes. This method is used to stack operations (changing the value count, setting values...) without notifying the scene dependency graph. For exampple, it is more efficient to asleep an attribute when setting its values from a given array than notifying for each operation: setting the number of values and assigning each value.
 
void awake (const bool &silent=false)
 Awakes the attribute from a sleeping state. When an attribute gets awaken, it notifies the scene dependency graph of all the changes that occur since it went asleep unless if the silent argument is set to true.
 
bool is_asleep () const
 Returns true is the attribute is asleep.
 
bool is_awake () const
 Returns true is the attribute does not sleep.
 
bool is_dg_active () const
 Returns true if editing this attribute is notified through the dependency graph (DG). By default, attributes are DG active.
 
void set_dg_active (const bool &flag)
 Turns on or off edition notification of the scene dependency graph for this attribute (DG). By default, attributes are DG active.
 
bool is_dg_cyclic () const
 Tells whether this attribute allows scene dependency graph cycles or not when connecting objects to this attribute. By default, attributes are not DG cyclic.
 
void set_dg_cyclic (const bool &flag)
 Enables/disables the ability to create cycles in the scene dependency graph when connecting objects to this attribute. By default, attributes are not DG cyclic.
 
void set_output_dirtiness (const int &dirtiness)
 Sets the binary mask that is sent through the scene dependency graph when editing this attribute.
 
const int get_output_dirtiness () const
 Returns the binary mask that is sent through the scene dependency graph when editing this attribute.
 
void set_input_dirtiness (const int &dirtiness)
 Sets the binary mask that is used to filter incoming scene dependency graph notification telling that an attribute, of an object directly or indirectly plugged to this attribute, has been edited.
 
const int get_input_dirtiness () const
 Returns the binary mask that is used to filter incoming scene dependency graph notification.
 
const OfAttrEventget_event_info () const
 Returns the event info for the current change notification for this attribute.
 
const CoreBasicArray
< OfAttrEvent > & 
get_event_infos () const
 
bool is_local () const
 Returns true if this attribute has a local value: its value is not inherited from a source attribute.
 
bool is_instance () const
 Returns true if this attribute has a distant value: its value is inherited from a source attribute.
 
bool is_proto () const
 Returns true if the object containing this attribute is a class object prototype.
 
bool is_synchronized () const
 Returns true if there is no pending command that could change the value of this attribute.
 
bool is_value_proto () const
 
bool is_default_value () const
 
bool is_private () const
 Returns true if this attribute is flagged as internal and not meant to be edited by users.
 
bool is_hidden () const
 Returns true if this attribute is not displayed in the user interface.
 
bool is_read_only () const
 
bool is_editable (const int &read_only_mask=RO_ALL_MASK) const
 
bool is_saveable () const
 Returns true if this attribute is serialized when serializing its parent object.
 
bool is_experimental () const
 Returns true if this attribute is used by experimental features.
 
bool is_advanced () const
 Returns true if this attribute is used by advanced features.
 
bool is_overriden () const
 Returns true if this attribute values are overriden.
 
bool is_promoted () const
 Returns true if this attribute is promuted.
 
void set_hidden (const bool &flag)
 Shows or hide this attribute from the user interface (serialized).
 
void set_read_only (const bool &flag)
 Tells whether to allow edition or not for this attribute (runtime only).
 
void set_saveable (const bool &flag)
 Tells whether to serialize or not this attribute when its parent object is serialized (runtime only).
 
void set_overriden (const bool &flag)
 Flags this attribute as overriden or not.
 
void set_private (const bool &flag)
 Tells whether this attribute is declared for internal use only or not. Note: private attributes cannot be overriden (runtime only).
 
void set_promoted (const bool &flag)
 Flags this attribute promotes the object attributes in the parent object (runtime only).
 
void set_weak_referencing (const bool &weak, void *requester=0)
 <
 
bool is_weak_referencing () const
 
void set_locked (const bool &locked, void *requester=0)
 
bool is_locked () const
 
void set_value_locked (const CoreBasicArray< unsigned int > &value_indices, const bool &locked, void *requester=0)
 
void set_value_locked (const unsigned int &value_index, const bool &locked, void *requester=0)
 
bool is_value_locked (const unsigned int &value_index) const
 
bool is_serialized_value_locked (const unsigned int &value_index) const
 
bool is_any_serialized_value_locked () const
 
bool can_mute_local_value () const
 can_local_mute
 
void set_can_mute_local_value (const bool enable)
 set_can_mute_local_value
 
void mute_local_value (const bool &flag)
 Set the attribute as local value muted.
 
bool is_local_muted () const
 Attribute muted local value state get accessor.
 
bool can_disable () const
 Returns the capability of the attribute to be stated as disabled.
 
void set_can_disable (const bool enable)
 set_can_disable
 
bool is_disabled () const
 Returns the current disable state of the attribute.
 
void set_disabled (const bool &disable)
 Sets the disable state of attribute.
 
void set_value_disabled (const unsigned int &value_index, const bool &disable, void *requester=0)
 disable a single value in the set of values of the attribute
 
void set_value_disabled (const CoreBasicArray< unsigned int > &value_indices, const bool &disable, void *requester=0)
 disable a set of value in the set of values of the attribute
 
void set_disabled_values (const CoreBasicArray< unsigned int > &value_indices, void *requester=0)
 change the list of disabled values
 
bool is_value_disabled (const unsigned int &value_index) const
 checks if a single value in the set of values of the attribute has been disabled, considering muted local value state
 
bool is_any_value_disabled () const
 checks if any of the value in the set of values of the attribute has been disabled, considering muted local value state
 
bool is_serialized_value_disabled (const unsigned int &value_index) const
 checks if a single value in the set of values of the attribute has been disabled, without considering muted local value state
 
bool is_any_serialized_value_disabled () const
 checks if any of the value in the set of values of the attribute has been disabled, without considering muted local value state
 
bool is_value_equal_to (const OfAttr &attr, const bool &consider_disabled=true) const
 Returns true if the values of this attribute equals the values of the specified one.
 
bool is_serialized_value_equal_to (const OfAttr &attr) const
 Returns true if the values of this attribute equals the values of the specified one.
 
void add_to_path_attrs () const
 
void remove_from_path_attrs () const
 
void raise_object_attr_changed ()
 Specifies that the attr value changed (this was created to force the creation of an override when it's not triggered automaticaly in some rare cases)
 
void * operator new (size_t)
 
void operator delete (void *)
 
void get_statistics (SysStatistic &stats) const
 Gather statistics for this attribute into the specified statistic object.
 
bool can_revert () const
 Tests if the attribute value can be reverted.
 
const OfAttrState * get_revert () const
 Gets the attribute revert state if it exists.
 
void release_revert ()
 Releases the attribute revert state if it exists.
 
bool is_revert_dirty () const
 Tests if the revert state is flagged dirty.
 
void dirty_revert (const bool &dirty=true)
 Toggles the revert state dirty flag, then new revert state will be published on attribute modification.
 
void update_revert (const bool &force=false, OfAttrState *state=0)
 Updates revert state.
 
void revert (OfAttrState *state=0, const bool &auto_delete_state=true)
 Reverts attribute value to its revert state.
 
void print_revert_state ()
 
OfAttrState * save_state (const OfAttr::ValuePage &page) const
 Packages and returns the current state of this attribute so that it can be restored later. This method is widely used by the Undo system. The returned pointer must be deleted using OfAttr::delete_state.
 
void restore_state (OfAttrState *state, const bool &auto_delete_state=false)
 Restores the state of this attribute using the specified state.
 
OfAttroperator= (const OfAttr &attr)
 Assign operator: the attribute is fully copied so that both attributes have the same state (value, animation, texture...).
 
ParserEntryserialize (const OfSerialOptions &options=OfSerialOptions::get_default()) const
 Creates a serialization of this attribute.
 
bool deserialize (const ParserEntry &entry, const OfSerialOptions &options=OfSerialOptions::get_default())
 Setup the attribute from the specified serialization.
 
void set_ui_data (const CoreString &key, const CoreString &value)
 sets (adds or updates) a specified data to ui data attached to this attr
 
CoreStringget_ui_data (const CoreString &key)
 retrieves a specified data from ui data attached to this attr
 
void clear_ui_data (const CoreString &key)
 removes a specified data from ui data attached to this attr
 
void clear_ui_data ()
 removes all ui data attached to this attr
 
bool has_ui_data () const
 
void set_overridable (const bool &enable)
 enable/disable the capability of the attribute to use override mechanism
 
bool can_use_override () const
 statically checks the capability of the attribute to use override mechanism
 
bool can_use_override (const OfAttr *overrider) const
 disable the consideration of the override
 
void override (OfAttr &overrider, void *requester=0)
 override to dynamically enslave this attribute value with the override attribute value
 
void remove_override (void *requester=0)
 remove the existing override on this attribute
 
OfAttrget_override () const
 access the attribute used as override
 
bool is_using_override () const
 checks if this attribute is using another attribute as override
 
bool is_override () const
 checks if this attribute is used as override by another attribute
 
void get_override_users (CoreVector< OfAttr * > &users) const
 gets the list of attributes that are overridden by this attribute
 
bool is_override_user_protected () const
 checks in the list of attributes that are overridden by this attribute if the object is protected
 
void add_validator (ValidatorBool validator, void *data=nullptr)
 
void add_validator (ValidatorLong validator, void *data=nullptr)
 
void add_validator (ValidatorDouble validator, void *data=nullptr)
 
void add_validator (ValidatorString validator, void *data=nullptr)
 
void add_validator (ValidatorObject validator, void *data=nullptr)
 
void add_validator (ValidatorBoolIndexed validator, void *data=nullptr)
 
void add_validator (ValidatorLongIndexed validator, void *data=nullptr)
 
void add_validator (ValidatorDoubleIndexed validator, void *data=nullptr)
 
void add_validator (ValidatorStringIndexed validator, void *data=nullptr)
 
void add_validator (ValidatorObjectIndexed validator, void *data=nullptr)
 
void remove_validator (ValidatorBool validator, void *data=nullptr)
 
void remove_validator (ValidatorLong validator, void *data=nullptr)
 
void remove_validator (ValidatorDouble validator, void *data=nullptr)
 
void remove_validator (ValidatorString validator, void *data=nullptr)
 
void remove_validator (ValidatorObject validator, void *data=nullptr)
 
void remove_validator (ValidatorBoolIndexed validator, void *data=nullptr)
 
void remove_validator (ValidatorLongIndexed validator, void *data=nullptr)
 
void remove_validator (ValidatorDoubleIndexed validator, void *data=nullptr)
 
void remove_validator (ValidatorStringIndexed validator, void *data=nullptr)
 
void remove_validator (ValidatorObjectIndexed validator, void *data=nullptr)
 
void enable_validator (ValidatorBool validator, void *data=nullptr)
 
void enable_validator (ValidatorLong validator, void *data=nullptr)
 
void enable_validator (ValidatorDouble validator, void *data=nullptr)
 
void enable_validator (ValidatorString validator, void *data=nullptr)
 
void enable_validator (ValidatorObject validator, void *data=nullptr)
 
void enable_validator (ValidatorBoolIndexed validator, void *data=nullptr)
 
void enable_validator (ValidatorLongIndexed validator, void *data=nullptr)
 
void enable_validator (ValidatorDoubleIndexed validator, void *data=nullptr)
 
void enable_validator (ValidatorStringIndexed validator, void *data=nullptr)
 
void enable_validator (ValidatorObjectIndexed validator, void *data=nullptr)
 
void disable_validator (ValidatorBool validator, void *data=nullptr)
 
void disable_validator (ValidatorLong validator, void *data=nullptr)
 
void disable_validator (ValidatorDouble validator, void *data=nullptr)
 
void disable_validator (ValidatorString validator, void *data=nullptr)
 
void disable_validator (ValidatorObject validator, void *data=nullptr)
 
void disable_validator (ValidatorBoolIndexed validator, void *data=nullptr)
 
void disable_validator (ValidatorLongIndexed validator, void *data=nullptr)
 
void disable_validator (ValidatorDoubleIndexed validator, void *data=nullptr)
 
void disable_validator (ValidatorStringIndexed validator, void *data=nullptr)
 
void disable_validator (ValidatorObjectIndexed validator, void *data=nullptr)
 
- Public Member Functions inherited from CoreBaseObject
bool is_kindof (const CoreBaseObject &object) const
 
virtual size_t get_memory_size () const
 
CoreString get_class_info_name () const
 
CoreString get_class_interface () const
 
const unsigned long & get_class_info_id () const
 
bool is_kindof (const CoreClassInfo &cinfo) const
 
virtual const CoreClassInfoget_class_info () const
 
bool operator== (const CoreBaseObject &obj) const
 
template<class T >
T * cast ()
 
template<class T >
const T * cast () const
 
- Public Member Functions inherited from CoreBaseType
bool is_kindof (const CoreClassInfo &cinfo) const
 
bool operator== (const CoreBaseType &obj) const
 

Static Public Member Functions

static CoreString get_type_name (const Type &type)
 Returns the stringified name of the specified attribute type enum value.
 
static void get_type_min (const OfAttr::Type &type, double &min)
 Returns the minimum value according to specified type.
 
static void get_type_max (const OfAttr::Type &type, double &max)
 Returns the maximum value according to specified type.
 
static const CoreStringget_container_name (const Container &type)
 Returns the stringified name of the specified attribute container enum value.
 
static Container get_container_from_name (const CoreString &container)
 
static const CoreStringget_visual_hint_name (const VisualHint &visual_hint)
 Returns the stringified name of the specified attribute visual hint enum value.
 
static VisualHint get_visual_hint_from_name (const CoreString &visual_hint)
 
static CoreString get_flag_name (const Flag &flag)
 Returns the stringified name of the specified attribute flag binary mask.
 
static bool get_flag_default_value (const Flag &flag)
 Returns the default value for the specified attribute flag.
 
static const Flagget_flag (const unsigned int &index)
 Returns the attribute flag from the specified index. Helper method used to iterate over the attribute flags.
 
static CoreString get_texture_mode_name (const TextureMode &mode)
 Returns the stringified name of the specified texture mode enum value.
 
static const Dirtinessget_dirtiness (const unsigned int &index)
 Returns the dirtiness enum value from the specified index. Helper method used to iterate over the attribute dirtiness values.
 
static CoreString get_dirtiness_name (const Dirtiness &dirtiness)
 Returns the stringified name of the specified attribute dirtiness binary mask.
 
static bool get_info_from_visual_hint (const VisualHint &visual_hint, Type &type, Container &container, bool &fixed_value_count, unsigned int &value_count)
 Gets the associated type, preferential container and value count from the specified visual hint, returns true if managed, false otherwise.
 
static void get_dirtinesses (CoreVector< Dirtiness > &dirtinesses, const int &dirtiness)
 Break down the specified dirtiness into actomic binary masks composing it.
 
static void get_dirtiness_names (CoreVector< CoreString > &names, const int &dirtiness)
 Breaks down the specified dirtiness into stringified names of the actomic binary masks composing it.
 
static CoreString get_unit_from_visual_hint (const VisualHint &of_attr_visual_hint)
 Returns the unit corresponding to the specified visual hint.
 
static VisualHint get_visual_hint_from_unit (const CoreString &of_attr_unit)
 Returns the visual hint corresponding to the specified unit.
 
static const CoreSet< OfAttr * > & get_path_attrs ()
 
static bool is_revert_event_info (const OfAttrEvent &event)
 
static bool is_override_flag_change_event (const OfAttrEvent &event)
 
static void delete_state (OfAttrState *state)
 Deletes the state data that was created using save_state().
 
- Static Public Member Functions inherited from CoreBaseObject
static const CoreClassInfoclass_info ()
 
static bool ___class_destructor__ (void *instance, const bool &is_array)
 
template<class T >
static T * cast (CoreBaseObject *object)
 
template<class T >
static const T * cast (const CoreBaseObject *object)
 
- Static Public Member Functions inherited from CoreBaseType
static bool ___class_destructor__ (void *instance, const bool &is_array)
 
static const CoreClassInfoclass_info ()
 

Protected Member Functions

void set_def_output_dirtiness (const int &dirtiness)
 
void set_def_input_dirtiness (const int &dirtiness)
 
int get_def_input_dirtiness () const
 
int get_def_output_dirtiness () const
 
void serialize_flags (ParserGroup *group) const
 
void deserialize_flags (const ParserGroup &group)
 
bool has_flag_modifications () const
 
bool has_flag_overrides () const
 
bool has_expression_overrides (unsigned int index=static_cast< unsigned int >(-1)) const
 
void _mute_local_value (const bool &flag)
 
void _set_disabled (const bool &disable)
 

Static Protected Member Functions

static void cmd_mute_local_value (OfCommandData *data)
 
static void cmd_disable_attribute (OfCommandData *data)
 

Friends

class OfObjectFactory
 
class OfClassFactory
 
class OfItem
 
class OfContext
 
class OfClass
 
class OfCid
 
class AnimFCurve
 
class OfTime
 
class OfObject
 
class OfEnum
 
struct OfAttrValue
 
struct OfAttrPtr
 
class OfContextEngine
 
class OfAttrIsCyclicTask
 
class OfExpression::Expression
 
class OfExpression::Binding
 
class OfExpression::GlobalVariable
 
class OfExpression::GetVec3Value
 
class OfExpression::GetStringValue
 
class OfExpression::GetDoubleValue
 
class OfExprTests
 
class OfOverrides
 
class AttributeOverrides
 

Detailed Description

Object Framework object attribute. OfAttrs describe attribute type, values, validators, dirtiness. They contain OfObject attributes values and are serialized.

Member Enumeration Documentation

Enumerator:
RO_PARENT_MASK 

Specifies parent hierarchy for editable test.

RO_SOURCE_MASK 

Specifies source hierarchy for editable test.

RO_EXT_REF_MASK 

Specifies considering external references.

RO_MUTE_MASK 

Specifies considering mute local value state.

RO_OVERRIDE_MASK 

Specifies considering override state.

RO_LOCK_MASK 

Specifies considering attribute locked state.

Attribute value container type.

Enumerator:
CONTAINER_SINGLE 

Single value attribute.

CONTAINER_ARRAY 

Fixed size 1D array of values.

CONTAINER_LIST 

Variable size 1D array of values.

Defines the driving type associated to attributes.

Informs about which kind of notification is propagated through the scene dependency graph.

Enumerator:
DIRTINESS_NONE 

Nothing has changed: the propagation of the notification stops.

DIRTINESS_MOTION_TRANSLATE 

Informs that a translation change occurred.

DIRTINESS_MOTION_ROTATE 

Informs that a rotation change occurred.

DIRTINESS_MOTION_SCALE 

Informs that a change in scaling occurred.

DIRTINESS_PARENTING 

Informs that a change in kinematic parenting occurred.

DIRTINESS_SHADING_MATERIAL 

Informs that a change in material shading occurred.

DIRTINESS_SHADING_LIGHT 

Informs that a change in light illumination occurred.

DIRTINESS_SHADING_GROUP_MATERIAL 

Informs that a new material is assigned to a shading group.

DIRTINESS_SHADING_GROUP_VISIBILITY 

Informs that a shading group is shown or hidden.

DIRTINESS_SHADING_VARIABLE 

Informs that a change affecting shading variables occurred.

DIRTINESS_GEOMETRY_BASE 

Informs that a base geometry has changed (geometry at a reference frame)

DIRTINESS_GEOMETRY_DEFORMED 

Informs that a geometric change occurred for an animated/deformed geometry : topology, deformation, subdivision surfaces...

DIRTINESS_IMAGE 

Informs that an image needs to be re-renderered.

DIRTINESS_GL 

Informs that a change affecting the GL display occurred: scene object display mode, transformation gizmos...

DIRTINESS_MOTION_BLUR 

Informs that a change affecting motion-blur occurred.

Extra information about attribute change encoded as a binary mask.

Enumerator:
DIRTINESS_FLAG_NONE 

No extra information.

DIRTINESS_FLAG_LOCALIZE 

Informs that the attribute change is due to a localization of the attribute.

DIRTINESS_FLAG_DESERIALIZE 

Informs that the attribute change is due to a deserialization of the attribute.

DIRTINESS_FLAG_GRAPH 

Informs that the attribute change is due to connection change in the scene dependency graph.

DIRTINESS_FLAG_AOV 

Informs that the attribute change is affecting AOV and that they may need to be recomputed.

DIRTINESS_FLAG_CHANGE 

Informs that the attribute change is due to an ongoing change (ex: editing a value using a slider).

Defines states and caps.

Enumerator:
FLAG_PRIVATE 

The attribute is for internal use only: it is not meant to be edited by users.

FLAG_HIDDEN 

The attribute is not displayed in the UI.

FLAG_SAVEABLE 

The attribute is serialized when its parent object is serialized.

FLAG_TEXTURABLE 

Enables texture binding for the attribute.

FLAG_ANIMATABLE 

Enables animation by associating an animation function curve (AnimFCurve).

FLAG_SLIDER 

Hints the UI the attribute is best displayed as a slider.

FLAG_NUMERIC_RANGE 

Enables numeric range filtering before assigning values.

FLAG_UI_RANGE 

Hints the UI for minimum and maximum slider values.

FLAG_DG_ACTIVE 

Enables scene dependency graph (DG) notification when the attribute is edited.

FLAG_DG_CYCLIC 

Enables scene dependency graph (DG) loops (cycles) when connecting OfObjects to the attribute.

FLAG_DIRTINESS_PASS_THROUGH 

When set, scene dependency graph notifications are not changed when passing through the attribute.

FLAG_READ_ONLY 

Hints the application the attribute must not be edited.

FLAG_SHADING_VARIABLE 

Enables shading variable binding for the attribute.

FLAG_EXPERIMENTAL 

Hints the application this attribute is used when experimental features are enabled.

FLAG_ADVANCED 

Hints the application this attribute is used when advenced features are enabled.

FLAG_OVERRIDEN 

Hints the application this attribute values have been overriden.

FLAG_PROMOTE_ATTRIBUTE 

All attributes of the object/preference value is promoted in the parent object.

FLAG_ALLOW_EXPRESSION 

Enables expression binding for the attribute.

Defines how texture evaluated values are mixed with the attribute values.

Enumerator:
TEXTURE_MODE_REPLACE 

Attribute values are not mixed. Only texture values are used.

TEXTURE_MODE_MULTIPLY 

Texture values are multiplied to attribute values.

TEXTURE_MODE_ADD 

Texture values are added to attribute values.

TEXTURE_MODE_ALPHA_BLEND 

Texture values are blended on top of attribute values using the texture alpha channel (4th component).

Type for all the attribute values.

Enumerator:
TYPE_BOOL 

Boolean values.

TYPE_LONG 

Signed long integer numbers.

TYPE_DOUBLE 

Double precision floating point numbers.

TYPE_STRING 

Character strings.

TYPE_FILE 

Filenames represented by character strings.

TYPE_REFERENCE 

External OfObject input connection.

TYPE_OBJECT 

Embedded OfObject input connection.

TYPE_CURVE 

Function curves.

TYPE_ACTION 

Action only (no values).

Attribute value page.

Enumerator:
VALUE_PAGE_CURRENT 

Page containing the latest value change.

VALUE_PAGE_PREVIOUS 

Page containing the previous value.

Additional attribute type information.

Enumerator:
VISUAL_HINT_ENUM 

Hints the UI the attribute uses a OfEnum as list of predefined values: internal type used is TYPE_STRING.

VISUAL_HINT_COLOR 

Hints the UI the attribute represents a color: internal type used TYPE_DOUBLE[3].

VISUAL_HINT_FILENAME_SAVE 

Hints the UI the attribute represents a filename to an exported file: internal type used is TYPE_STRING.

VISUAL_HINT_FILENAME_OPEN 

Hints the UI the attribute represents a filename to an imported asset: internal type used is TYPE_STRING.

VISUAL_HINT_FOLDER 

Hints the UI the attribute represents a folder: internal type used is TYPE_STRING.

VISUAL_HINT_PERCENTAGE 

Hints the UI the attribute represents a multiplier: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SCALE 

Hints the UI the attribute represents a scaling: internal type used is TYPE_DOUBLE.

VISUAL_HINT_DISTANCE 

Hints the UI the attribute represents a distance: internal type used is TYPE_DOUBLE.

VISUAL_HINT_ANGLE 

Hints the UI the attribute represents an angle: internal type used is TYPE_DOUBLE.

VISUAL_HINT_FREQUENCY 

Hints the UI the attribute represents a frequency: internal type used is TYPE_DOUBLE.

VISUAL_HINT_TIME 

Hints the UI the attribute represents time: internal type used is TYPE_DOUBLE.

VISUAL_HINT_FRAME 

Hints the UI the attribute stores time values as frames: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SUBFRAME 

Hints the UI the attribute stores time values as sub-frames: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SECOND 

Hints the UI the attribute stores time values in seconds: internal type used is TYPE_DOUBLE.

VISUAL_HINT_AREA 

Hints the UI the attribute stores area values: internal type used is TYPE_DOUBLE.

VISUAL_HINT_WATT 

Hints the UI the attribute stores power values: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SAMPLE 

Hints the UI the attribute stores samples count: internal type used is TYPE_LONG.

VISUAL_HINT_SUBSAMPLE 

Hints the UI the attribute stores samples count: internal type used is TYPE_DOUBLE.

VISUAL_HINT_SAMPLE_PER_PIXEL 

Hints the UI the attribute stores samples count per pixel: internal type used is TYPE_LONG.

VISUAL_HINT_SUBPIXEL 

Hints the UI the attribute represents sub-pixels: internal type used is TYPE_DOUBLE.

VISUAL_HINT_PIXEL 

Hints the UI the attribute represents pixels: internal type used is TYPE_DOUBLE.

VISUAL_HINT_PARENT_REFERENCE 

Hints the UI the attribute is referencing OfObjects embedded its the parent object: internal type used is TYPE_REFERENCE.

VISUAL_HINT_CONTEXT 

Hints the UI the attribute is referencing OfContext : internal type used is TYPE_STRING.

VISUAL_HINT_L 

Hints the UI the attribute represents a luminance channel value: internal type used is TYPE_DOUBLE.

VISUAL_HINT_LA 

Hints the UI the attribute represents luminance and alpha channel values: internal type used is TYPE_DOUBLE[2].

VISUAL_HINT_RGB 

Hints the UI the attribute represents red, green and blue channel values: internal type used is TYPE_DOUBLE[3].

VISUAL_HINT_RGBA 

Hints the UI the attribute represents red, green, blue and alpha channel values: internal type used is TYPE_DOUBLE[4].

VISUAL_HINT_GRADIENT 

Hints the UI the attribute must be displayed as a ramp: internal type used is TYPE_CURVE.

VISUAL_HINT_MEMSIZE 

Hints the UI the attribute represents memory allocation: internal type used is TYPE_DOUBLE.

VISUAL_HINT_TAG 

Hints the UI the attribute represents name tag (used to reference named properties, identify image channels, AOVs...): internal type used is TYPE_STRING.

VISUAL_HINT_TAG_MENU 

Hints the UI the attribute represents name tag menu (the main difference with tag is that it is not possible to enter a value): internal type used is TYPE_STRING.

VISUAL_HINT_SCRIPT 

Hints the UI the attribute represents script source code: internal type used is TYPE_STRING.

VISUAL_HINT_MULTILINE 

Hints the UI the attribute represents multi line source code: internal type used is TYPE_STRING.

VISUAL_HINT_GROUP 

Hints the UI the attribute represents reference to a group: internal type used is TYPE_REFERENCE.

VISUAL_HINT_CUSTOM_UI 

Hints the UI the attribute represents a specific widget: internal type used is TYPE_STRING.

VISUAL_HINT_DEFAULT 

Hints the UI the attribute represents a string tag value: internal type used is TYPE_STRING.

Member Function Documentation

void OfAttr::activate_expression ( bool  active,
unsigned int  value_index = 0,
void *  requester = nullptr 
)

Set the active state of an expression bound on a given value.

Parameters
activeActive state of the expression.
value_indexIndex of the value.
requesterOptional blind data pointer that will be associated to the event (see OfAttrEvent::requester)
void OfAttr::activate_expression ( const CoreBasicArray< bool > &  active,
const CoreBasicArray< unsigned int > &  value_indices,
void *  requester = nullptr 
)

Set the active state of one or more expressions.

See Also
activate_expression(bool, unsigned int, void *)
OfAction * OfAttr::add_action ( const CoreString name)

Adds an action to this attribute.

Returns
The created action for the specified name.
void OfAttr::add_bool ( const bool &  value,
void *  requester = 0 
)

Appends the specified value to the array of attribute values.

Parameters
[in]valueValue to append.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method. Toggles the boolean attribute value at the given index.
void OfAttr::add_curve_key ( const int &  key_type,
const double &  x,
const double &  y,
const unsigned int &  index,
void *  requester = 0 
)

Adds a f-curve key to a TYPE_CURVE attribute value.

Parameters
[in]key_typeThe FCurve::KeyType of the new key (KEY_TYPE_LINEAR, KEY_TYPE_BEZIER...)
[in]xThe value of the key on the X axis.
[in]yThe value of the key on the Y axis.
[in]indexThe attribute value index.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::add_curve_key ( const int &  key_type,
const double &  x,
const CoreBasicArray< double > &  y,
void *  requester = 0 
)

Adds multiple f-curve keys to TYPE_CURVE attribute values.

Parameters
[in]key_typeThe FCurve::KeyType of the new keys (KEY_TYPE_LINEAR, KEY_TYPE_BEZIER...)
[in]xThe value of the key on the X axis.
[in]yThe values of each key on the Y axis.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::add_double ( const double &  value,
void *  requester = 0 
)

Appends the specified value to the array of attribute values.

Parameters
[in]valueValue to append.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method. Adds the specified value to the attribute value at the given index.
void OfAttr::add_entry ( const ParserEntry entry,
void *  requester = 0,
const OfSerialOptions options = OfSerialOptions::get_default() 
)

Appends a TYPE_OBJECT attribute by deserializing the specified OfObject entry.

Parameters
[in]entryThe serial of the OfObject
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
[in]optionsOptional parameters controlling the deserialization.
AnimFCurve * OfAttr::add_fcurve ( const unsigned int &  index,
void *  requester = 0 
)

Creates a new animation f-curve and binds it an attribute value.

Parameters
[in]indexThe index of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
AnimFCurve * OfAttr::add_fcurve ( const ParserEntry entry,
const unsigned int &  index,
void *  requester = 0 
)

Creates a new animation f-curve and sets its value from the specified parser entry.

Parameters
[in]entrySerialization of the f-curve.
[in]indexThe index of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
AnimFCurve * OfAttr::add_fcurve_with_key ( const unsigned int &  index,
void *  requester = 0 
)

Creates a new animation f-curve, automatically creates a keyframe for the current value at the current time, and binds it an attribute value.

Parameters
[in]indexThe index of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::add_long ( const long &  value,
void *  requester = 0 
)

Appends the specified value to the array of attribute values.

Parameters
[in]valueValue to append.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method. Adds the specified value to the attribute value at the given index.
void OfAttr::add_object ( OfObject value,
void *  requester = 0 
)

Appends the specified value to the array of attribute values.

Parameters
[in]valueValue to append.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
void OfAttr::add_object ( const CoreBasicArray< OfObject * > &  values,
void *  requester = 0 
)

Appends the specified value to the array of attribute values.

Parameters
[in]valueValue to append.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
void OfAttr::add_preset ( const CoreString preset_label,
const CoreString preset_value,
const GuiIcon icon = 0 
)

Add a preset value to this attribute.

Parameters
[in]preset_labelName of the preset used to diplay the preset in the user interface.
[in]preset_valueValue given to this attribute when the preset is applied.
[in]iconOptional icon corresponding to the preset.
void OfAttr::add_settings ( const CoreString settings_key,
const ParserEntry settings,
void *  requester = 0 
)

Attach a custom settings to the attribute.

Parameters
settings_keya key to identify the settings
settingsthe settings to attach
optionalblind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::add_string ( const CoreString value,
void *  requester = 0 
)

Appends the specified value to the array of attribute values.

Parameters
[in]valueValue to append.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
void OfAttr::add_string ( const CoreBasicArray< CoreString > &  values,
void *  requester = 0 
)

Appends the specified value to the array of attribute values.

Parameters
[in]valueValue to append.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
void OfAttr::add_string ( const CoreString class_name,
const CoreString object_name,
void *  requester = 0 
)

Creates an embedded OfObject and appends it to the array of attribute values.

Parameters
[in]class_nameThe name of the OfClass of the object to create.
[in]object_nameThe name of the OfObject to create.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::add_string ( const CoreBasicArray< CoreString > &  class_name,
const CoreBasicArray< CoreString > &  object_name,
void *  requester = 0 
)

Creates an embedded OfObject and appends it to the array of attribute values.

Parameters
[in]class_nameThe name of the OfClass of the object to create.
[in]object_nameThe name of the OfObject to create.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::add_string ( const CoreString class_name,
const CoreString object_name,
const CoreString source_name,
void *  requester 
)

Creates an embedded OfObject and appends it to the array of attribute values.

Parameters
[in]class_nameThe name of the OfClass of the object to create.
[in]object_nameThe name of the OfObject to create.
[in]source_nameThe name of the source OfObject to instanciate.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::add_string ( const CoreBasicArray< CoreString > &  values,
const CoreBasicArray< CoreString > &  object_names,
const CoreBasicArray< CoreString > &  source_names,
void *  requester 
)

Creates an embedded OfObject and appends it to the array of attribute values.

Parameters
[in]class_nameThe name of the OfClass of the object to create.
[in]object_nameThe name of the OfObject to create.
[in]source_nameThe name of the source OfObject to instanciate.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester. deprecated: abusive name, please use equivalent add_object
void OfAttr::add_validator ( ValidatorBool  validator,
void *  data = nullptr 
)

Adds a value validator callback to this attribute.

Parameters
validatorValue validation callback.
dataOptional blind data given to the validator callback as argument.
void OfAttr::asleep ( )

Set the attribute into a sleeping state. When attributes are sleeping, all changes applied are stacked and kept until the attribute awakes. This method is used to stack operations (changing the value count, setting values...) without notifying the scene dependency graph. For exampple, it is more efficient to asleep an attribute when setting its values from a given array than notifying for each operation: setting the number of values and assigning each value.

Note
Setting the attribute asleep increments a sleeping counter and this can be called several times. For each asleep(), a call to awake() must be done in order to fully awake the attribute.
See Also
awake
void OfAttr::awake ( const bool &  silent = false)

Awakes the attribute from a sleeping state. When an attribute gets awaken, it notifies the scene dependency graph of all the changes that occur since it went asleep unless if the silent argument is set to true.

Parameters
[in]silentIf set to true, no notification is sent.
Note
Setting the attribute asleep decrements a sleeping counter and this method may have to be called several times in order to fully awake the attribute.
See Also
asleep
bool OfAttr::can_disable ( ) const

Returns the capability of the attribute to be stated as disabled.

Returns
true if the attribute is able to be disabled, false otherwisre
bool OfAttr::can_manage_expression ( ) const

Returns true if this attribute type supports expressions, and expressions are enabled for this attribute.

See Also
enable_expression
bool OfAttr::can_mute_local_value ( ) const

can_local_mute

Returns
returns true if the attribute can use mute local value functionality
bool OfAttr::can_use_override ( ) const

statically checks the capability of the attribute to use override mechanism

Returns
true if attribute can use override, false otherwise
bool OfAttr::can_use_override ( const OfAttr overrider) const

disable the consideration of the override

Parameters
disableto make the attribute work as if it was not using override gets the state of the override disabled flag
Returns
true if the override disabled flag has been armed, false otherwise dynamically checks that the specified attribute can be used as override
Parameters
overridethe attribute to use as override
Returns
true if attribute usage will not create dependency cycles
void OfAttr::change_bool ( const bool &  value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Changes the value of the current page of the attribute value at the given index.

Parameters
[in]valueValue to change.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Only the current value page is set using this method. The previous value page still holds the previous value.
See Also
set_bool
void OfAttr::change_bool ( const CoreBasicArray< bool > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Set attribute values from the specified array of values and indices.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The specified values and indices count must match, and also indices count is lower than current attribute count.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_bool ( const CoreBasicArray< bool > &  values,
void *  requester = 0 
)

Change all values in the current page from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_bool ( const CoreList< bool > &  values,
void *  requester = 0 
)

Change all values in the current page from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_curve ( const FCurve curve,
const unsigned int &  index,
void *  requester = 0 
)

Assign a curve to a value of this attribute.

Parameters
[in]curveThe curve to assign.
[in]indexThe index of the value in the array of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current value page is assigned. Use this method if you want to keep the previous curve that is stored in the previous page.
void OfAttr::change_curve_key_x ( const double &  x,
const FCurveKeyId key_id,
const unsigned int &  index,
void *  requester = 0 
)

Changes the value on the X axis of the f-curve key of a TYPE_CURVE attribute value.

Parameters
[in]xValue on the X axis
[in]key_idThe ID of the key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current page of the attribute value is changed. The previous value is kept in the previous value page.
void OfAttr::change_curve_key_x ( const CoreBasicArray< double > &  x,
const CoreBasicArray< FCurveKeyId > &  key_ids,
const unsigned int &  index,
void *  requester = 0 
)

Changes the value on the X axis of multiple f-curve keys of a TYPE_CURVE attribute value.

Parameters
[in]xArray of values on the X axis
[in]key_idsArray of IDs for each key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current page of the attribute value is changed. The previous value is kept in the previous value page.
void OfAttr::change_curve_key_x ( const double &  x,
const FCurveKeyId key_id,
void *  requester = 0 
)

Changes the same X axis value for a f-curve key for each TYPE_CURVE attribute value.

Parameters
[in]xValue on the X axis.
[in]key_idID of the key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current page of the attribute value is changed. The previous value is kept in the previous value page.
void OfAttr::change_curve_key_x ( const CoreBasicArray< double > &  x,
const CoreBasicArray< FCurveKeyId > &  key_ids,
void *  requester = 0 
)

Changes the value on the X axis of multiple f-curve keys of multiple TYPE_CURVE attribute values.

Parameters
[in]xArray of values on the X axis for each key.
[in]key_idsArray of IDs for each key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current page of the attribute value is changed. The previous value is kept in the previous value page.
void OfAttr::change_curve_key_y ( const double &  y,
const FCurveKeyId key_id,
const unsigned int &  index,
void *  requester = 0 
)

Changes the value on the Y axis of the f-curve key of a TYPE_CURVE attribute value.

Parameters
[in]yValue on the Y axis
[in]key_idThe ID of the key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current page of the attribute value is changed. The previous value is kept in the previous value page.
void OfAttr::change_curve_key_y ( const CoreBasicArray< double > &  y,
const FCurveKeyId key_id,
void *  requester = 0 
)

Changes the value on the Y axis of multiple f-curve keys of a TYPE_CURVE attribute value.

Parameters
[in]yArray of values on the Y axis
[in]key_idsArray of IDs for each key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current page of the attribute value is changed. The previous value is kept in the previous value page.
void OfAttr::change_curve_key_y ( const double &  y,
const CoreBasicArray< FCurveKeyId > &  key_ids,
const unsigned int &  index,
void *  requester = 0 
)

Changes the same Y axis value for a f-curve key for each TYPE_CURVE attribute value.

Parameters
[in]yValue on the Y axis.
[in]key_idID of the key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current page of the attribute value is changed. The previous value is kept in the previous value page.
void OfAttr::change_curve_key_y ( const CoreBasicArray< double > &  y,
const CoreBasicArray< FCurveKeyId > &  key_ids,
void *  requester = 0 
)

Changes the value on the Y axis of multiple f-curve keys of multiple TYPE_CURVE attribute values.

Parameters
[in]yArray of values on the Y axis for each key.
[in]key_idsArray of IDs for each key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Only the current page of the attribute value is changed. The previous value is kept in the previous value page.
void OfAttr::change_double ( const double &  value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Changes the value of the current page of the attribute value at the given index.

Parameters
[in]valueValue to change.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Only the current value page is set using this method. The previous value page still holds the previous value.
See Also
set_double
void OfAttr::change_double ( const CoreBasicArray< double > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Set attribute values from the specified array of values and indices.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The specified values and indices count must match, and also indices count is lower than current attribute count.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_double ( const CoreBasicArray< double > &  values,
void *  requester = 0 
)

Change all values in the current page from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_double ( const CoreList< double > &  values,
void *  requester = 0 
)

Change all values in the current page from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_long ( const long &  value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Changes the value of the current page of the attribute value at the given index.

Parameters
[in]valueValue to change.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Only the current value page is set using this method. The previous value page still holds the previous value.
See Also
set_long
void OfAttr::change_long ( const CoreBasicArray< long > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Set attribute values from the specified array of values and indices.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The specified values and indices count must match, and also indices count is lower than current attribute count.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_long ( const CoreBasicArray< long > &  values,
void *  requester = 0 
)

Change all values in the current page from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_long ( const CoreList< long > &  values,
void *  requester = 0 
)

Change all values in the current page from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_string ( const CoreString value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Changes the value of the current page of the attribute value at the given index.

Parameters
[in]valueValue to change.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Only the current value page is set using this method. The previous value page still holds the previous value.
See Also
set_string
void OfAttr::change_string ( const CoreBasicArray< CoreString > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Changes the value of the current page of the attribute value at the given index.

Parameters
[in]valuesValues to change.
[in]indicesindices of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Only the current value page is set using this method. The previous value page still holds the previous value.
See Also
set_string
void OfAttr::change_string ( const CoreBasicArray< CoreString > &  values,
void *  requester = 0 
)

Change all values in the current page from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_string ( const CoreList< CoreString > &  values,
void *  requester = 0 
)

Change all values in the current page from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Only the current value page is set using this method. The previous value page still holds the previous value.
void OfAttr::change_vec3d ( const GMathVec3d &  vec,
void *  requester = 0 
)

Changes the value of the current page of the attribute value at the given index.

Parameters
[in]valueValue to change.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Only the current value page is set using this method. The previous value page still holds the previous value.
See Also
set_vec3d
void OfAttr::change_vec4d ( const GMathVec4d &  vec,
void *  requester = 0 
)

Changes the value of the current page of the attribute value at the given index.

Parameters
[in]valueValue to change.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Only the current value page is set using this method. The previous value page still holds the previous value.
See Also
set_vec4d
void OfAttr::clear_ui_data ( const CoreString key)

removes a specified data from ui data attached to this attr

Parameters
[in]key: key used to add the data.
bool OfAttr::deserialize ( const ParserEntry entry,
const OfSerialOptions options = OfSerialOptions::get_default() 
)

Setup the attribute from the specified serialization.

Parameters
[in]entryAttribute serialization.
[in]optionsOptional parameters controlling the deserialization.
void OfAttr::disable_all_validators ( )

Disables all the value validator callbacks for this attribute.

void OfAttr::disable_validator ( ValidatorBool  validator,
void *  data = nullptr 
)

Disables the specified validator bound to this attribute.

Parameters
validatorValue validator callback to disable.
dataOptional blind data.
Note
Both arguments are used to identify which validator to disable.
void OfAttr::drive_bool ( const bool &  value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Assigns a boolean value to the attribute value at the given index. The value change is assumed to be "driven" and should not trigger any override. The value change will still be serialized if its a regular object or if an override already exists on this attribute.

Parameters
[in]valueValue to assign.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
See Also
change_bool set_bool
void OfAttr::enable_all_validators ( )

Enables all the value validator callbacks for this attribute.

void OfAttr::enable_expression ( bool  enable)

Set the enabled state of expressions for this attribute. If enable is false, no expression can be bound to the attribute, legacy or not. Setting a string like $PDIR/... will just store this string.

void OfAttr::enable_validator ( ValidatorBool  validator,
void *  data = nullptr 
)

Enables the specified validator bound to this attribute:

Parameters
validatorValue validator callback to enable.
dataOptional blind data.
Note
Both arguments are used to identify which validator to enable.
bool OfAttr::get_bool ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a boolean.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
const CoreString & OfAttr::get_context_filter ( ) const

Returns the full name of the OfContext from where OfObjects can be picked as references for this attribute.

Note
This is mainly a UI hint for restraining the picking of OfObject.
const FCurve * OfAttr::get_curve ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a f-curve.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
double OfAttr::get_curve_double ( const double &  parameter,
const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a f-curve evaluation as a single value y = f[index](parameter).

Parameters
[in]parameterThe input parameter where the f-curve is evaluated.
[in]indexThe index of the f-curve in the array of values. By default, the first f-curve is evaluated.
[in]pageSpecifies which value page is used to access the curve. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
void OfAttr::get_curve_values ( CoreArray< double > &  values,
const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Performs a multi f-curve evaluation (y0 = f[0](parameter), ..., yN = f[N](parameter)).

Parameters
[out]valuesArray of f-curve evaluations resized to the number of curves in this attribute.
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
void OfAttr::get_curve_values ( CoreVector< double > &  values,
const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Performs a multi f-curve evaluation (y0 = f[0](parameter), ..., yN = f[N](parameter)).

Parameters
[out]valuesVector of f-curve evaluations resized to the number of curves in this attribute.
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
void OfAttr::get_curve_values ( CoreArray< double > &  values,
const CoreBasicArray< double > &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Performs a multi f-curve evaluation with multiple input parameters (y0 = f[0](parameter[0]), ..., yN = f[N](parameter[N])).

Parameters
[out]valuesArray of f-curve evaluations resized to the number of curves in this attribute.
[in]parameterThe input parameters where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec2d OfAttr::get_curve_vec2d ( const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec2d (y0 = f[0](parameter), y1 = f[1](parameter)).

Parameters
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec2d OfAttr::get_curve_vec2d ( const GMathVec2d &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec2d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1])).

Parameters
[in]parameterThe input parameters where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec3d OfAttr::get_curve_vec3d ( const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec3d (y0 = f[0](parameter), y1 = f[1](parameter), y2 = f[2](parameter)).

Parameters
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec3d OfAttr::get_curve_vec3d ( const GMathVec3d &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec3d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1]), y2 = f[2](parameter[2])).

Parameters
[in]parameterThe input parameters where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec4d OfAttr::get_curve_vec4d ( const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec4d (y0 = f[0](parameter), y1 = f[1](parameter), y2 = f[2](parameter), y3 = f[3](parameter)).

Parameters
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec4d OfAttr::get_curve_vec4d ( const GMathVec4d &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec4d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1]), y2 = f[2](parameter[2]), y3 = f[3](parameter[3])).

Parameters
[in]parameterThe input parameters where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
void OfAttr::get_dirtiness_names ( CoreVector< CoreString > &  names,
const int &  dirtiness 
)
static

Breaks down the specified dirtiness into stringified names of the actomic binary masks composing it.

Parameters
[out]dirtinessesVector of stringified names of the atomic dirtiness binary masks.
[in]dirtinessThe Dirtiness to get broken down.
void OfAttr::get_dirtinesses ( CoreVector< Dirtiness > &  dirtinesses,
const int &  dirtiness 
)
static

Break down the specified dirtiness into actomic binary masks composing it.

Parameters
[out]dirtinessesVector of atomic dirtiness binary masks.
[in]dirtinessThe Dirtiness to get broken down.
const CoreString & OfAttr::get_doc ( ) const

Returns the associated documentation for this attribute.

return the documentation string of this attribute

Note
The documentation string is not stored by attribute but in the class.
double OfAttr::get_double ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a double precision floating point number.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
If the attribute is disabled, the value returned is not the last value of the attribute, but instead the one of the proto attr (as it was defined in the class' cid file)
double OfAttr::get_double_at ( const double &  time,
const unsigned int &  index = 0 
) const

Returns the value as a double precision floating point number at the given time.

Parameters
[in]timeEvaluation time.
[in]indexThe index of the value in the array of values. By default, the first value is returned.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
const OfAttrEvent & OfAttr::get_event_info ( ) const

Returns the event info for the current change notification for this attribute.

gets information about incoming event

AnimFCurve * OfAttr::get_fcurve ( const unsigned int &  index) const

Returns the animation f-curve bound to an attribute value, considering attribute state (disabled, muted, ...)

Returns
Null pointer if the value at the given index is not bound to an animation f-curve.
const CoreBasicArray< CoreString > & OfAttr::get_filename_extensions ( ) const

Returns an array of filename extensions used by file browsers to filter which files are displayed.

return the file extensions supported by the attribute

CoreString OfAttr::get_full_name ( ) const

Returns the full name of this attribute.

Note
A full name is a path from the project's root to this attribute.
'project:\scene\image.resolution' is the full name of the attribute named 'resolution' of the object 'image' whose full name is 'project://scene/image'.
OfObject * OfAttr::get_group ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT,
const bool &  consider_disabled = true 
) const

Returns a group containing the referenced object or the referenced object itself if the object is a group.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
the referenced group or a group containing the referenced object if not a group. If nothing is referenced, it returns 0.
Note
This method is to be used with VISUAL_HINT_GROUP only attributes. It returns 0 otherwise.
const CoreString & OfAttr::get_group_filter ( ) const

Returns which OfClass is accepted by Groups referenced by this attribute. Group filters are secondary hints that work closely with attributes referencing Groups. They are used to specify which kind of OfClass is accepted by the Group.

Note
Use this method on TYPE_REFERENCE and TYPE_OBJECT attributes that are referencing Groups only.
See Also
set_group_filter
long OfAttr::get_long ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a long integer number.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
This method performs string comparisons when the attribute works with an enumeration
OfObject * OfAttr::get_object ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT,
const bool &  consider_disabled = true 
) const

Returns the attribute value as an OfObject pointer.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
const CoreString & OfAttr::get_object_filter ( ) const

Returns a hint to which class is accepted by this attribute.

Note
This method is deprecated, use get_object_filters() instead.
See Also
get_object_filters, set_object_filters
const CoreBasicArray< CoreString > & OfAttr::get_object_filters ( ) const

Returns a hint to which OfClasses of OfObject are accepted by this attribute.

Object filters are hints used by TYPE_REFERENCE and TYPE_OBJECT attributes in order to check what kind of object is can be connected to the attribute.

Returns
An array of OfClass names.
See Also
set_object_filters
OfAttr * OfAttr::get_override ( ) const

access the attribute used as override

Parameters
specifiesto test or not the state of the override disabled flag
Returns
the attribute used as override if it exists, otherwise returns 0
void OfAttr::get_override_users ( CoreVector< OfAttr * > &  users) const

gets the list of attributes that are overridden by this attribute

Parameters
specifiesto test or not the state of the override disabled flag
usersthe overridden attributes
OfAttr * OfAttr::get_parent_attribute ( ) const

Returns the attribute of the embedding object that is referencing this attribute.

Returns
Null if the parent object of this attribute is not an embedded object.
void OfAttr::get_preset_hints ( CoreArray< bool > &  hints) const

Gather an array of hints used by the UI to tag the presets.

Parameters
[out]hintsArray of flags telling to whether hint a preset or not.
Note
Hints are gathered by IX_MODULE_CLBK::get_attr_preset_hints. If a module does not implement this callback, all presets are hinted true (hilighted).
bool OfAttr::get_raw_bool ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const
inline

Returns the attribute value as a boolean.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The raw value is value stored in the current page before expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type. deprecated: value before expression evaluation on a boolean is meaningless, use get_bool instead Returns all the values as booleans into the specified array for the given value page before expression evaluation. deprecated: value before expression evaluation on a boolean is meaningless, use get_values instead
double OfAttr::get_raw_double ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const
inline

Returns the attribute value as a double precision floating point number.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The raw value is value stored in the current page before expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type. deprecated: value before expression evaluation on a double is meaningless, use get_double instead Returns all the values as double precision floating point numbers into the specified array for the given value page before expression evaluation. deprecated: value before expression evaluation on a double is meaningless, use get_values instead
long OfAttr::get_raw_long ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const
inline

Returns the attribute value as a long integer number.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The raw value is value stored in the current page before expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type. deprecated: value before expression evaluation on a long is meaningless, use get_long instead Returns all the values as long integer numbers into the specified array for the given value page before expression evaluation. deprecated: value before expression evaluation on a long is meaningless, use get_values instead
OfObject* OfAttr::get_raw_object ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT,
const bool &  consider_disabled = true 
) const
inline

Returns the attribute value as a OfObject.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The raw value is value stored in the current page before expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type. Returns all the values as OfObject pointers into the specified array for the given value page before expression evaluation.
CoreString OfAttr::get_raw_string ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT,
const bool &  consider_disabled = true 
) const

Returns the attribute value as a character string.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The raw value is value stored in the current page before expression evaluation. It returns the expression itself.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec2d OfAttr::get_raw_vec2d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec2d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value before expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type. deprecated: value before expression evaluation on a double is meaningless, use get_vec2d instead
GMathVec3d OfAttr::get_raw_vec3d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec3d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value before expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type. deprecated: value before expression evaluation on a double is meaningless, use get_vec3d instead
GMathVec4d OfAttr::get_raw_vec4d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec4d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value before expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type. deprecated: value before expression evaluation on a double is meaningless, use get_vec4d instead
bool OfAttr::get_serialized_bool ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a boolean.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The serialized value is value stored in the serialization process.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
const FCurve * OfAttr::get_serialized_curve ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a f-curve.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
double OfAttr::get_serialized_curve_double ( const double &  parameter,
const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a f-curve evaluation as a single value y = f[index](parameter).

Parameters
[in]parameterThe input parameter where the f-curve is evaluated.
[in]indexThe index of the f-curve in the array of values. By default, the first f-curve is evaluated.
[in]pageSpecifies which value page is used to access the curve. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
void OfAttr::get_serialized_curve_values ( CoreArray< double > &  values,
const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Performs a multi f-curve evaluation (y0 = f[0](parameter), ..., yN = f[N](parameter)).

Parameters
[out]valuesArray of f-curve evaluations resized to the number of curves in this attribute.
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
void OfAttr::get_serialized_curve_values ( CoreVector< double > &  values,
const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Performs a multi f-curve evaluation (y0 = f[0](parameter), ..., yN = f[N](parameter)).

Parameters
[out]valuesVector of f-curve evaluations resized to the number of curves in this attribute.
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
void OfAttr::get_serialized_curve_values ( CoreArray< double > &  values,
const CoreBasicArray< double > &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Performs a multi f-curve evaluation with multiple input parameters (y0 = f[0](parameter[0]), ..., yN = f[N](parameter[N])).

Parameters
[out]valuesArray of f-curve evaluations resized to the number of curves in this attribute.
[in]parameterThe input parameters where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec2d OfAttr::get_serialized_curve_vec2d ( const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec2d (y0 = f[0](parameter), y1 = f[1](parameter)).

Parameters
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec2d OfAttr::get_serialized_curve_vec2d ( const GMathVec2d &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec2d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1])).

Parameters
[in]parameterThe input parameters where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec3d OfAttr::get_serialized_curve_vec3d ( const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec3d (y0 = f[0](parameter), y1 = f[1](parameter), y2 = f[2](parameter)).

Parameters
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec3d OfAttr::get_serialized_curve_vec3d ( const GMathVec3d &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec3d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1]), y2 = f[2](parameter[2])).

Parameters
[in]parameterThe input parameters where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec4d OfAttr::get_serialized_curve_vec4d ( const double &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec4d (y0 = f[0](parameter), y1 = f[1](parameter), y2 = f[2](parameter), y3 = f[3](parameter)).

Parameters
[in]parameterThe input parameter where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec4d OfAttr::get_serialized_curve_vec4d ( const GMathVec4d &  parameter,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a multi f-curve evaluation as a GMathVec4d with multiple input parameters (y0 = f[0](parameter[0]), y1 = f[1](parameter[1]), y2 = f[2](parameter[2]), y3 = f[3](parameter[3])).

Parameters
[in]parameterThe input parameters where the f-curves are evaluated.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Note
This method always returns something even if the attribute type mismatches TYPE_CURVE. In case of type mismatching, it tries to convert the value into the required return type.
double OfAttr::get_serialized_double ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a double precision floating point number.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The serialized value is value stored in the serialization process.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
double OfAttr::get_serialized_double_at ( const double &  time,
const unsigned int &  index = 0 
) const

Returns the value as a double precision floating point number at the given time.

Parameters
[in]timeEvaluation time.
[in]indexThe index of the value in the array of values. By default, the first value is returned.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
AnimFCurve * OfAttr::get_serialized_fcurve ( const unsigned int &  index) const

Returns the animation f-curve bound to an attribute value, without considering attribute state (disabled, muted, ...)

Returns
Null pointer if the value at the given index is not bound to an animation f-curve.
OfObject * OfAttr::get_serialized_group ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns a group containing the referenced object or the referenced object itself if the object is a group.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
the referenced group or a group containing the referenced object if not a group. If nothing is referenced, it returns 0.
Note
This method is to be used with VISUAL_HINT_GROUP only attributes. It returns 0 otherwise.
long OfAttr::get_serialized_long ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a long integer number.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The serialized value is value stored in the serialization process.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
OfObject * OfAttr::get_serialized_object ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a OfObject.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The serialized value is value stored in the serialization process.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
ParserEntry * OfAttr::get_serialized_settings ( const CoreString settings_key) const

get_settings settings accessor

Parameters
settings_keythe settings identifier
Returns
the settings if retrieved, 0 otherwise
Note
the method will log a warning if the settings is not found
unsigned int OfAttr::get_serialized_settings_count ( ) const

access the number of settings attached to the attribute

Returns
the number of settings
void OfAttr::get_serialized_settings_keys ( CoreVector< CoreString > &  keys) const

access all settings key

Parameters
thearray that will receive known keys
OfAttr & OfAttr::get_serialized_source ( )

Returns the source attribute of this attribute, without considering attribute state (disabled, muted, ...)

Returns
this attribute if the parent object is not an instance or if it a localized attribute, or call get_serialized_source on parent attribute
CoreString OfAttr::get_serialized_string ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT 
) const

Returns the attribute value as a character string.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the curves. By default, the current page is used.
Returns
The serialized value is value stored in the serialization process.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
OfObject * OfAttr::get_serialized_texture ( ) const

Returns the texture bound to this attribute, without considering attribute state (disabled, muted, ...)

Returns
Null pointer if no texture is bound.
const unsigned int OfAttr::get_serialized_value_count ( ) const

<

Returns the number of values contained in this attribute, without considering attribute state (disabled, muted, ...) Returns the number of values contained in this attribute, considering attribute state (disabled, muted, ...) the specified parameter of this method is considered on an attribute TYPE_OBJECT or TYPE_REFERENCE when the attribute is using a typed List container since it is possible to disable an object or a value that is using an object, the parameter allows to consider or not enability

GMathVec2d OfAttr::get_serialized_vec2d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec2d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The serialized value is value stored in the serialization process.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec3d OfAttr::get_serialized_vec3d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec3d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The serialized value is value stored in the serialization process.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec3d OfAttr::get_serialized_vec3d_at ( const double &  time) const

Returns the value as a GMathVec3d at the given time.

Parameters
[in]timeEvaluation time.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec4d OfAttr::get_serialized_vec4d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec4d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The serialized value is value stored in the serialization process.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec4d OfAttr::get_serialized_vec4d_at ( const double &  time) const

Returns the value as a GMathVec4d at the given time.

Parameters
[in]timeEvaluation time.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
ParserEntry * OfAttr::get_settings ( const CoreString settings_key) const

get_settings settings accessor

Parameters
settings_keythe settings identifier
Returns
the settings if retrieved, 0 otherwise
Note
the method will log a warning if the settings is not found
unsigned int OfAttr::get_settings_count ( ) const

access the number of settings attached to the attribute

Returns
the number of settings
void OfAttr::get_settings_keys ( CoreVector< CoreString > &  keys) const

access all settings key

Parameters
thearray that will receive known keys
OfAttr & OfAttr::get_source ( )

Returns the source attribute of this attribute, considering attribute state (disabled, muted, ...)

get_* methods : allow to access attribute values after expression evaluation (according to the type of the attribute) considering the state of the attribute (disabled, muted,...) to redirect the source on accessing the attribute value. get_raw_* methods : allow to access attribute values before expression evaluation (according to the type of the attribute) considering the state of the attribute (disabled, muted,...) to redirect the source on accessing the attribute value. get_serialized_* methods : allow to access attribute values before expression evaluation (according to the type of the attribute) for the serialization process, without considering the state of the attribute (disabled, muted,...) to redirect the source on accessing the attribute value.

Returns
this attribute if not muted and either if the parent object is not an instance or if it is a localized attribute, or call get_source on parent attribute
CoreString OfAttr::get_string ( const unsigned int &  index = 0,
const ValuePage page = VALUE_PAGE_CURRENT,
const bool &  consider_disabled = true 
) const

Returns the attribute value as a string.

Parameters
[in]indexThe index of the value in the array of values. By default, the first value is returned.
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
OfObject * OfAttr::get_texture ( const bool &  consider_disabled = true) const

Returns the texture bound to this attribute, considering attribute state (disabled, muted, ...)

Returns
Null pointer if no texture is bound.
OfObject * OfAttr::get_top_object ( ) const

Returns top-most object containing this attribute.

Note
If the parent object is not embedded into another object, then it returns the same object as get_parent_object().
CoreString * OfAttr::get_ui_data ( const CoreString key)

retrieves a specified data from ui data attached to this attr

Parameters
[in]key: key used to add the data.
Returns
the data found, 0 if not found.
GMathVec2d OfAttr::get_vec2d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec2d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec3d OfAttr::get_vec3d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec3d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec3d OfAttr::get_vec3d_at ( const double &  time) const

Returns the value as a GMathVec3d at the given time.

Parameters
[in]timeEvaluation time.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec4d OfAttr::get_vec4d ( const ValuePage page = VALUE_PAGE_CURRENT) const

Returns the attribute value as a GMathVec4d.

Parameters
[in]pageSpecifies which value page is used to access the value. By default, the current page is used.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type. In case of type mismatching, it tries to convert the value into the required return type.
GMathVec4d OfAttr::get_vec4d_at ( const double &  time) const

Returns the value as a GMathVec4d at the given time.

Parameters
[in]timeEvaluation time.
Returns
The value after expression evaluation.
Note
This method always returns something even if the attribute type mismatches the return type or if the index is out of range. In case of type mismatching, it tries to convert the value into the required return type.
bool OfAttr::has_expression_overrides ( unsigned int  index = static_cast<unsigned int>(-1)) const
protected

Check if this attribute has an override on any of its values.

Parameters
indexIf specified, will only check expression override on the given value
bool OfAttr::has_fcurve ( const unsigned int &  index = -1) const

Returns true if an animation f-curve is bound to an attribute value, considering attribute state (disabled, muted, ...)

Parameters
[in]indexThe index of the attribute value. If not index is specified (-1 by default), this method returns true if at least one value is bound.
bool OfAttr::has_serialized_fcurve ( const unsigned int &  index = -1) const

Returns true if an animation f-curve is bound to an attribute value, without considering attribute state (disabled, muted, ...)

Parameters
[in]indexThe index of the attribute value. If not index is specified (-1 by default), this method returns true if at least one value is bound.
bool OfAttr::is_animatable ( ) const

Returns true if this attribute can be animated.

return true if the attribute is animatable, false otherwise

bool OfAttr::is_animated ( const unsigned int &  index = -1) const

Returns true if the value at the given index is animated, considering attribute state (disabled, muted, ...)

Parameters
[in]indexThe attribute value index. If no index is specified (-1 by default), all the values are checked for animation and if one value is animated, this method returns true. Returns the kind of animation attached to the value (if any) at the specified index.
bool OfAttr::is_any_serialized_value_disabled ( ) const

checks if any of the value in the set of values of the attribute has been disabled, without considering muted local value state

Parameters
trueif any value is disabled, false otherwise
bool OfAttr::is_any_value_disabled ( ) const

checks if any of the value in the set of values of the attribute has been disabled, considering muted local value state

Parameters
trueif any value is disabled, false otherwise
bool OfAttr::is_asleep ( ) const

Returns true is the attribute is asleep.

See Also
asleep, awake, is_awake
bool OfAttr::is_awake ( ) const

Returns true is the attribute does not sleep.

See Also
asleep, awake, is_asleep
bool OfAttr::is_depending_on_variable ( const CoreString variable_name) const

Returns whether the current attribute depends on the specified variable or not.

Note
This function will always returns false for attribute types that are not string and file.
bool OfAttr::is_disabled ( ) const

Returns the current disable state of the attribute.

Returns
true if the attribute is disabled, false otherwise
bool OfAttr::is_editable ( const int &  read_only_mask = RO_ALL_MASK) const

#5835: Ability to edit attributes that are connected to external items.

bool OfAttr::is_expression_enabled ( ) const

Returns the enabled state of the expressions for this attribute.

See Also
enable_expression
bool OfAttr::is_expression_legacy ( unsigned int  index = 0) const

Returns true if the expression is a legacy one (a string of the form "$PDIR/../renders/$5F.exr" set through a set_string method)

Note
This will be removed in future versions and those strings will no longer use SeExpr expression system.
bool OfAttr::is_hidden ( ) const

Returns true if this attribute is not displayed in the user interface.

Returns true if this attribute has been flagged read_only ! for more complex usage see is_editable

bool OfAttr::is_local_muted ( ) const

Attribute muted local value state get accessor.

Returns
true if this attribute has a been flagged as muted local value, false otherwise
bool OfAttr::is_override ( ) const

checks if this attribute is used as override by another attribute

Returns
true if another attribute is overridden by this attribute, false otherwise
bool OfAttr::is_override_user_protected ( ) const

checks in the list of attributes that are overridden by this attribute if the object is protected

Parameters
specifiesto test or not the state of the override disabled flag
Returns
returns true if an overridden attribute' object is protected, false otherwise
bool OfAttr::is_serialized_animated ( const unsigned int &  index = -1) const

Returns true if the value at the given index is animated, without considering attribute state (disabled, muted, ...)

Parameters
[in]indexThe attribute value index. If no index is specified (-1 by default), all the values are checked for animation and if one value is animated, this method returns true.
bool OfAttr::is_serialized_value_disabled ( const unsigned int &  value_index) const

checks if a single value in the set of values of the attribute has been disabled, without considering muted local value state

Parameters
theindex to disable
bool OfAttr::is_serialized_value_equal_to ( const OfAttr attr) const

Returns true if the values of this attribute equals the values of the specified one.

Note
In case of multi-value attributes, the check is performed index by index.
bool OfAttr::is_using_override ( ) const
inline

checks if this attribute is using another attribute as override

Parameters
specifiesto test or not the state of the override disabled flag
Returns
true if attribute is overridden, false otherwise
bool OfAttr::is_value_disabled ( const unsigned int &  value_index) const

checks if a single value in the set of values of the attribute has been disabled, considering muted local value state

Parameters
theindex to disable
bool OfAttr::is_value_equal_to ( const OfAttr attr,
const bool &  consider_disabled = true 
) const

Returns true if the values of this attribute equals the values of the specified one.

Return true if the values of input attributes are equals to the attribute values.

Parameters
[in]whenattribute is TYPE_OBJECT or TYPE_REFERENCE, we need to provide filtering information as get_object method
Note
In case of multi-value attributes, the check is performed index by index.
It also compares their animations and textures status
void OfAttr::localize ( const bool &  flag,
void *  requester = 0 
)

Makes the attribute value local to the object if the attribute was inheriting its value from a source attribute.

Parameters
[in]flagLocalizes the attribute if set to true.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::move_item ( const unsigned int &  from,
const unsigned int &  to,
void *  requester = 0 
)

Moves the position of an attribute value in the array/list of attribute values.

Parameters
[in]fromIndex of the item to move.
[in]toIndex where the item will moved to.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
This method works on any type of attribute value.
void OfAttr::mute_local_value ( const bool &  flag)

Set the attribute as local value muted.

Note
Provides a way to toggle on/off localized value without losing local value
Parameters
flagprovides mute/un-mute state to set
void OfAttr::override ( OfAttr overrider,
void *  requester = 0 
)

override to dynamically enslave this attribute value with the override attribute value

Parameters
overridethe attribute to use as override
requesterto trace back where the request come from
void OfAttr::permute ( const CoreBasicArray< unsigned int > &  permutation,
const bool &  check_permutation = true,
void *  requester = 0 
)

Permutes the position of all the attribute values.

Parameters
[in]permutationArray of indices specifying the new position of each attribute value.
[in]check_permutationIf true, the method will check if the given permutation array is valid.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::permute ( const CoreList< unsigned int > &  permutation,
const bool &  check_permutation = true,
void *  requester = 0 
)

Permutes the position of all the attribute values.

Parameters
[in]permutationList of indices specifying the new position of each attribute value.
[in]check_permutationIf true, the method will check if the given permutation list is valid.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::remove_all_settings ( void *  requester = 0)

remove_all_settings detachall a settings from the attribute

Parameters
optionalblind data pointer that can be retrieved via OfAttrEvent::requester
void OfAttr::remove_all_validators ( )

Removes all value validator callbacks bound to this attribute.

void OfAttr::remove_anim ( const unsigned int &  index = -1,
void *  requester = 0 
)

Removes the animation from the value at the given index.

Parameters
[in]indexThe attribute value index. If no index is specified (-1 by default), animation is removed from all the values.
Note
This method does nothing if the attribute is not animated.
void OfAttr::remove_curve_key ( const FCurveKeyId key_id,
const unsigned int &  index,
void *  requester = 0 
)

Removes a f-curve key to a TYPE_CURVE attribute value.

Parameters
[in]key_idThe ID of the key to remove.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::remove_curve_key ( const FCurveKeyId key_id,
void *  requester = 0 
)

Removes multiple f-curve keys to TYPE_CURVE attribute values.

Parameters
[in]key_idThe ID of the key to remove for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::remove_curve_key ( const CoreBasicArray< FCurveKeyId > &  key_ids,
const unsigned int &  index,
void *  requester = 0 
)

Removes multiple f-curve keys to a TYPE_CURVE attribute value.

Parameters
[in]key_idsArray of ID of the keys to remove.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::remove_curve_key ( const CoreBasicArray< FCurveKeyId > &  key_ids,
void *  requester = 0 
)

Removes multiple f-curve keys to multiple TYPE_CURVE attribute values.

Parameters
[in]key_idsArray of ID of the keys to remove from each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::remove_fcurve ( const unsigned int &  index = -1,
void *  requester = 0 
)

Removes the animation f-curve bound to an attribute value.

Parameters
[in]indexThe index of the attribute value. If no index is specified (-1 by default), all animation f-curve are unbound from all the values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
The removed f-curve is deleted during its removal.
void OfAttr::remove_item ( const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Removes the attribute values at the given indices. This method does not consider the container type of the attribute and behaves like a list.

is_array() ||

void OfAttr::remove_object ( const OfObject object,
void *  requester = 0 
)

Removes the specified OfObject from the array of attribute values.

Parameters
[in]objectOfObject to remove if found.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If this attribute is of type TYPE_OBJECT, the embedded object is destroyed.
void OfAttr::remove_override ( void *  requester = 0)

remove the existing override on this attribute

Parameters
requesterto trace back where the request come from
void OfAttr::remove_settings ( const CoreString settings_key,
void *  requester = 0 
)

remove_settings detach a settings from the attribute

Parameters
settings_keythe settings to retrieve
optionalblind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::remove_validator ( ValidatorBool  validator,
void *  data = nullptr 
)

Removes the specified validator bound to this attribute.

Parameters
validatorValue validator callback to unbind.
dataOptional blind data.
Note
Both arguments are used to identify which validator to remove.
void OfAttr::restore_state ( OfAttrState *  state,
const bool &  auto_delete_state = false 
)

Restores the state of this attribute using the specified state.

Parameters
[in]stateAttribute state that has been previously saved.
[in]auto_delete_stateAuto-delete the state after it has been restored (default is false).
void OfAttr::revert ( OfAttrState *  state = 0,
const bool &  auto_delete_state = true 
)

Reverts attribute value to its revert state.

Parameters
ifspecified state is not null, the state will be used to restore attribute value
specifiesto release or not the revert state
ParserEntry * OfAttr::serialize ( const OfSerialOptions options = OfSerialOptions::get_default()) const

Creates a serialization of this attribute.

Parameters
[in]optionsOptional parameters controlling the deserialization.
Note
The returned entry must be deleted.
ParserEntry * OfAttr::serialized_settings_exists ( const CoreString settings_key) const

settings_exists settings accessor

Parameters
settings_keythe settings identifier
Returns
the settings if retrieved, 0 otherwise
void OfAttr::set_bool ( const bool &  value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Assigns a boolean value to the attribute value at the given index.

Parameters
[in]valueValue to assign.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
See Also
change_bool
void OfAttr::set_bool ( const CoreBasicArray< bool > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Set attribute values from the specified array of values and indices.

Parameters
[in]valuesArray of values.
[in]valuesArray of value indices.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The specified values and indices count must match, and also indices count is lower than current attribute count.
Both current and previous value pages are set using this method.
void OfAttr::set_bool ( const CoreBasicArray< bool > &  values,
void *  requester = 0 
)

Set all attribute values from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_bool ( const CoreList< bool > &  values,
void *  requester = 0 
)

Set all attribute values from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_can_disable ( const bool  enable)

set_can_disable

Parameters
enablethe attribute to be able to use disable feature
void OfAttr::set_can_mute_local_value ( const bool  enable)

set_can_mute_local_value

Parameters
enablethe attribute to be able to use mute local value functionality
void OfAttr::set_context_filter ( const CoreString filter)

Sets the OfContext from where OfObjects can be picked as references for this attribute.

Parameters
[in]filterFull name of the OfOontext. By default, when no filter applies, this context is 'project:/'
Note
This is mainly a UI hint for restraining the picking of OfObject.
void OfAttr::set_curve ( const FCurve curve,
const unsigned int &  index,
void *  requester = 0 
)

Assign a curve to a value of this attribute.

Parameters
[in]curveThe curve to assign.
[in]indexThe index of the value in the array of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
Both current and previous value pages are assigned.
void OfAttr::set_curve_key_type ( const int &  key_type,
const FCurveKeyId key_id,
const unsigned int &  index,
void *  requester = 0 
)

Set the FCurveKey::KeyType of the f-curve key of a TYPE_CURVE attribute value.

Parameters
[in]key_typeThe new type of the key.
[in]key_idThe ID of the key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_type ( const int &  key_type,
const FCurveKeyId key_id,
void *  requester = 0 
)

Set the FCurveKey::KeyType of the f-curve key of multiple TYPE_CURVE attribute values.

Parameters
[in]key_typeThe new type of the key.
[in]key_idThe ID of the key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_type ( const int &  key_type,
const CoreBasicArray< FCurveKeyId > &  key_ids,
const unsigned int &  index,
void *  requester = 0 
)

Set the FCurveKey::KeyType of multiple f-curve keys of a TYPE_CURVE attribute value.

Parameters
[in]key_typeThe new type of the keys.
[in]key_idsArray of IDs for each key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_type ( const int &  key_type,
const CoreBasicArray< FCurveKeyId > &  key_ids,
void *  requester = 0 
)

Set the FCurveKey::KeyType of multiple f-curve keys of multiple TYPE_CURVE attribute values.

Parameters
[in]key_typeThe new type of the keys.
[in]key_idsArray of IDs for each key of each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_x ( const double &  x,
const FCurveKeyId key_id,
const unsigned int &  index,
void *  requester = 0 
)

Set the value on the X axis of the f-curve key of a TYPE_CURVE attribute value.

Parameters
[in]xValue on the X axis
[in]key_idThe ID of the key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_x ( const CoreBasicArray< double > &  x,
const CoreBasicArray< FCurveKeyId > &  key_ids,
const unsigned int &  index,
void *  requester = 0 
)

Set the value on the X axis of multiple f-curve keys of a TYPE_CURVE attribute value.

Parameters
[in]xArray of values on the X axis
[in]key_idsArray of IDs for each key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_x ( const double &  x,
const FCurveKeyId key_id,
void *  requester = 0 
)

Set the same X axis value for a f-curve key for each TYPE_CURVE attribute value.

Parameters
[in]xValue on the X axis.
[in]key_idID of the key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_x ( const CoreBasicArray< double > &  x,
const CoreBasicArray< FCurveKeyId > &  key_ids,
void *  requester = 0 
)

Set the value on the X axis of multiple f-curve keys of multiple TYPE_CURVE attribute values.

Parameters
[in]xArray of values on the X axis for each key.
[in]key_idsArray of IDs for each key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_y ( const double &  y,
const FCurveKeyId key_id,
const unsigned int &  index,
void *  requester = 0 
)

Set the value on the Y axis of the f-curve key of a TYPE_CURVE attribute value.

Parameters
[in]yValue on the Y axis
[in]key_idThe ID of the key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_y ( const CoreBasicArray< double > &  y,
const FCurveKeyId key_id,
void *  requester = 0 
)

Set the value on the Y axis of multiple f-curve keys of a TYPE_CURVE attribute value.

Parameters
[in]yArray of values on the Y axis
[in]key_idsArray of IDs for each key.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_y ( const double &  y,
const CoreBasicArray< FCurveKeyId > &  key_ids,
const unsigned int &  index,
void *  requester = 0 
)

Set the same Y axis value for a f-curve key for each TYPE_CURVE attribute value.

Parameters
[in]yValue on the Y axis.
[in]key_idID of the key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_curve_key_y ( const CoreBasicArray< double > &  y,
const CoreBasicArray< FCurveKeyId > &  key_ids,
void *  requester = 0 
)

Set the value on the Y axis of multiple f-curve keys of multiple TYPE_CURVE attribute values.

Parameters
[in]yArray of values on the Y axis for each key.
[in]key_idsArray of IDs for each key for each attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_disabled ( const bool &  disable)

Sets the disable state of attribute.

Parameters
thestate of the attribute
void OfAttr::set_disabled_values ( const CoreBasicArray< unsigned int > &  value_indices,
void *  requester = 0 
)

change the list of disabled values

Parameters
theindices of values that now will be disabled
void OfAttr::set_double ( const double &  value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Assigns a double precision floating point number to the attribute value at the given index.

Parameters
[in]valueValue to assign.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
See Also
change_double
void OfAttr::set_double ( const CoreBasicArray< double > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Set attribute values from the specified array of values and indices.

Parameters
[in]valuesArray of values.
[in]valuesArray of value indices.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The specified values and indices count must match, and also indices count is lower than current attribute count.
Both current and previous value pages are set using this method.
void OfAttr::set_double ( const CoreBasicArray< double > &  values,
void *  requester = 0 
)

Set all attribute values from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_double ( const CoreList< double > &  values,
void *  requester = 0 
)

Set all attribute values from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_expression ( const CoreString expression,
unsigned int  index = 0,
bool  activated = true,
void *  requester = nullptr 
)

Sets the expression that will drive the specified attribute value.

Parameters
expressionThe expression. Use an empty string to unbind an expression.
indexThe value index
activatedOptional activated state of the expression. true by default.
requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester
void OfAttr::set_expression ( const CoreBasicArray< CoreString > &  expressions,
const CoreBasicArray< unsigned int > &  indices,
const CoreBasicArray< bool > &  activated,
void *  requester = nullptr 
)
void OfAttr::set_filename_extensions ( const CoreBasicArray< CoreString > &  extensions)

Associate filename extensions that are used by file browsers to filter which files are displayed.

set the filename extension that the attribute will support

void OfAttr::set_group_filter ( const CoreString filter)

Sets which OfClass is accepted by Groups referenced by this attribute. \ Group filters are secondary hints that work closely with attributes referencing Groups. They are used to specify which kind of OfClass is accepted by the Group.

Note
Use this method on TYPE_REFERENCE and TYPE_OBJECT attributes that are referencing Groups only.
See Also
get_group_filter
void OfAttr::set_key ( const double &  time,
const unsigned int &  index = -1,
void *  requester = 0 
)

Add a keyframe for the current value at the given time.

Parameters
[in]timeSet the time of the newly created keyframes.
[in]indexThe index of the attribute value. If no index is specified (-1 by default), a keyframe is added to all the values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_long ( const long &  value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Assigns a long integer number to the attribute value at the given index.

Parameters
[in]valueValue to assign.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
See Also
change_long
void OfAttr::set_long ( const CoreBasicArray< long > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Set attribute values from the specified array of values and indices.

Parameters
[in]valuesArray of values.
[in]valuesArray of value indices.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The specified values and indices count must match, and also indices count is lower than current attribute count.
Both current and previous value pages are set using this method.
void OfAttr::set_long ( const CoreBasicArray< long > &  values,
void *  requester = 0 
)

Set all attribute values from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_long ( const CoreList< long > &  values,
void *  requester = 0 
)

Set all attribute values from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_numeric_range_max ( const double &  max,
const bool &  auto_set_min = false 
)

Sets the maximum value of the numeric range for this attribute.

Parameters
[in]themaximum value to use.
[in]specifiesauto_set_min to true (default false) to auto compute the minimum value to use according to attribute type.
void OfAttr::set_numeric_range_min ( const double &  min,
const bool &  auto_set_max = false 
)

Sets the minimum value of the numeric range for this attribute.

Parameters
[in]theminimum value to use.
[in]specifiesauto_set_max to true (default false) to auto compute the maximum value to use according to attribute type.
void OfAttr::set_object ( OfObject value,
const unsigned int &  index = 0,
void *  requester = 0,
const CyclicCheckInfo cyclic_check = OfAttr::CYCLIC_CHECK_AND_WARN 
)

Assigns a OfObject pointer to the attribute value at the given index.

Parameters
[in]valueValue to assign.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
void OfAttr::set_object ( const CoreBasicArray< OfObject * > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0,
const CyclicCheckInfo cyclic_check = OfAttr::CYCLIC_CHECK_AND_WARN 
)

Set attribute values from the specified array of values and indices.

Parameters
[in]valuesArray of values.
[in]valuesArray of value indices.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The specified values and indices count must match, and also indices count is lower than current attribute count.
Both current and previous value pages are set using this method.
void OfAttr::set_object ( const CoreBasicArray< OfObject * > &  values,
void *  requester = 0,
const CyclicCheckInfo cyclic_check = OfAttr::CYCLIC_CHECK_AND_WARN 
)

Set all attribute values from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_object ( const CoreList< OfObject * > &  values,
void *  requester = 0,
const CyclicCheckInfo cyclic_check = OfAttr::CYCLIC_CHECK_AND_WARN 
)

Set all attribute values from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_object_filters ( const CoreBasicArray< CoreString > &  filters,
void *  requester = 0 
)

Sets a hint to which OfClasses of OfObject are accepted by this attribute.

Object filters are hints used by TYPE_REFERENCE and TYPE_OBJECT attributes in order to check what kind of object is can be connected to the attribute.

Parameters
[in]filtersArray of OfClass names hinting to which OfObject can be connected to this attribute.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
When changing this hint, any OfObject connected to this attribute whose OfClass is no more compatible is automatically disconnected.
See Also
get_object_filters
void OfAttr::set_overridable ( const bool &  enable)

enable/disable the capability of the attribute to use override mechanism

Parameters
enableto specify capability of the attribute
void OfAttr::set_string ( const CoreString value,
const unsigned int &  index = 0,
void *  requester = 0 
)

Assigns a character string to the attribute value at the given index.

Parameters
[in]valueValue to assign.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
See Also
change_string
void OfAttr::set_string ( const CoreBasicArray< CoreString > &  values,
const CoreBasicArray< unsigned int > &  indices,
void *  requester = 0 
)

Assigns a character string to the attribute value at the given index.

Parameters
[in]valuesValues to assign.
[in]indexindices of the attribute values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
See Also
change_string
void OfAttr::set_string ( const CoreBasicArray< CoreString > &  values,
void *  requester = 0 
)

Set all attribute values from the specified array of values.

Parameters
[in]valuesArray of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_string ( const CoreList< CoreString > &  values,
void *  requester = 0 
)

Set all attribute values from the specified list of values.

Parameters
[in]valuesList of values.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified values, it tries to convert it into the attribute value type.
The attribute values count matches the number of values given as argument.
Both current and previous value pages are set using this method.
void OfAttr::set_texture ( OfObject texture,
void *  requester = 0 
)

Binds a texture to this attribute.

Parameters
[in]textureThe texture to bind to this attribute.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If this attribute is already textured, the given texture replaces the previous one.
This method does nothing if this attribute is not texturable.
void OfAttr::set_ui_data ( const CoreString key,
const CoreString value 
)

sets (adds or updates) a specified data to ui data attached to this attr

Parameters
[in]key: key used to add the data.
[in]value: pointer to the data to add.
void OfAttr::set_ui_range_max ( const double &  max,
const bool &  auto_set_min = false 
)

Sets the maximum value of the UI range for this attribute.

Parameters
[in]themaximum value to use.
[in]specifiesauto_set_min to true (default false) to auto compute the minimum value to use according to attribute type.
void OfAttr::set_ui_range_min ( const double &  min,
const bool &  auto_set_max = false 
)

Sets the minimum value of the UI range for this attribute.

Parameters
[in]theminimum value to use.
[in]specifiesauto_set_max to true (default false) to auto compute the maximum value to use according to attribute type.
void OfAttr::set_value_count ( const unsigned int &  count,
void *  requester = 0 
)

Set the number of values contained in this attribute.

Parameters
[in]countNumber of values
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
void OfAttr::set_value_disabled ( const unsigned int &  value_index,
const bool &  disable,
void *  requester = 0 
)

disable a single value in the set of values of the attribute

Parameters
theindex to disable/enable
void OfAttr::set_value_disabled ( const CoreBasicArray< unsigned int > &  value_indices,
const bool &  disable,
void *  requester = 0 
)

disable a set of value in the set of values of the attribute

Parameters
theindices to disable/enable
void OfAttr::set_vec3d ( const GMathVec3d &  vec,
void *  requester = 0 
)

Assigns a GMathVec3d to the attribute value at the given index.

Parameters
[in]valueValue to assign.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
See Also
change_vec3d
void OfAttr::set_vec4d ( const GMathVec4d &  vec,
void *  requester = 0 
)

Assigns a GMathVec4d to the attribute value at the given index.

Parameters
[in]valueValue to assign.
[in]indexIndex of the attribute value.
[in]requesterOptional blind data pointer that can be retrieved via OfAttrEvent::requester.
Note
If the attribute type mismatches the specified value, it tries to convert it into the attribute value type.
Both current and previous value pages are set using this method.
See Also
change_vec4d
void OfAttr::set_weak_referencing ( const bool &  weak,
void *  requester = 0 
)

<

Enables/Disables weak referencing flag on a TYPE_REFERENCE attribute (used for referenced context unloading for automatically added referenced) Checks the weak referencing flag

ParserEntry * OfAttr::settings_exists ( const CoreString settings_key) const

settings_exists settings accessor

Parameters
settings_keythe settings identifier
Returns
the settings if retrieved, 0 otherwise
void OfAttr::update_revert ( const bool &  force = false,
OfAttrState *  state = 0 
)

Updates revert state.

Parameters
ifforce specified, the state will be updated even if not flagged dirty
ifstate is specified, the state will be used as revert state