![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrfObjPred.h,v $ $Revision: 1.14 $ $State: Exp $ 00007 *******************************************************************************/ 00008 #ifndef vrfObjPred_H_ 00009 #define vrfObjPred_H_ 00010 00013 00015 00016 00017 #include <vlutil/vlMachineTypes.h> 00018 00019 class DtVrfObject; 00020 00024 #include "vrfobjcore/vrfobjcoreDefines.h" 00025 class DT_DLL_vrfobjcore DtVrfObjectPredicate 00026 { 00027 public: 00028 00030 DtVrfObjectPredicate(bool negate = false); 00031 00033 virtual ~DtVrfObjectPredicate(); 00034 00036 DtVrfObjectPredicate(const DtVrfObjectPredicate& orig); 00037 00039 DtVrfObjectPredicate& operator=(const DtVrfObjectPredicate& orig); 00040 00042 virtual DtVrfObjectPredicate* clone() const = 0; 00043 00047 bool operator==(const DtVrfObjectPredicate& orig) const; 00048 bool operator!=(const DtVrfObjectPredicate& orig) const; 00049 00050 virtual bool negated() const; 00051 virtual void setNegate(bool negate); 00052 00055 bool isTrue(const DtVrfObject* vrfObject); 00056 00057 public: 00058 00060 static const DtVrfObjectPredicate& nullPredicate(); 00061 00062 protected: 00063 00066 virtual bool eval(const DtVrfObject* vrfObject) = 0; 00067 00077 virtual bool predicateEqual(const DtVrfObjectPredicate& orig) const; 00078 00079 protected: 00080 00081 bool myNegated; 00082 }; 00083 00084 #endif