fbxsdk/scene/fbxobjectfilter.h Source File
 
 
 
fbxsdk/scene/fbxobjectfilter.h
Go to the documentation of this file.
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_ */