Mdl_instance Class Reference
[Elements]
Description
Intermediate class to provide functionality common to MDL material instances and function calls.
Constructor
- Mdl_instance( String name, String element_type)
- More...
Functions
- varying as( String type_name)
- Upcasts an element to a specific element type. More...
- the copy( String name, Number privacy_level)
- Make a copy of this element in the database. More...
- create( String element_type, Number privacy_level)
- Creates a scene element called name. More...
- delete()
- Remove this element from the database.
- bool exists( String element_type)
- Returns whether the element exists or not. More...
- localize( Number privacy_level)
- Localizes this element. More...
- varying property_get( String cache, String command, String element_name_arg, Function as_a)
- Retrieves and caches a property of an element. More...
- property_set( String cache, String command, String element_name_arg, String value_arg_name, varying value, Function from_a)
- Sets and caches a property of an element. More...
Properties
- Mdl_arguments arguments
- The arguments of this MDL instance.
- Attributes attributes
- The attributes associated with this element.
- String definition
- The name of the definition from which the instance was made. More...
- String name
- The name of the element. More...
- String type_name
- The type name of the element. More...
Constructor
- Mdl_instance( String name, String element_type)
-
Parameters
- name
- name of the MDL instance.
- element_type
- The type of MDL instance, either 'Mdl_material_instance' or 'Mdl_function_call'
Functions
- varying Mdl_instance.as( String type_name)
-
Upcasts an element to a specific element type. If this element is not of the given type then undefined is returned. If type_name does not have a matching element implementation an error is thrown. Note that this is not strictly an upcast but will return a new instance of the specific class representing type_name.
Parameters
- type_name
- the element type name to convert to.
Returns
the specific Element implementation for this element.
- the Mdl_instance.copy( String name, Number privacy_level)
-
Make a copy of this element in the database.
Parameters
- name
- The name of the new element to copy to.
- privacy_level
- The privacy level to which the element will be copied. Defaults to the privacy level of the current scope.
Returns
copied element
- Mdl_instance.create( String element_type, Number privacy_level)
-
Creates a scene element called name. Throws on error.
Parameters
- element_type
- the type of element to create
- privacy_level
- The privacy level to create the element at. Defaults to the privacy level of the current scope.
- Mdl_instance.delete()
-
Remove this element from the database.
- bool Mdl_instance.exists( String element_type)
-
Returns whether the element exists or not.
Note:element_type of 'Scene' is not supported. To test if a Scene exists use this.as('Scene') !== undefined
Parameters
- element_type
- if provided then the element must also be of this type.
- Mdl_instance.localize( Number privacy_level)
-
Localizes this element.
Parameters
- privacy_level
- The privacy level to which the element will be localized. Defaults to the privacy level of the current scope.
- varying Mdl_instance.property_get( String cache, String command, String element_name_arg, Function as_a)
-
Retrieves and caches a property of an element. The value of the property must be retrievable via a command that takes a single argument which is the name of the element to retrieve the property from. The name of this Element is used. If the returned property is another named scene Element then the element's constructor can be provided to return the element itself rather than it's name. On error this will return undefined.
Parameters
- cache
- name of the property to cache the result to
- command
- name of the RS command to get the property value
- element_name_arg
- name of the command argument to use for the element name
- as_a
- if the property being retrieved is an RS Element then the element constructor should be passed in here. The result of the command is assumed to be the element name and this is used to create an Element instance to return rather than the name of the element. Use undefined if the retrieved value is not an element.
Returns
the property value if it exists or undefined
- Mdl_instance.property_set( String cache, String command, String element_name_arg, String value_arg_name, varying value, Function from_a)
-
Sets and caches a property of an element. The value of the property must be set via a command that takes two arguments, one being the name of the element to set and the other being the property's value. The names of these arguments are passed in. If the property is another named scene Element then the element's constructor can be provided and value can either be the element itself or it's name. Will throw on error.
Parameters
- cache
- name of the property to cache the result to
- command
- name of the RS command to set the property value
- element_name_arg
- name of the command argument to use for the element name
- value_arg_name
- name of the value argument to use for the value
- value
- the value to set
- from_a
- if the property being set is a RealityServer Element then the element constructor should be passed in here. value can then either be the name of the scene element or the Element itself. If value is a name then an Element is constructed and cache rather than the name itself. Use undefined if the value does not represent an Element .
Properties
- Mdl_arguments Mdl_instance.arguments
-
The arguments of this MDL instance.
- Attributes Mdl_instance.attributes
-
The attributes associated with this element.
- String Mdl_instance.definition
-
The name of the definition from which the instance was made. Read only.
- String Mdl_instance.name
-
The name of the element. Read only.
- String Mdl_instance.type_name
-
The type name of the element. If the element does not exists returns undefined. Read only.
Note:For a Scene element this will return 'Attribute_container', not 'Scene'.