Itasca C++ Interface
Loading...
Searching...
No Matches
izonefielddata.h
Go to the documentation of this file.
1// izonefielddata.h
2#pragma once
3
9namespace itascaxd {
10 class IData;
11}
12
13namespace zone {
14 using itascaxd::IData;
15 class IGp;
16 class IGpData;
17 class IZone;
18 class IZoneData;
19 class IZoneInterpolate;
20 class ZoneWt;
21
29 public:
30 enum Source { ZoneSource, GpSource, BothSource };
31 // signals
33 shared::Signal<const string &> propertyChanged;
34 shared::Signal<bool> propertyActiveChanged;
35 shared::Signal<const StringList &> propertiesAvailableChanged;
36 shared::Signal<int> sourceChanged;
37 shared::Signal<bool> sourceActiveChanged;
39 shared::Signal<int> currentSourceChanged;
40 shared::Signal<bool> zoneSourceChanged;
41
42
43 virtual const IData * getIData() const=0;
44 virtual IData * getIData()=0;
46 virtual const IZoneInterpolate *getIZoneInterpolate() const=0;
49 virtual const IZoneData *getIZoneData() const=0;
50 virtual IZoneData *getIZoneData()=0;
51 virtual const IGpData *getIGpData() const=0;
52 virtual IGpData *getIGpData()=0;
53
54 virtual int getCurrentSource() const=0;
55 virtual int getSource() const=0;
56 virtual bool getSourceActive() const=0;
57 virtual QStringList getSourceNames() const=0;
58 virtual QStringList getSourceKeywords() const=0;
59 virtual string getProperty() const=0;
60 virtual bool getPropertyActive() const=0;
61 virtual StringList getPropertiesAvailable() const=0;
62 virtual std::vector<uint32> getInterestedIn() const=0;
63
68 virtual QPair<double,uint64> getData(const DVect &pos)=0;
71 virtual double getData(const IGp *gp,const IZone *z,uint32 thread=0,uint32 block=0)=0;
72 virtual double getData(const IZone *z,const DVect &pos,double tol=0.0)=0;
73 virtual double getData(const IZone *z,const ZoneWt &wt)=0;
79 virtual void initialize()=0;
80 virtual void initializeMultithreading(bool needSpatialSearch,uint32 threads)=0;
83 virtual void reset()=0;
85 virtual void destroy()=0;
86
87 // public slots
88 virtual void setProperty(const string &s)=0;
89 virtual void setSource(int source)=0;
90 virtual void setComponent(int i)=0;
91 virtual void setQuantity(int i)=0;
92 };
93} // namespace zone
94// EoF
Definition basestring.h:89
Definition idata.h:16
Interface that allows access to gridpoint scalar data in a generic way.
Definition igpdata.h:27
Interface to provide access to a gridpoint.
Definition igp.h:56
Access to zone scalar data.
Definition izonedata.h:24
Interface for accessing the zone field data class.
Definition izonefielddata.h:28
virtual void destroy()=0
Destroys this object, returning the memory to the heap.
virtual QPair< double, uint64 > getData(const DVect &pos)=0
shared::Signal< const string & > propertyChanged
This SIGNAL is emitted if the name of the property used for zone property data changes.
Definition izonefielddata.h:33
virtual double getData(const IGp *gp, const IZone *z, uint32 thread=0, uint32 block=0)=0
shared::Signal< int > currentSourceChanged
This SIGNAL is emitted if the active index changes from zone based to gp, or vice versa.
Definition izonefielddata.h:39
virtual void initialize()=0
virtual void reset()=0
virtual const IZoneInterpolate * getIZoneInterpolate() const =0
Returns a const pointer to the zone interpolate, IZoneInterpolate.
virtual IZoneInterpolate * getIZoneInterpolate()=0
Returns a pointer to the zone interpolate, IZoneInterpolate.
Interface to provide access to a zone.
Definition izone.h:80
Interface for accessing the zone interpolation class.
Definition izoneinterpolate.h:23
DVect3 DVect
Vector of doubles, either 2D or 3D.
Definition dim.h:154
Itasca Library standard namespace, specific to 2D or 3D.
Definition icontactmodule.h:4