Classes | Public Types | Public Member Functions | Protected Member Functions | Friends

FbxLayerElementMaterial Class Reference

This reference page is linked to from the following overview topics: List of Python Fbx classes.


Search for all occurrences

Detailed Description

Layer element for mapping materials (FbxSurfaceMaterial) to a geometry.

FBX SDK 2011 and later connects materials (FbxSurfaceMaterial) to nodes (FbxNode). The direct array of this class is no longer used. The integer "n" in the index array of this class represents the n-th material (zero-based) connected to the node.

For example:

Mapping mode eAllSame and index array {0} means the whole geometry is assigned with the 0-th material connected to the node.

Mapping mode eByPolygon and index array {0, 1} means the first polygon is assigned with the 0-th material and the second polygon is assigned with the 1-th material.

You can access the materials from a node by using FbxNode::GetMaterialCount() and FbxNode::GetMaterial(int pIndex) or the more generic calls to GetSrcObjectCount<FbxSurfaceMaterial>() and GetSrcObject<FbxSurfaceMaterial>(index)

For example:

 FbxNode* node;
 int nbMat = node->GetMaterialCount();
 int nbMat1= node->GetSrcObjectCount<FbxSurfaceMaterial>();

 FbxSurfaceMaterial* material;
 FbxLayerElementMaterial* layerElement;
 if (layerElement->GetMappingMode() == FbxLayerElement::eAllSame)
 {
     int index = layerElement->GetIndexArray()[0];
     material = node->GetMaterial(index);
 }
Remarks:
The DirectArray() methods still exist for legacy reasons but has been made private and should not be used. Therefore, to be correctly saved in FBX file, this type of Layer element should have its reference mode set to eIndexToDirect.
See also:
FbxSurfaceMaterial
FbxNode

Definition at line 1359 of file fbxlayer.h.

#include <fbxlayer.h>

Inheritance diagram for FbxLayerElementMaterial:
Inheritance graph
[legend]

List of all members.

Classes

class  LayerElementArrayProxy

Public Types

typedef
FbxLayerElementTemplate
< FbxSurfaceMaterial * > 
ParentClass

Public Member Functions

 FBXSDK_LAYER_ELEMENT_CREATE_DECLARE (LayerElementMaterial)
 Allocation method.
virtual void AllocateArrays ()
virtual void SetOwner (FbxLayerContainer *pOwner, int pInstance=0)
virtual void SetInstance (int pInstance)

Protected Member Functions

 FbxLayerElementMaterial ()
 ~FbxLayerElementMaterial ()

Friends

class FbxLayerContainer

Member Typedef Documentation

Definition at line 1362 of file fbxlayer.h.


Constructor & Destructor Documentation

FbxLayerElementMaterial ( ) [protected]
~FbxLayerElementMaterial ( ) [protected]

Member Function Documentation

FBXSDK_LAYER_ELEMENT_CREATE_DECLARE ( LayerElementMaterial  )

Allocation method.

Returns:
A pointer to the layer element or NULL if creation fails.
virtual void AllocateArrays ( ) [virtual]
virtual void SetOwner ( FbxLayerContainer pOwner,
int  pInstance = 0 
) [virtual]
virtual void SetInstance ( int  pInstance) [inline, virtual]

Definition at line 1389 of file fbxlayer.h.

{ SetOwner( mOwner, pInstance ); }

Friends And Related Function Documentation

friend class FbxLayerContainer [friend]

Reimplemented from FbxLayerElement.

Definition at line 1406 of file fbxlayer.h.


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

FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial
FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial FbxLayerElementMaterial