![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2002 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: fltrFcnPred.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef fltrFcnPred_H_ 00009 #define fltrFcnPred_H_ 00010 00013 00015 00016 #include "vrfobjcore/vrfObjPred.h" 00017 #include "vrfobjcore/fltrFcnInf.h" 00018 00022 #include "vrfobjcore/vrfobjcoreDefines.h" 00023 class DT_DLL_vrfobjcore DtFilterFunctionPredicate : public DtVrfObjectPredicate 00024 { 00025 public: 00026 00028 DtFilterFunctionPredicate(DtFilterFcn filter = 0, void *usrData = 0, 00029 bool negate = false); 00030 00032 virtual ~DtFilterFunctionPredicate(); 00033 00035 DtFilterFunctionPredicate(const DtFilterFunctionPredicate& orig); 00036 00038 DtFilterFunctionPredicate& operator=( 00039 const DtFilterFunctionPredicate& orig); 00040 00042 virtual DtVrfObjectPredicate* clone() const; 00043 00044 virtual DtFilterFcn filter() const; 00045 virtual void* usrData() const; 00046 00047 protected: 00048 00050 virtual bool eval(const DtVrfObject* object); 00051 00053 virtual bool predicateEqual(const DtVrfObjectPredicate& orig) const; 00054 00055 protected: 00056 00057 DtFilterFcn myFilter; 00058 void* myUsrData; 00059 00060 }; 00061 00062 #endif 00063