25 #ifndef _GEMA_DISCONTINUITY_ACCESSOR_H_ 26 #define _GEMA_DISCONTINUITY_ACCESSOR_H_ 56 return _ac->value(queryIndex(d));
61 return _ac->scalarValue(queryIndex(d));
66 _ac->matrixValue(queryIndex(d), mat);
71 _ac->vectorValue(queryIndex(d), vec);
74 bool setValue (
const GmDiscontinuity* d,
const double* value) {
return _ac->setValue(queryIndex(d), value); }
75 bool setScalarValue (
const GmDiscontinuity* d,
double value) {
return _ac->setScalarValue(queryIndex(d), value); }
76 bool setScalarValueAtDim(
const GmDiscontinuity* d,
int dim,
double value) {
return _ac->setScalarValueAtDim(queryIndex(d), dim, value); }
77 bool setValueAsDef (
const GmDiscontinuity* d) {
return _ac->setValueAsDef(queryIndex(d)); }
78 bool setFunctionValue (
const GmDiscontinuity* d,
GmUserFunction* functionDef) { Q_UNUSED(d); Q_UNUSED(functionDef);
return logUserFunctionError(); }
82 int fieldWidth = 0,
char format =
'g',
int precision = -1)
const 84 return _ac->valueStr(queryIndex(d), evalFunctions, printDefAsNil, fieldWidth, format, precision, NULL);
89 Q_UNUSED(d); Q_UNUSED(userFunctionId);
90 err =
QObject::tr(
"Discontinuity accessor does not accept function values.");
96 return _ac->setValueFromVariant(queryIndex(d), v, acceptMissingDimension, err);
99 bool isDefValue(
const GmDiscontinuity* d)
const {
return _ac->isDefValue(queryIndex(d)); }
100 bool isFunction(
const GmDiscontinuity* d)
const {
return _ac->isFunction(queryIndex(d)); }
110 gmWarnMsg(bac->
_logger,
QObject::tr(
"Discontinuity accessor does not accept function values."));
155 : _dim(dim), _unit(desiredUnit), _conv(conv), _convData(NULL)
194 return _conv ? _conv->convertArray(p, _dim, _convData->localBuffer()) : p;
202 vec.
setMemory(value(ci, i), valueSize());
virtual int queryIndex(const GmDiscontinuity *d) const
A virtual function that given a cell returns the index that should be accessed.
Definition: gmDiscontinuityAccessor.h:127
A simple accessor used to access 2d segment cell intersection data with possible unit conversion from...
Definition: gmDiscontinuityAccessor.h:151
virtual int queryIndex(const GmDiscontinuity *d) const
A virtual function that given a cell returns the index that should be accessed.
Definition: gmDiscontinuityAccessor.h:139
int index() const
Returns this discontinuity index in the father set.
Definition: gmDiscontinuity.h:42
const double * value(const GmCompact2DSegmentCellIntersection *ci, int i) const
Returns the coordinate value associated with the givenc segment cell intersection object 'ci'....
Definition: gmDiscontinuityAccessor.h:191
GmPropertyDiscontinuityAccessor(GmValueAccessor *ac, int psetIndex)
Constructor. Takes ownership of the accessor.
Definition: gmDiscontinuityAccessor.h:135
bool logUserFunctionError()
Logs an error since discontinuity accessors can not work with functions.
Definition: gmDiscontinuityAccessor.h:105
Class responsible for evaluating a UserFunction over a node / cell.
Definition: gmUserFunction.h:148
void vectorValue(const GmCompact2DSegmentCellIntersection *ci, int i, GmCRVector &vec) const
Similar to value(), but returning the result as a CONST vector. Bear in mind that the resulting vecto...
Definition: gmDiscontinuityAccessor.h:200
GmDiscontinuityAccessor(GmValueAccessor *ac)
Constructor. Takes ownership of the accessor.
Definition: gmDiscontinuityAccessor.h:51
GmTLBuffer< double, true > * _convData
Per thread local buffer used to store converted data. Null if _conv == NULL.
Definition: gmDiscontinuityAccessor.h:209
void setMemory(const double *data, int nlin)
Exchanges the memory area used by the vector. Same caveats explained in the class documentation apply...
Definition: gmVector.h:100
QString tr(const char *sourceText, const char *disambiguation, int n)
int _dim
The coordinate dimension.
Definition: gmDiscontinuityAccessor.h:206
~GmSegmentCell2DIntersectionCoordAccessor()
Destructor.
Definition: gmDiscontinuityAccessor.h:162
Interface class for accessing and setting values from an "indexable" collection of values.
Definition: gmValueAccessor.h:59
bool hasUnitConversion() const
Returns true if this accessor perfroms unit conversions, false if not.
Definition: gmDiscontinuityAccessor.h:176
Declaration of the GmSegmentCellIntersection class & friends.
UnitConverter * _conv
Unit converter.
Definition: gmDiscontinuityAccessor.h:208
The geometric representation for a single discontinuity from the Discontinuity set....
Definition: gmDiscontinuity.h:35
Unit unit() const
Returns the unit in which data returned by the accessor is expressed.
Definition: gmDiscontinuityAccessor.h:173
Extends GmDiscontinuityAccessor to handle property accessors.
Definition: gmDiscontinuityAccessor.h:131
#define GMC_API_EXPORT
Macro for controling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_LI...
Definition: gmCoreConfig.h:35
An auxiliary vector WRAPPER that binds the vector to a CONST memory area with data already initialize...
Definition: gmVector.h:69
A (much more) compact version of GmSegmentCellIntersection for 2d intersections only....
Definition: gmSegmentCellIntersection.h:105
QString _unit
The unit in which data is being returned.
Definition: gmDiscontinuityAccessor.h:207
int valueSize() const
Returns the size of the array returned by value()
Definition: gmDiscontinuityAccessor.h:179
The GmDiscontinuityAccessor class is a proxy object to a value accesor implementing a more convenient...
Definition: gmDiscontinuityAccessor.h:47
GmAttributeDiscontinuityAccessor(GmValueAccessor *ac)
Constructor. Takes ownership of the accessor.
Definition: gmDiscontinuityAccessor.h:123
virtual int propertyIndex(int propertySet) const
Given a property set number, returns the line of the property set that contains property values for t...
Definition: gmDiscontinuity.h:61
const double * rawCartCoord(int i) const
Same as cartCoord(i) but returning a pointer to the internal buffer. No cdata copy to construct a GmV...
Definition: gmSegmentCellIntersection.h:165
An auxiliary matrix WRAPPER that binds the matrix to a CONST memory area with data already inicialize...
Definition: gmMatrix.h:100
An implementation of basic attributes and functions that should be common for most value accessor imp...
Definition: gmValueAccessor.h:364
Class used to store the definition of a user function and its parameters.
Definition: gmUserFunction.h:78
Implementation of the GmAccessorProxy class Moved from gmCellAccessor.h.
Helper class with common code for several classes that wrap a value accessor, provinding a slitly dif...
Definition: gmAccessorProxy.h:38
Extends GmDiscontinuityAccessor to handle attribute accessors.
Definition: gmDiscontinuityAccessor.h:119
const GmLogCategory & _logger
The logger object used to report errors while accessing or setting data.
Definition: gmValueAccessor.h:407
Declaration of the GmDiscontinuity class.