fbxcachedeffect.h

Go to the documentation of this file.
00001 /****************************************************************************************
00002  
00003    Copyright (C) 2012 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_GEOMETRY_CACHED_EFFECT_H_
00014 #define _FBXSDK_SCENE_GEOMETRY_CACHED_EFFECT_H_
00015 
00016 #include <fbxsdk/fbxsdk_def.h>
00017 
00018 #include <fbxsdk/scene/geometry/fbxnodeattribute.h>
00019 #include <fbxsdk/scene/geometry/fbxcache.h>
00020 
00021 #include <fbxsdk/fbxsdk_nsbegin.h>
00022 
00028 class FBXSDK_DLL FbxCachedEffect : public FbxNodeAttribute
00029 {
00030     FBXSDK_OBJECT_DECLARE(FbxCachedEffect,FbxNodeAttribute);
00031 
00032 public:
00034     virtual FbxNodeAttribute::EType GetAttributeType() const;
00035     
00045     enum ECategory
00046     {
00047         eParticles, 
00048         eFluids,    
00049         eHair,      
00050         eGeneric    
00051     };
00052 
00054     ECategory GetCategory() const;
00055 
00067     void SetCache( FbxCache* pCache, ECategory pCategory = eGeneric);
00068 
00072     FbxCache* GetCache() const;
00073 
00074 protected:
00075 
00076 
00078 //
00079 //  WARNING!
00080 //
00081 //  Anything beyond these lines may not be documented accurately and is 
00082 //  subject to change without notice.
00083 //
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086 public:
00087     virtual FbxObject& Copy(const FbxObject& pObject);
00088 
00089 protected:
00090     FbxCachedEffect(FbxManager& pManager, char const* pName);
00091 
00092     virtual void Construct(const FbxCachedEffect* pFrom);
00093     virtual bool ConstructProperties(bool pForceSet);
00094 
00095 public:
00096     virtual const char* GetTypeName() const;
00097     virtual FbxStringList GetTypeFlags() const;
00098 
00099 private:
00100     void ClearCacheConnections();
00101     FbxPropertyT<ECategory> Category;
00102 
00103 #endif // #ifndef DOXYGEN_SHOULD_SKIP_THIS
00104 
00105 };
00106 
00107 inline EFbxType FbxTypeOf(const FbxCachedEffect::ECategory&){ return eFbxEnum; }
00108 
00109 #include <fbxsdk/fbxsdk_nsend.h>
00110 
00111 #endif /* _FBXSDK_SCENE_GEOMETRY_CACHED_EFFECT_H_ */