Itasca C++ Interface
izonedata.h
Go to the documentation of this file.
1 #pragma once
2 // izonedata.h
3 
9 namespace itascaxd {
10  class IData;
11 }
12 
13 namespace zone {
14  class IZone;
15  using itascaxd::IData;
16 
24  class IZoneData {
25  public:
26  // signals
28  shared::Signal<const string &> propertyChanged;
29  shared::Signal<bool> propertyActiveChanged;
30  shared::Signal<const StringList &> propertiesAvailableChanged;
31 
32  virtual const IData *getIData() const = 0;
33  virtual IData * getIData() = 0;
34  virtual void initializeMultithreading(uint32 threads) = 0;
35 
37  virtual double getData(const IZone *zone, uint32 thread = 0, uint32 block = 0) const = 0;
39  virtual string getProperty() const = 0;
40  virtual bool getPropertyActive() const = 0;
41  virtual StringList getPropertiesAvailable() const = 0;
44  virtual std::vector<uint32> getInterestedIn() const = 0;
46  virtual void destroy() = 0;
47  // public slots
48  virtual void setProperty(const string &s) = 0;
51 
52  };
53 } // namespace zone
54 // EoF
55 
Definition: basestring.h:77
Definition: idata.h:16
Access to zone scalar data.
Definition: izonedata.h:24
virtual string getProperty() const =0
Returns the name of the property value being retrieved if the current data is Zone Property.
virtual std::vector< uint32 > getInterestedIn() const =0
virtual double getData(const IZone *zone, uint32 thread=0, uint32 block=0) const =0
Retrieves scalar data from the zone, depending on the current index and property data.
virtual void destroy()=0
Destroys this object safely across interface boundaries.
shared::Signal< const string & > propertyChanged
This SIGNAL is sent when the property name changes, used when retrieving zone properties.
Definition: izonedata.h:28
Interface to provide access to a zone.
Definition: izone.h:80
Itasca Library standard namespace, specific to 2D or 3D.
Definition: icontactmodule.h:4