![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: vrfObjPredEval.h,v $ $Revision: 1.8 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00012 #ifndef DtVrfObjectPredicateEvaluatorEvaluator_H_ 00013 #define DtVrfObjectPredicateEvaluatorEvaluator_H_ 00014 00015 #include <vlutil/vlMachineTypes.h> 00016 #include "vrfobjcore/vrfObjPred.h" 00017 #include <vlutil/vlTime.h> 00018 00023 00024 00025 #include "vrfobjcore/vrfobjcoreDefines.h" 00026 class DT_DLL_vrfobjcore DtVrfObjectPredicateEvaluator 00027 { 00028 00029 public: 00030 00032 DtVrfObjectPredicateEvaluator(); 00033 00035 DtVrfObjectPredicateEvaluator(const DtVrfObjectPredicate& predicate); 00036 00038 virtual ~DtVrfObjectPredicateEvaluator(); 00039 00041 DtVrfObjectPredicateEvaluator(const DtVrfObjectPredicateEvaluator& orig); 00042 00044 DtVrfObjectPredicateEvaluator& operator=(const DtVrfObjectPredicateEvaluator& orig); 00045 00047 virtual DtVrfObjectPredicateEvaluator* clone() const; 00048 00050 int operator==(const DtVrfObjectPredicateEvaluator& orig) const; 00051 int operator!=(const DtVrfObjectPredicateEvaluator& orig) const; 00052 00054 virtual bool isTrue(const DtVrfObject* vrfObject) const; 00055 00057 virtual void setPredicate(const DtVrfObjectPredicate& predicate); 00058 virtual const DtVrfObjectPredicate* predicate() const; 00059 00065 virtual void setTestInterval(DtTime intervalInSeconds); 00066 virtual DtTime testInterval() const; 00067 00070 virtual bool isTimeToTest() const; 00071 00076 virtual DtClock* clock() const; 00077 virtual void setClock(DtClock* clock); 00078 00079 protected: 00080 00082 DtVrfObjectPredicate* myPredicate; 00083 00085 DtTime myTimeToNextTest; 00086 00088 DtTime myTestInterval; 00089 00092 DtClock* myClock; 00093 }; 00094 00095 #endif