Brief description of class still missing. More...
#include <Param3DGroundModel.h>
Public Member Functions | |
| void | addModel (const ParamGroundModel &gm) |
| void | humanInfo () const |
| void | initFinalProfiles () |
| bool | isValid () const |
| ParamGroundModel * | model (int index) const |
| int | modelCount () const |
| Param3DGroundModel () | |
| Param3DGroundModel (const Param3DGroundModel &o) | |
| void | setCustomConditions (const QString &c) |
| bool | toParameters (RealSpace &ps) const |
| void | updateFinalProfiles (const GroundParameter *from=0) |
| virtual const QString & | xml_tagName () const |
| ~Param3DGroundModel () | |
Static Public Attributes | |
| static const QString | xmlParam3DGroundModelTag = "Param3DGroundModel" |
Protected Member Functions | |
| virtual XMLMember | xml_member (XML_MEMBER_ARGS) |
| virtual void | xml_writeChildren (XML_WRITECHILDREN_ARGS) const |
Brief description of class still missing.
Full description of class still missing
Description of constructor still missing
| void DinverDCCore::Param3DGroundModel::addModel | ( | const ParamGroundModel & | gm | ) |
| void DinverDCCore::Param3DGroundModel::humanInfo | ( | ) | const |
References QGpCoreTools::flush(), QGpCoreTools::tr(), and TRACE.
{
TRACE;
App::stream() << tr( "\n---------------------- Positions of reference profiles\n\n" );
for(QVector<ParamGroundModel *>::const_iterator it=_models.begin(); it!=_models.end(); it++) {
App::stream() << (*it)->position().toString() << "\n";
}
App::stream() << flush;
}
References TRACE.
{
TRACE;
for(QVector<ParamGroundModel *>::const_iterator it=_models.begin(); it!=_models.end(); it++) {
(*it)->initFinalProfiles();
}
}
| bool DinverDCCore::Param3DGroundModel::isValid | ( | ) | const |
References QGpCoreTools::endl(), modelCount(), QGpCoreTools::tr(), and TRACE.
{
TRACE;
if(modelCount()!=3) {
App::stream() << tr("Support only for 3 ground model interpolations") << endl;
return false;
}
// Check if there is gradient layers
for(QVector<ParamGroundModel *>::const_iterator it=_models.begin(); it!=_models.end(); it++) {
if((*it)->hasGradient()) {
App::stream() << tr("Gradients are currently not supported") << endl;
return false;
}
}
return true;
}
| ParamGroundModel* DinverDCCore::Param3DGroundModel::model | ( | int | index | ) | const [inline] |
Referenced by addModel(), Param3DGroundModel(), and DinverDCCore::TargetList2D::setParamProfiles().
{return _models.at(index);}
| int DinverDCCore::Param3DGroundModel::modelCount | ( | ) | const [inline] |
Referenced by isValid(), and DinverDCCore::TargetList2D::setParamProfiles().
{return _models.count();}
| void DinverDCCore::Param3DGroundModel::setCustomConditions | ( | const QString & | c | ) | [inline] |
| bool DinverDCCore::Param3DGroundModel::toParameters | ( | RealSpace & | ps | ) | const |
References DinverCore::ParamSpaceScript::apply(), DinverCore::RealSpace::setParameterNamePrefix(), and TRACE.
{
TRACE;
int n=_models.count();
for(int i=0; i<n; i++) {
ps.setParameterNamePrefix(QString(65+i)+"_");
if(!_models.at(i)->toParameters(ps)) {
return false;
}
}
// Add custom conditions between profiles
if(!_customConditions.apply(&ps)) {
return false;
}
return true;
}
| void DinverDCCore::Param3DGroundModel::updateFinalProfiles | ( | const GroundParameter * | from = 0 | ) |
References DinverDCCore::GroundParameter::groundModel(), and TRACE.
{
TRACE;
if(from) {
QHash<const ParamGroundModel *, int>::iterator it=_lookup.find(from->groundModel());
ASSERT(it!=_lookup.end());
_models[it.value()]->updateFinalProfiles(from);
} else {
for(QVector<ParamGroundModel *>::iterator it=_models.begin(); it!=_models.end(); it++) {
(*it)->updateFinalProfiles();
}
}
}
| XMLMember DinverDCCore::Param3DGroundModel::xml_member | ( | XML_MEMBER_ARGS | ) | [protected, virtual] |
Re-implement this function to offer XML restore (children and properties) support to your class.
From tag and map (with contains the attibute value) return a unique identifier under the format of a XMLMember. XMLMember is initialized with 3 types of contructors:
Map of attributes can be inspected in this way (can be achived also in xml_setProperty()):
static const QString tmp("childrenName"); XMLRestoreAttributeIterator it=map.find(tmp); if(it!=map.end()) { // found attribute "childrenName" }
If the map of attributes is not used:
Q_UNUSED(attributes);
if(tag=="x1") return XMLMember(0);
else if(tag=="y1") return XMLMember(1);
else if(tag=="x2") return XMLMember(2);
else if(tag=="y2") return XMLMember(3);
else return XMLMember(XMLMember::Unknown);
Arithmetic operations + and - apply to XMLMember to avoid confusion of property id numbers between inherited objects. Offset 3 corresponds to the number of properties defined in this object.
if(tag=="anInteger") return XMLMember(0); else if(tag=="aString") return XMLMember(1); else if(tag=="aDouble") return XMLMember(2); return AbstractLine::xml_member(tag, attributes, context)+3;
For the arguments of this function use Macro XML_MEMBER_ARGS.
Reimplemented from QGpCoreTools::XMLClass.
References addModel(), and TRACE.
| virtual const QString& DinverDCCore::Param3DGroundModel::xml_tagName | ( | ) | const [inline, virtual] |
Implements QGpCoreTools::XMLClass.
{return xmlParam3DGroundModelTag;}
| void DinverDCCore::Param3DGroundModel::xml_writeChildren | ( | XML_WRITECHILDREN_ARGS | ) | const [protected, virtual] |
Reimplemented from QGpCoreTools::XMLClass.
References TRACE, and QGpCoreTools::XMLClass::xml_save().
{
TRACE;
for(QVector<ParamGroundModel *>::const_iterator it=_models.begin(); it!=_models.end(); it++) {
(*it)->xml_save(s, context);
}
_customConditions.xml_save(s, context);
}
const QString DinverDCCore::Param3DGroundModel::xmlParam3DGroundModelTag = "Param3DGroundModel" [static] |