fbxsdk/scene/shading/fbxlayeredtexture.h Source File
 
 
 
fbxsdk/scene/shading/fbxlayeredtexture.h
Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2013 Autodesk, Inc.
00004    All rights reserved.
00005  
00006    Use of this software is subject to the terms of the Autodesk license agreement
00007    provided at the time of installation or download, or which otherwise accompanies
00008    this software in either electronic or hard copy form.
00009  
00010 ****************************************************************************************/
00011 
00013 #ifndef _FBXSDK_SCENE_SHADING_LAYERED_TEXTURE_H_
00014 #define _FBXSDK_SCENE_SHADING_LAYERED_TEXTURE_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/scene/shading/fbxtexture.h>
00019 
00020 #include <fbxsdk/fbxsdk_nsbegin.h>
00021 
00043 class FBXSDK_DLL FbxLayeredTexture : public FbxTexture
00044 {
00045         FBXSDK_OBJECT_DECLARE(FbxLayeredTexture, FbxTexture);
00046 
00047 public:
00082         enum EBlendMode
00083         {
00084                 eTranslucent,
00085                 eAdditive,
00086                 eModulate,
00087                 eModulate2,
00088         eOver,
00089         eNormal,                
00090         eDissolve,
00091         eDarken,                        
00092         eColorBurn,
00093         eLinearBurn,    
00094         eDarkerColor,
00095         eLighten,                       
00096         eScreen,                
00097         eColorDodge,
00098         eLinearDodge,
00099         eLighterColor,
00100         eSoftLight,             
00101         eHardLight,             
00102         eVividLight,
00103         eLinearLight,
00104         ePinLight,              
00105         eHardMix,               
00106         eDifference,            
00107         eExclusion,             
00108         eSubtract,
00109         eDivide,
00110         eHue,                   
00111         eSaturation,            
00112         eColor,         
00113         eLuminosity,
00114         eOverlay,
00115         eBlendModeCount
00116         };
00117 
00122         bool operator==( const FbxLayeredTexture& pOther ) const;
00123 
00129     bool SetTextureBlendMode( int pIndex, EBlendMode pMode ); 
00130 
00136     bool GetTextureBlendMode( int pIndex, EBlendMode& pMode ) const;
00137 
00143     bool SetTextureAlpha( int pIndex, double pAlpha );
00144 
00150     bool GetTextureAlpha( int pIndex, double& pAlpha ) const;
00151 
00152 /*****************************************************************************************************************************
00153 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! **
00154 *****************************************************************************************************************************/
00155 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00156     virtual FbxObject& Copy(const FbxObject& pObject);
00157 
00158 protected:
00159     struct InputData
00160     {
00161         EBlendMode mBlendMode;
00162         double mAlpha;
00163     };
00164 
00165 public:
00166     FbxArray<InputData> mInputData;
00167 
00168 protected:
00169     virtual bool ConnectNotify (FbxConnectEvent const &pEvent);
00170 
00171     bool RemoveInputData( int pIndex );
00172 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/
00173 };
00174 
00175 inline EFbxType FbxTypeOf(const FbxLayeredTexture::EBlendMode&){ return eFbxEnum; }
00176 
00177 #include <fbxsdk/fbxsdk_nsend.h>
00178 
00179 #endif /* _FBXSDK_SCENE_SHADING_LAYERED_TEXTURE_H_ */