VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfObjectPredicate.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 #pragma once
6 
10 
11 
12 #include <vlutil/vlMachineTypes.h>
13 #include <ostream>
14 
15 class DtVrfObject;
16 
22 {
23 public:
24 
26  DtVrfObjectPredicate(bool negate = false);
27 
29  virtual ~DtVrfObjectPredicate();
30 
33 
35  DtVrfObjectPredicate& operator=(const DtVrfObjectPredicate& orig);
36 
38  virtual DtVrfObjectPredicate* clone() const = 0;
39 
43  bool operator==(const DtVrfObjectPredicate& orig) const;
44  bool operator!=(const DtVrfObjectPredicate& orig) const;
45 
46  virtual bool negated() const;
47  virtual void setNegate(bool negate);
48 
51  bool isTrue(const DtVrfObject* vrfObject);
52 
53 
55  virtual bool canBeTrue(const DtVrfObject* vrfObject);
57  virtual bool canBeFalse(const DtVrfObject* vrfObject);
58 
59  virtual void stringRep(std::ostream& str, int indentLevel = 0) const;
60 
61 public:
62 
64  static const DtVrfObjectPredicate& nullPredicate();
65 
66 protected:
67 
70  virtual bool eval(const DtVrfObject* vrfObject) = 0;
71 
81  virtual bool predicateEqual(const DtVrfObjectPredicate& orig) const;
82 
86  virtual bool canEvalTrue(const DtVrfObject* vrfObject) { return true; };
90  virtual bool canEvalFalse(const DtVrfObject* vrfObject) { return true; };
91 
93  virtual void typeSpecificStringRep(std::ostream& str, int indentLevel) const;
94 
95 protected:
96 
97  bool myNegated;
98 };
DtVrfObject is used to represent any type of simulated object (entities, aggregate, control objects) in a VR-Forces application.
Definition: vrfObject.h:215
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Instances of DtVrfObjectPredicate are used to evaluate a condition, given a DtVrfObject as an argumen...
Definition: vrfObjectPredicate.h:21
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
bool myNegated
Definition: vrfObjectPredicate.h:97
virtual bool canEvalFalse(const DtVrfObject *vrfObject)
Definition: vrfObjectPredicate.h:90
DT_DLL_terrainCS bool operator!=(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
virtual bool canEvalTrue(const DtVrfObject *vrfObject)
Definition: vrfObjectPredicate.h:86

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)