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_OBJECT_FILTER_H_ 00014 #define _FBXSDK_SCENE_OBJECT_FILTER_H_ 00015 00016 #include <fbxsdk/fbxsdk_def.h> 00017 00018 #include <fbxsdk/core/fbxobject.h> 00019 00020 #include <fbxsdk/fbxsdk_nsbegin.h> 00021 00025 class FBXSDK_DLL FbxObjectFilter 00026 { 00027 public: 00029 virtual ~FbxObjectFilter() {} 00030 00034 virtual bool Match(const FbxObject * pObjectPtr) const = 0; 00035 00039 virtual bool NotMatch(const FbxObject * pObjectPtr) const { return !Match(pObjectPtr); }; 00040 }; 00041 00045 class FBXSDK_DLL FbxNameFilter : public FbxObjectFilter 00046 { 00047 public: 00055 inline FbxNameFilter( const char* pTargetName ) : mTargetName( pTargetName ) {}; 00056 00058 virtual ~FbxNameFilter() {} 00060 00064 virtual bool Match(const FbxObject * pObjectPtr) const { return pObjectPtr ? mTargetName == pObjectPtr->GetName() : false; } 00065 00066 /***************************************************************************************************************************** 00067 ** WARNING! Anything beyond these lines is for internal use, may not be documented and is subject to change without notice! ** 00068 *****************************************************************************************************************************/ 00069 #ifndef DOXYGEN_SHOULD_SKIP_THIS 00070 private: 00071 FbxString mTargetName; 00072 #endif /* !DOXYGEN_SHOULD_SKIP_THIS *****************************************************************************************/ 00073 }; 00074 00075 #include <fbxsdk/fbxsdk_nsend.h> 00076 00077 #endif /* _FBXSDK_SCENE_OBJECT_FILTER_H_ */