Itasca C++ Interface
|
Interface to a particular table of values. More...
#include <itable.h>
Public Member Functions | |
virtual const IThing * | getIThing () const =0 |
Returns a const IThing interface for a table. | |
virtual IThing * | getIThing ()=0 |
Returns a IThing interface for a table. | |
virtual quint64 | getID () const =0 |
Returns the (unique) ID number associated with the table. | |
virtual QString | getName () const =0 |
Returns a name associated with the table. | |
virtual void | setName (const QString &s)=0 |
Sets the name of the table - only used for identification and not necessarily unique. | |
virtual QString | getLabel () const =0 |
virtual void | setLabel (const QString &s)=0 |
virtual int | getSize () const =0 |
Returns the number of pair entries in the table. | |
virtual DVect2 | get (int pos) const =0 |
Returns the pos pair entry in the table. Returns (0,0) if pos does not exist. | |
virtual double | getValue (const double &x) const =0 |
virtual double | getSlope (const double &x) const =0 |
virtual void | insert (const DVect2 &v)=0 |
virtual void | put (int pos, const DVect2 &v)=0 |
virtual void | putx (int pos, const double &x)=0 |
Replaces the x value of entry pos. Will expand table if pos does not exist. | |
virtual void | puty (int pos, const double &y)=0 |
Replaces the y value of entry pos. Will expand table if pos does not exist. | |
virtual void | sort ()=0 |
Sorts table by x-value. | |
virtual void | clear ()=0 |
Removes all table pairs - table is empty. | |
virtual void | add (const DVect2 &v)=0 |
Adds (v.x,v.y) to the end of the table - no sorting. | |
virtual QVector< DVect2 > | getAll () const =0 |
virtual const ITable * | getNext () const =0 |
Used to iterate on Tables on the global table list. See ITableList::getFirst(). | |
virtual uint | getNotice () const =0 |
Static Public Attributes | |
static const TType | type_ = 0x4c815b99 |
The type identification number for this class, for use in convert_cast() and convert_getcast(). | |
Interface to a particular table of values.
An ITable is a list of number pairs (x,y), which may or may not be ordered by increasing x.
Certain functions will only produce valid results if the table is sorted.
|
pure virtual |
Assumes pv is the beginning of an array of pass_dvects of length len.
Fills the array with all of its entries (or len, if smaller).
|
pure virtual |
Returns a NoticeManager ID that is unique to this table.
This id is returned to the NoticeManager when the table is destroyed.
The NoticeManager is tagged with this ID when the contents of the table are changed in any way.
|
pure virtual |
Returns the slope at position x. Assumes table is sorted.
No higher order operations. Just the slope of the segment bordering x.
Returns 0.0 if x falls outside table extent.
|
pure virtual |
Returns a Y value associated with X value. Assumes table is sorted.
Does linear interpolation between pairs.
If x is less than the first entry returns first entry y. Similar if x greater than the last entry.
|
pure virtual |
Inserts value (v.x,v.y) into table based on x value.
Replaces entry if v.x matches existing value. Assumes table is sorted.
|
pure virtual |
Places (v.x,v.y) pair at position pos.
Entries are created if pos is larger than current size.