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_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 00077 /***************************************************************************************************************************** 00078 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** 00079 *****************************************************************************************************************************/ 00080 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00081 virtual FbxObject& Copy(const FbxObject& pObject); 00082 00083 protected: 00084 virtual void ConstructProperties(bool pForceSet); 00085 00086 public: 00087 virtual const char* GetTypeName() const; 00088 virtual FbxStringList GetTypeFlags() const; 00089 00090 private: 00091 void ClearCacheConnections(); 00092 FbxPropertyT<ECategory> Category; 00093 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ 00094 }; 00095 00096 inline EFbxType FbxTypeOf(const FbxCachedEffect::ECategory&){ return eFbxEnum; } 00097 00098 #include <fbxsdk/fbxsdk_nsend.h> 00099 00100 #endif /* _FBXSDK_SCENE_GEOMETRY_CACHED_EFFECT_H_ */