class MaterialTable
 MaterialTable keeps information on materials used while rendering.
  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(). | 
 | AddMaterial | Adds a material to the table. The returned value is the id of the material within the table. | 
 | 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. | 
 | Copy | Clears the current table and copies the items from a source 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. | 
 | 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. | 
 | 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. | 
 | GetItem | Returns the i:th item, using the id of the item. | 
 | 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. | 
 | GetMaterial | Returns the i:th material, using the id of the material. | 
 | 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. | 
 | IsNull | Returns true if the MaterialTable object is invalid. | 
 | 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. | 
 | RemoveMaterial | Removes a material. If GetMaterial is subsequently called with the same material id, the value returned will be null. | 
 | SetItem | Sets an item in the table. The id must exist in the 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. | 
 | 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. | 
  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: rid
  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: rid
  Syntax
  Parameters
 | Name | Type | Min | Max | Description | 
|---|
 | material | Material |  |  | The material to add into the table. | 
  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 * | current_path_prefix |  |  | The current prefix path, either relative or absolute. | 
 | const char * | new_path_prefix |  |  | The new prefix path. | 
  Syntax
  Parameters
 | Type | Name | Min | Max | Description | 
|---|
 | string | current_path_prefix |  |  | The current prefix path, either relative or absolute. | 
 | string | new_path_prefix |  |  | The new prefix path. | 
  Syntax
  Parameters
 | Name | Type | Min | Max | Description | 
|---|
 | current_path_prefix | str |  |  | The current prefix path, either relative or absolute. | 
 | new_path_prefix | 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: rid
  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: rid
  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: rid
  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.
   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 | 
|---|
 | rid | 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 | 
|---|
 | rid | 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
   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.
   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.
   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
   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 | 
|---|
 | rid | 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 | 
|---|
 | rid | 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. | 
   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 | 
|---|
 | rid | 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 | 
|---|
 | rid | 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.
   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.
   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