21 CExtractAxis* extractAxis = CExtractAxisGroup::get(
"extract_axis_definition")->createChild(
id);
22 if (node) extractAxis->
parse(*node);
41 int axisIBegin, axisNi, axisGlobalSize;
44 axisIBegin = axisDest->begin.getValue();
45 axisNi = axisDest->n.getValue();
46 axisGlobalSize = axisDest->n_glo.getValue();
48 bool extractByIndex = !this->index.isEmpty() && (0 != this->index.numElements());
52 begin = min(this->index);
53 end = max(this->index);
58 begin = (this->begin.isEmpty()) ? 0 : this->begin.getValue();
59 n = (this->n.isEmpty()) ? axisGlobalSize : this->n.getValue();
63 if (begin < 0 || begin > axisGlobalSize - 1 || end < 0 || end > axisGlobalSize - 1
64 || n < 1 || n > axisGlobalSize || begin > end)
65 ERROR(
"CExtractAxis::checkValid(CAxis* axisDest)",
66 <<
"One or more attributes among 'begin' (" << begin <<
"), 'end' (" << end <<
"), 'n' (" << n <<
") "
69 if (extractByIndex && (!this->begin.isEmpty() || !this->n.isEmpty()))
70 ERROR(
"CExtractAxis::checkValid(CAxis* axisDest)",
71 <<
"Only one type of extract is accepted. Define extract by index with global_extract_index or define extract with begin and n. "
74 this->begin.setValue(begin);
const StdString & getId(void) const
Accesseurs ///.
CATCH CScalarAlgorithmReduceScalar::CScalarAlgorithmReduceScalar(CScalar *scalarDestination, CScalar *scalarSource, CReduceScalarToScalar *algo ERROR)("CScalarAlgorithmReduceScalar::CScalarAlgorithmReduceScalar(CScalar* scalarDestination, CScalar* scalarSource, CReduceScalarToScalar* algo)",<< "Operation must be defined."<< "Scalar source "<< scalarSource->getId()<< std::endl<< "Scalar destination "<< scalarDestination->getId())
////////////////////// Déclarations ////////////////////// ///
virtual void parse(xml::CXMLNode &node)
enum xios::_node_type ENodeType
////////////////////// Définitions ////////////////////// ///
static StdString & GetCurrentContextId(void)
Accesseurs ///.