VR-Forces 5.0.3 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
overlayLayersPredicate.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2021 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
9 
11 #include <vlutil/vlString.h>
12 #include <set>
13 
17 
20 {
21 public:
22 
24  DtOverlayLayersPredicate(bool negate = false);
25 
27  virtual ~DtOverlayLayersPredicate();
28 
31 
34  const DtOverlayLayersPredicate& orig);
35 
37  virtual DtVrfObjectPredicate* clone() const;
38 
41  void addOverlay(const DtString&);
42  void removeOverlay(const DtString&);
43  const std::set<DtString>& overlays() const;
44 
45 protected:
46 
48  virtual bool eval(const DtSimObject* vrfObject) const;
49 
51  virtual bool predicateEqual(const DtVrfObjectPredicate& orig) const;
52 
56  virtual bool canEvalTrue(const DtSimObject* vrfObject) const override;
57  virtual bool canEvalFalse(const DtSimObject* vrfObject) const override;
58 
59  virtual void typeSpecificStringRep(std::ostream& str, int indentLevel) const;
60 
61 protected:
62  std::set<DtString> myOverlays;
63 };
Contains the DtOverlayLayersPredicate class declaration.
Definition: overlayLayersPredicate.h:19
DtVrfObjectPredicate & operator=(const DtVrfObjectPredicate &orig)
assignment operator
virtual bool eval(const DtSimObject *vrfObject) const =0
The actual test to be applied. Override eval() when creating a concrete predicate.
virtual bool canEvalFalse(const DtSimObject *vrfObject) const
Definition: vrfObjectPredicate.h:89
Contains the DtVrfObjectPredicate class declaration.
Definition: vrfObjectPredicate.h:20
virtual bool canEvalTrue(const DtSimObject *vrfObject) const
Definition: vrfObjectPredicate.h:85
virtual void typeSpecificStringRep(std::ostream &str, int indentLevel) const
Override in specific subclasses to print the predicate description to the stream. ...
#define DT_DLL_vrfobjcore
This file is used to determine how to build.
Definition: vrfobjcoreDefines.h:24
virtual bool predicateEqual(const DtVrfObjectPredicate &orig) const
Test if this instance of a predicate is equal to another. The callback mechanisms need this to functi...
Represents a single simulation object in the exercise. Object may be VRF simulation, or non-VRF simulated, and may be simulated by the local sim engine, or by a remote sim engine. Only public (external) state of the object is available. All data is read-only. All access to data of the object is thread safe within the simulation frame.
Definition: simObject.h:79
virtual DtVrfObjectPredicate * clone() const =0
clone function
std::set< DtString > myOverlays
Definition: overlayLayersPredicate.h:62

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)