class MaterialTable
 MaterialTable keeps information on materials used while rendering. Note that the table will make sure that the names of objects added are unique within the table, and will rename objects with non-unique names.
  Properties
 | Property |  Description | 
 | Name |  The name of the MaterialTable object. (Inherited from Object) | 
  Methods
 | Method |  Description | 
 | AddItem |  Adds an item to the table. The returned value is the id of the item within the table, which can be used to retrieve the item using GetItem(). (Inherited from Table) | 
 | AddMaterial |  Adds a material to the table. The returned value is the id of the material within the table. | 
 | AddObserver |  Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object) | 
 | ChangeTexturePrefixPath |  Changes the prefix path (drive, directory) of all matching texture paths in all the materials in the table, with the new one. This method is useful when external textures are placed in a specific folder, which needs to be moved. | 
 | Clear |  Clears the table, and removes all items. If AddItem is called after Clear, the item ids will start over from 0. (Inherited from Table) | 
 | Copy |  Clears the current table and copies the items from a source table. (Inherited from Table) | 
 | FindIdenticalMaterial |  Finds a material in the table that is setup identical to the specified material. | 
 | FindIdenticalMaterialId |  Finds the id of a material in the table that is setup identical to the specified material. | 
 | FindIdenticalMaterialIds |  Finds the materials in the table that are setup identical to the specified material. | 
 | FindItem |  Finds a named item in the table. If multiple items have the same name, the first will be returned. If no item was found, null will be returned. (Inherited from Table) | 
 | FindItemId |  Finds the id of an item in the table, using the name. If multiple items have the same name, the first will be returned. If no item was found, the return will be -1. (Inherited from Table) | 
 | FindMaterial |  Finds a material in the table, using the material name. If multiple materials have the same name, the first will be returned. If the material was not found, null is returned. | 
 | FindMaterialId |  Finds the id of a material in the table, using the material name. If multiple materials have the same name, the first will be returned. If the material was not found, the return will be -1. | 
 | GetClass |  Get the name of the MaterialTable class. (Inherited from Object) | 
 | GetItem |  Returns the i:th item, using the id of the item. (Inherited from Table) | 
 | GetItemsCount |  The number of item id:s in the table. If an item has been removed, using RemoveItem, the id is still counted in this method. GetIdsCount also equals the id that will be applied to the next item added to the table. (Inherited from Table) | 
 | GetMaterial |  Returns the i:th material, using the id of the material. | 
 | GetMaterialChannels |  Get all unique material channel names for all materials in table. | 
 | GetMaterialChannelsWithTextureInputs |  Get all unique material channel names having texture inputs for all materials in table. | 
 | GetMaterialsCount |  Returns the number of materials in the table. | 
 | IsA |  Returns true if MaterialTable is a or is a descendant of the class named as the type parameter. (Inherited from Object) | 
 | IsNull |  Returns true if the MaterialTable object is invalid. (Inherited from Object) | 
 | IsSameObjectAs |  Returns true if the MaterialTable object is valid. (Inherited from Object) | 
 | NonNull |  Returns true if the MaterialTable object is valid. (Inherited from Object) | 
 | PrintInfo |  Prints the content/info of the MaterialTable object to the log. (Inherited from Object) | 
 | RemoveItem |  Removes an item, and invalidates the id. The id will not point at a valid item, until Clear is called and new items are added up until the id. (Inherited from Table) | 
 | RemoveMaterial |  Removes a material. If GetMaterial is subsequently called with the same material id, the value returned will be null. | 
 | RemoveObserver |  Removes a previously added observer object. (Inherited from Object) | 
 | SetItem |  Sets an item in the table. The id must exist in the table. (Inherited from Table) | 
 | SetMaterial |  Sets a material in the table. | 
  Static methods
 | Method |  Description | 
 | IsClassA |  Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object) | 
 | SafeCast |  SafeCast makes sure the input object is of a class that can be cast into spMaterialTable, and if this is the case, returns the object cast into spMaterialTable. (Inherited from Object) | 
  Properties details
  Name
 The name of the MaterialTable object. (Inherited from Object)
   Syntax
  SetName parameters
 | Type |  Name |  Min |  Max |  Description | 
 const char * |  name |   |   |  New name of the object. | 
  GetName return value
 Type: spString
  Syntax
  SetName parameters
 | Type |  Name |  Min |  Max |  Description | 
 string |  name |   |   |  New name of the object. | 
  GetName return value
 Type: string
  Syntax
  SetName parameters
 | Name |  Type |  Min |  Max |  Description | 
 | name |  str |   |   |  New name of the object. | 
  GetName return value
 Type: str
   Methods details
  AddItem
 Adds an item to the table. The returned value is the id of the item within the table, which can be used to retrieve the item using GetItem().
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Object |  item |   |   |  Is the item that is to be added to the table. | 
  Return value
 Type: rid
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Object |  item |   |   |  Is the item that is to be added to the table. | 
  Return value
 Type: int
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | item |  Object |   |   |  Is the item that is to be added to the table. | 
  Return value
 Type: int
   AddMaterial
 Adds a material to the table. The returned value is the id of the material within the table.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Material |  material |   |   |  The material to add into the table. | 
  Return value
 Type: rid
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Material |  material |   |   |  The material to add into the table. | 
  Return value
 Type: int
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | material |  Material |   |   |  The material to add into the table. | 
  Return value
 Type: int
   AddObserver
 Adds a user-defined observer object to the interface, that will receive events from the interface. (Inherited from Object)
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 Observer |  observer |   |   |  Observer is the object that will receive events. | 
  Return value
 Type: rid
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 Observer |  observer |   |   |  Observer is the object that will receive events. | 
  Return value
 Type: int
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | observer |  Observer |   |   |  Observer is the object that will receive events. | 
  Return value
 Type: int
   ChangeTexturePrefixPath
 Changes the prefix path (drive, directory) of all matching texture paths in all the materials in the table, with the new one. This method is useful when external textures are placed in a specific folder, which needs to be moved.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 const char * |  currentPathPrefix |   |   |  The current prefix path, either relative or absolute. | 
 const char * |  newPathPrefix |   |   |  The new prefix path. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 string |  currentPathPrefix |   |   |  The current prefix path, either relative or absolute. | 
 string |  newPathPrefix |   |   |  The new prefix path. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | currentPathPrefix |  str |   |   |  The current prefix path, either relative or absolute. | 
 | newPathPrefix |  str |   |   |  The new prefix path. | 
   Clear
 Clears the table, and removes all items. If AddItem is called after Clear, the item ids will start over from 0.
   Syntax
  Parameters
 Clear takes no parameters.
  Syntax
  Parameters
 Clear takes no parameters.
  Syntax
  Parameters
 Clear takes no parameters.
   Copy
 Clears the current table and copies the items from a source table.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 Table |  src |   |   |  The table to copy. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 Table |  src |   |   |  The table to copy. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | src |  Table |   |   |  The table to copy. | 
   FindIdenticalMaterial
 Finds a material in the table that is setup identical to the specified material.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Material |  mat |   |   |  The material setup to look for. | 
  Return value
 Type: Material
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Material |  mat |   |   |  The material setup to look for. | 
  Return value
 Type: Material
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | mat |  Material |   |   |  The material setup to look for. | 
  Return value
 Type: Material
   FindIdenticalMaterialId
 Finds the id of a material in the table that is setup identical to the specified material.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Material |  mat |   |   |  The material setup to look for. | 
  Return value
 Type: rid
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Material |  mat |   |   |  The material setup to look for. | 
  Return value
 Type: int
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | mat |  Material |   |   |  The material setup to look for. | 
  Return value
 Type: int
   FindIdenticalMaterialIds
 Finds the materials in the table that are setup identical to the specified material.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Material |  mat |   |   |  The material setup to look for. | 
  Return value
 Type: RidArray
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Material |  mat |   |   |  The material setup to look for. | 
  Return value
 Type: RidArray
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | mat |  Material |   |   |  The material setup to look for. | 
  Return value
 Type: RidArray
   FindItem
 Finds a named item in the table. If multiple items have the same name, the first will be returned. If no item was found, null will be returned.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 const char * |  name |   |   |  Is the string that is to be searched for. | 
  Return value
 Type: Object
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 string |  name |   |   |  Is the string that is to be searched for. | 
  Return value
 Type: Object
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | name |  str |   |   |  Is the string that is to be searched for. | 
  Return value
 Type: Object
   FindItemId
 Finds the id of an item in the table, using the name. If multiple items have the same name, the first will be returned. If no item was found, the return will be -1.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 const char * |  name |   |   |  Is the string that is to be searched for. | 
  Return value
 Type: rid
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 string |  name |   |   |  Is the string that is to be searched for. | 
  Return value
 Type: int
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | name |  str |   |   |  Is the string that is to be searched for. | 
  Return value
 Type: int
   FindMaterial
 Finds a material in the table, using the material name. If multiple materials have the same name, the first will be returned. If the material was not found, null is returned.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 const char * |  name |   |   |  The material name to look for. | 
  Return value
 Type: Material
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 string |  name |   |   |  The material name to look for. | 
  Return value
 Type: Material
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | name |  str |   |   |  The material name to look for. | 
  Return value
 Type: Material
   FindMaterialId
 Finds the id of a material in the table, using the material name. If multiple materials have the same name, the first will be returned. If the material was not found, the return will be -1.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 const char * |  name |   |   |  The material name to look for. | 
  Return value
 Type: rid
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 string |  name |   |   |  The material name to look for. | 
  Return value
 Type: int
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | name |  str |   |   |  The material name to look for. | 
  Return value
 Type: int
   GetClass
 Get the name of the MaterialTable class. (Inherited from Object)
   Syntax
  Parameters
 GetClass takes no parameters.
  Return value
 Type: spString
  Syntax
  Parameters
 GetClass takes no parameters.
  Return value
 Type: string
  Syntax
  Parameters
 GetClass takes no parameters.
  Return value
 Type: str
   GetItem
 Returns the i:th item, using the id of the item.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 rid |  id |   |   |  Is the id of the requested object. | 
  Return value
 Type: Object
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 int |  id |   |   |  Is the id of the requested object. | 
  Return value
 Type: Object
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | id |  int |   |   |  Is the id of the requested object. | 
  Return value
 Type: Object
   GetItemsCount
 The number of item id:s in the table. If an item has been removed, using RemoveItem, the id is still counted in this method. GetIdsCount also equals the id that will be applied to the next item added to the table.
   Syntax
  Parameters
 GetItemsCount takes no parameters.
  Return value
 Type: unsigned int
  Syntax
  Parameters
 GetItemsCount takes no parameters.
  Return value
 Type: uint
  Syntax
  Parameters
 GetItemsCount takes no parameters.
  Return value
 Type: int
   GetMaterial
 Returns the i:th material, using the id of the material.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 rid |  id |   |   |  The id of the material in the table. | 
  Return value
 Type: Material
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 int |  id |   |   |  The id of the material in the table. | 
  Return value
 Type: Material
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | id |  int |   |   |  The id of the material in the table. | 
  Return value
 Type: Material
   GetMaterialChannels
 Get all unique material channel names for all materials in table.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | StringArray |  channels |   |   |  The array receiving unique channel names. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | StringArray |  channels |   |   |  The array receiving unique channel names. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | channels |  StringArray |   |   |  The array receiving unique channel names. | 
   GetMaterialChannelsWithTextureInputs
 Get all unique material channel names having texture inputs for all materials in table.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | StringArray |  channels |   |   |  The array receiving unique channel names. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | StringArray |  channels |   |   |  The array receiving unique channel names. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | channels |  StringArray |   |   |  The array receiving unique channel names. | 
   GetMaterialsCount
 Returns the number of materials in the table.
   Syntax
  Parameters
 GetMaterialsCount takes no parameters.
  Return value
 Type: unsigned int
  Syntax
  Parameters
 GetMaterialsCount takes no parameters.
  Return value
 Type: uint
  Syntax
  Parameters
 GetMaterialsCount takes no parameters.
  Return value
 Type: int
   IsA
 Returns true if MaterialTable is a or is a descendant of the class named as the type parameter. (Inherited from Object)
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 const char * |  type |   |   |  Name of the class to check if MaterialTable is, or is a descendant of. | 
  Return value
 Type: bool
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 string |  type |   |   |  Name of the class to check if MaterialTable is, or is a descendant of. | 
  Return value
 Type: bool
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | type |  str |   |   |  Name of the class to check if MaterialTable is, or is a descendant of. | 
  Return value
 Type: bool
   IsNull
 Returns true if the MaterialTable object is invalid. (Inherited from Object)
   Syntax
  Parameters
 IsNull takes no parameters.
  Return value
 Type: bool
  Syntax
  Parameters
 IsNull takes no parameters.
  Return value
 Type: bool
  Syntax
  Parameters
 IsNull takes no parameters.
  Return value
 Type: bool
   IsSameObjectAs
 Returns true if the MaterialTable object is valid. (Inherited from Object)
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Object |  object |   |   |  Object to compare with. | 
  Return value
 Type: bool
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Object |  object |   |   |  Object to compare with. | 
  Return value
 Type: bool
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | object |  Object |   |   |  Object to compare with. | 
  Return value
 Type: bool
   NonNull
 Returns true if the MaterialTable object is valid. (Inherited from Object)
   Syntax
  Parameters
 NonNull takes no parameters.
  Return value
 Type: bool
  Syntax
  Parameters
 NonNull takes no parameters.
  Return value
 Type: bool
  Syntax
  Parameters
 NonNull takes no parameters.
  Return value
 Type: bool
   PrintInfo
 Prints the content/info of the MaterialTable object to the log. (Inherited from Object)
   Syntax
  Parameters
 PrintInfo takes no parameters.
  Syntax
  Parameters
 PrintInfo takes no parameters.
  Syntax
  Parameters
 PrintInfo takes no parameters.
   RemoveItem
 Removes an item, and invalidates the id. The id will not point at a valid item, until Clear is called and new items are added up until the id.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 rid |  id |   |   |  The id of the object that should be removed. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 int |  id |   |   |  The id of the object that should be removed. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | id |  int |   |   |  The id of the object that should be removed. | 
   RemoveMaterial
 Removes a material. If GetMaterial is subsequently called with the same material id, the value returned will be null.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 rid |  id |   |   |  The id of the material in the table. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 int |  id |   |   |  The id of the material in the table. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | id |  int |   |   |  The id of the material in the table. | 
   RemoveObserver
 Removes a previously added observer object. (Inherited from Object)
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 rid |  observerId |   |   |  ObserverId is the id returned by AddObserver when the observer was added. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 int |  observerId |   |   |  ObserverId is the id returned by AddObserver when the observer was added. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | observerId |  int |   |   |  ObserverId is the id returned by AddObserver when the observer was added. | 
   SetItem
 Sets an item in the table. The id must exist in the table.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 rid |  id |   |   |  Is the id that is to be set. | 
 | Object |  item |   |   |  Is the object set to the id. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 int |  id |   |   |  Is the id that is to be set. | 
 | Object |  item |   |   |  Is the object set to the id. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | id |  int |   |   |  Is the id that is to be set. | 
 | item |  Object |   |   |  Is the object set to the id. | 
   SetMaterial
 Sets a material in the table.
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 rid |  id |   |   |  The id of the material in the table. | 
 | Material |  material |   |   |  The material to set into the table. | 
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 int |  id |   |   |  The id of the material in the table. | 
 | Material |  material |   |   |  The material to set into the table. | 
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | id |  int |   |   |  The id of the material in the table. | 
 | material |  Material |   |   |  The material to set into the table. | 
   Static methods details
  IsClassA
 Returns true if the class is a or is a descendant of the class named as the type parameter. (Inherited from Object)
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 const char * |  type |   |   |  Name of the class to check if the class is, or is a descendant of. | 
  Return value
 Type: bool
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 string |  type |   |   |  Name of the class to check if the class is, or is a descendant of. | 
  Return value
 Type: bool
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | type |  str |   |   |  Name of the class to check if the class is, or is a descendant of. | 
  Return value
 Type: bool
   SafeCast
 SafeCast makes sure the input object is of a class that can be cast into spMaterialTable, and if this is the case, returns the object cast into spMaterialTable. (Inherited from Object)
   Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Object |  object |   |   |  Object to cast. | 
  Return value
 Type: MaterialTable
  Syntax
  Parameters
 | Type |  Name |  Min |  Max |  Description | 
 | Object |  object |   |   |  Object to cast. | 
  Return value
 Type: MaterialTable
  Syntax
  Parameters
 | Name |  Type |  Min |  Max |  Description | 
 | object |  Object |   |   |  Object to cast. | 
  Return value
 Type: MaterialTable