aiMaterial Struct Reference

Data structure for a material. More...

List of all members.

Public Member Functions

 aiMaterial ()
 NOTE: no initialization, instance Assimp::MaterialHelper instead.
template<typename Type >
aiReturn Get (const char *pKey, unsigned int type, unsigned int idx, Type &pOut) const
 Retrieve a Type value with a specific key from the material.
template<typename Type >
aiReturn Get (const char *pKey, unsigned int type, unsigned int idx, Type *pOut, unsigned int *pMax) const
 Retrieve an array of Type values with a specific key from the material.
aiReturn GetTexture (aiTextureType type, unsigned int index, aiString *path, aiTextureMapping *mapping=NULL, unsigned int *uvindex=NULL, float *blend=NULL, aiTextureOp *op=NULL, aiTextureMapMode *mapmode=NULL) const
 Helper function to get all parameters pertaining to a particular texture slot from a material.
unsigned int GetTextureCount (aiTextureType type) const
 Get the number of textures for a particular texture type.
 ~aiMaterial ()

Public Attributes

unsigned int mNumAllocated
 Storage allocated.
unsigned int mNumProperties
 Number of properties in the data base.
aiMaterialProperty ** mProperties
 List of all material properties loaded.


Detailed Description

Data structure for a material.

Material data is stored using a key-value structure. A single key-value pair is called a 'material property'. C++ users should use the provided member functions of aiMaterial to process material properties, C users have to stick with the aiMaterialGetXXX family of unbound functions. The library defines a set of standard keys (AI_MATKEY_XXX).


Constructor & Destructor Documentation

aiMaterial::aiMaterial (  )  [inline]

NOTE: no initialization, instance Assimp::MaterialHelper instead.

aiMaterial::~aiMaterial (  ) 


Member Function Documentation

template<typename Type >
aiReturn aiMaterial::Get ( const char *  pKey,
unsigned int  type,
unsigned int  idx,
Type &  pOut 
) const [inline]

Retrieve a Type value with a specific key from the material.

Parameters:
pKey Key to search for. One of the AI_MATKEY_XXX constants.
type Specifies the type of the texture to be retrieved ( e.g. diffuse, specular, height map ...)
idx Index of the texture to be retrieved.
pOut Reference to receive the output value

template<typename Type >
aiReturn aiMaterial::Get ( const char *  pKey,
unsigned int  type,
unsigned int  idx,
Type *  pOut,
unsigned int *  pMax 
) const [inline]

Retrieve an array of Type values with a specific key from the material.

Parameters:
pKey Key to search for. One of the AI_MATKEY_XXX constants.
type .. set by AI_MATKEY_XXX
idx .. set by AI_MATKEY_XXX
pOut Pointer to a buffer to receive the result.
pMax Specifies the size of the given buffer, in Type's. Receives the number of values (not bytes!) read. NULL is a valid value for this parameter.

aiReturn aiMaterial::GetTexture ( aiTextureType  type,
unsigned int  index,
aiString path,
aiTextureMapping mapping = NULL,
unsigned int *  uvindex = NULL,
float *  blend = NULL,
aiTextureOp op = NULL,
aiTextureMapMode mapmode = NULL 
) const

Helper function to get all parameters pertaining to a particular texture slot from a material.

This function is provided just for convenience, you could also read the single material properties manually.

Parameters:
type Specifies the type of the texture to be retrieved ( e.g. diffuse, specular, height map ...)
index Index of the texture to be retrieved. The function fails if there is no texture of that type with this index. GetTextureCount() can be used to determine the number of textures per texture type.
path Receives the path to the texture. NULL is a valid value.
mapping The texture mapping. NULL is allowed as value.
uvindex Receives the UV index of the texture. NULL is a valid value.
blend Receives the blend factor for the texture NULL is a valid value.
op Receives the texture operation to be performed between this texture and the previous texture. NULL is allowed as value.
mapmode Receives the mapping modes to be used for the texture. The parameter may be NULL but if it is a valid pointer it MUST point to an array of 3 aiTextureMapMode's (one for each axis: UVW order (=XYZ)).

unsigned int aiMaterial::GetTextureCount ( aiTextureType  type  )  const

Get the number of textures for a particular texture type.

Parameters:
type Texture type to check for
Returns:
Number of textures for this type.
Note:
A texture can be easily queried using GetTexture()


Member Data Documentation

Storage allocated.

Number of properties in the data base.

aiMaterialProperty** aiMaterial::mProperties

List of all material properties loaded.


The documentation for this struct was generated from the following file:

Generated on Sat Apr 17 18:41:24 2010 for Assimp by  doxygen 1.5.8