kfbxlayeredtexture.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002 
00003    Copyright (C) 2010 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 
00014 #ifndef FBXFILESDK_KFBXPLUGINS_KFBXLAYEREDTEXTURE_H 
00015 #define FBXFILESDK_KFBXPLUGINS_KFBXLAYEREDTEXTURE_H
00016 
00017 
00018 #include <fbxfilesdk/fbxfilesdk_def.h>
00019 
00020 #include <fbxfilesdk/kfbxplugins/kfbxgroupname.h>
00021 #include <fbxfilesdk/kfbxplugins/kfbxtexture.h>
00022 
00023 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00024 
00046 class KFBX_DLL KFbxLayeredTexture : public KFbxTexture
00047 {
00048     KFBXOBJECT_DECLARE(KFbxLayeredTexture,KFbxTexture);
00049 
00050 public:
00083     typedef enum 
00084     {
00085         eTRANSLUCENT,
00086         eADDITIVE,
00087         eMODULATE,
00088         eMODULATE2,
00089         eOVER,
00090         eNORMAL,        
00091         eDISSOLVE,
00092         eDARKEN,            
00093         eCOLORBURN,
00094         eLINEARBURN,    
00095         eDARKERCOLOR,
00096         eLIGHTEN,           
00097         eSCREEN,        
00098         eCOLORDODGE,
00099         eLINEARDODGE,
00100         eLIGHTERCOLOR,
00101         eSOFTLIGHT,     
00102         eHARDLIGHT,     
00103         eVIVIDLIGHT,
00104         eLINEARLIGHT,
00105         ePINLIGHT,      
00106         eHARDMIX,       
00107         eDIFFERENCE,        
00108         eEXCLUSION,         
00109         eSUBTRACT,
00110         eDIVIDE,
00111         eHUE,           
00112         eSATURATION,        
00113         eCOLOR,     
00114         eLUMINOSITY
00115     } EBlendMode;
00116 
00121     bool operator==( const KFbxLayeredTexture& pOther ) const;
00122 
00128     bool SetTextureBlendMode( int pIndex, EBlendMode pMode ); 
00129 
00135     bool GetTextureBlendMode( int pIndex, EBlendMode& pMode ) const;
00136 
00142     bool SetTextureAlpha( int pIndex, double pAlpha );
00143 
00149     bool GetTextureAlpha( int pIndex, double& pAlpha ) const;
00150 
00152 //
00153 //  WARNING!
00154 //
00155 //  Anything beyond these lines may not be documented accurately and is 
00156 //  subject to change without notice.
00157 //
00159 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00160 
00161 protected:
00162 
00163     struct InputData
00164     {
00165         EBlendMode mBlendMode;
00166         double mAlpha;
00167     };
00168 
00169 public:
00170     KArrayTemplate<InputData> mInputData;
00171 
00172 protected:
00173     KFbxLayeredTexture(KFbxSdkManager& pManager, char const* pName);  
00174 
00175     virtual bool ConnecNotify (KFbxConnectEvent const &pEvent);
00176 
00177     bool RemoveInputData( int pIndex );
00178 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00179 };
00180 
00181 inline EFbxType FbxTypeOf( KFbxLayeredTexture::EBlendMode const &pItem )                { return eENUM; }
00182 
00183 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00184 
00185 #endif // FBXFILESDK_KFBXPLUGINS_KFBXLAYEREDTEXTURE_H
00186