kfbxpropertydef.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 
00015 #ifndef FBXFILESDK_FBXCORE_KFBXPROPERTYDEF_H
00016 #define FBXFILESDK_FBXCORE_KFBXPROPERTYDEF_H
00017 
00018 #include <fbxfilesdk/fbxfilesdk_def.h>
00019 
00020 #include <fbxfilesdk/fbxfilesdk_nsbegin.h>
00021 
00022     typedef int                 kFbxPropertyId;
00023     const   kFbxPropertyId      kFbxProperyIdNull = -1;
00024     const   kFbxPropertyId      kFbxProperyIdRoot = 0;
00025 
00026     enum    KFbxInheritType     { eFbxOverride=0,eFbxInherit=1,eFbxDeleted=2 } ;
00027 
00028     enum kFbxConnectionType
00029     { 
00030         eFbxConnectionNone              = 0,
00031 
00032         // System or user
00033         eFbxConnectionSystem            = 1 << 0,
00034         eFbxConnectionUser              = 1 << 1,
00035         eFbxConnectionSystemOrUser      = eFbxConnectionUser | eFbxConnectionSystem,
00036 
00037         // Type of Link
00038         eFbxConnectionReference         = 1 << 2,
00039         eFbxConnectionContains          = 1 << 3,
00040         eFbxConnectionData              = 1 << 4,
00041         eFbxConnectionLinkType          = eFbxConnectionReference | eFbxConnectionContains | eFbxConnectionData,
00042 
00043         eFbxConnectionDefault           = eFbxConnectionUser | eFbxConnectionReference,
00044 
00045 
00046         eFbxConnectionUnidirectional    = 1 << 7
00047     };
00048 
00049     class FbxPropertyFlags
00050     {
00051     public:
00054         enum eFbxPropertyFlags
00055         {
00056             eNO_FLAG        = 0,     
00057             eANIMATABLE     = 1,     
00058             eUSER           = 1<<1,  
00059             eTEMPORARY      = 1<<2,  
00060             ePUBLISHED      = 1<<3,  
00061             ePSTATIC        = 1<<4,
00062 
00063             eNOT_SAVABLE    = 1<<5,  
00064             eHIDDEN         = 1<<6,  
00065 
00066             eUI_DISABLED    = 1<<7,  
00067             eUI_GROUP       = 1<<8,  
00068             eUI_BOOLGROUP   = 1<<9,  
00069             eUI_EXPANDED    = 1<<10, 
00070             eUI_NOCAPTION   = 1<<11, 
00071             eUI_PANEL       = 1<<12, 
00072             eUI_LEFTLABEL   = 1<<13, 
00073             eUI_HIDDEN      = 1<<14  
00074         };
00075 
00079         inline static int GetFlagCount() { return 16; }
00080 
00084         inline static eFbxPropertyFlags AllFlags()
00085         {
00086             eFbxPropertyFlags lAllFlags = eNO_FLAG;
00087 
00088             for( int i = 0; i < GetFlagCount()-1; ++i )
00089                 lAllFlags = (eFbxPropertyFlags) ( (lAllFlags << 1) | 1 );
00090 
00091             return lAllFlags;
00092         }
00093     };
00094 
00095     /**************************************************************************
00096     * Filter management
00097     **************************************************************************/
00098     class   KFbxConnectionPoint;
00099     typedef int kFbxFilterId;
00100 
00104     class KFBX_DLL KFbxConnectionPointFilter
00105     {
00106         // CONSTRUCTOR/DESTRUCTOR
00111     public: 
00113         KFbxConnectionPointFilter() { }
00115         virtual ~KFbxConnectionPointFilter();
00117     public:
00122 
00124         virtual KFbxConnectionPointFilter*      Ref();
00126         virtual void                            Unref();
00127 
00129         virtual kFbxFilterId                    GetUniqueId() const { return 0; }
00130 
00135         virtual bool                            IsValid             (KFbxConnectionPoint*   pConnect) const;
00141         virtual bool                            IsValidConnection   (KFbxConnectionPoint*   pConnect,kFbxConnectionType pType) const;
00146         virtual bool                            IsEqual             (KFbxConnectionPointFilter* pConnectFilter) const;
00147 
00149     };
00150 
00151 #include <fbxfilesdk/fbxfilesdk_nsend.h>
00152 
00153 #endif // FBXFILESDK_FBXCORE_KFBXPROPERTYDEF_H
00154