52 auto result = std::make_unique<DynamicInputRecord>(nodeType, i);
59 auto result = std::make_unique<DynamicInputRecord>(elementType, i);
68DynamicInputRecord :: DynamicInputRecord(std :: string keyword,
int value) :
118DynamicInputRecord :: ~DynamicInputRecord()
142 OOFEM_ERROR(
"DynamicInputRecord::giveNestedCount: not implemented.");
146 OOFEM_ERROR(
"DynamicInputRecord::hasChild: not implemented.");
150void DynamicInputRecord :: finish(
bool wrn)
155void DynamicInputRecord :: giveRecordKeywordField(std :: string &answer,
int &value)
161void DynamicInputRecord :: giveRecordKeywordField(std :: string &answer)
168 std :: map< std :: string, int > :: iterator it = this->
intRecord.find(
id);
177 std :: map< std :: string, double > :: iterator it = this->
doubleRecord.find(
id);
180 std :: map< std :: string, int > :: iterator it2 = this->
intRecord.find(
id);
184 answer = it2->second;
191 std :: map< std :: string, bool > :: iterator it = this->
boolRecord.find(
id);
200 std :: map< std :: string, std :: string > :: iterator it = this->
stringRecord.find(
id);
209 std :: map< std :: string, FloatArray > :: iterator it = this->
floatArrayRecord.find(
id);
218 std :: map< std :: string, IntArray > :: iterator it = this->
intArrayRecord.find(
id);
227 std :: map< std :: string, FloatMatrix > :: iterator it = this->
matrixRecord.find(
id);
234void DynamicInputRecord :: giveField(std :: vector< std :: string > &answer,
InputFieldType id)
236 std :: map< std :: string, std :: vector< std :: string > > :: iterator it = this->
stringListRecord.find(
id);
245 std :: map< std :: string, Dictionary > :: iterator it = this->
dictionaryRecord.find(
id);
252void DynamicInputRecord :: giveField(std :: list< Range > &answer,
InputFieldType id)
254 std :: map< std :: string, std :: list< Range > > :: iterator it = this->
rangeRecord.find(
id);
263 std :: map< std :: string, ScalarFunction > :: iterator it = this->
scalarFunctionRecord.find(
id);
285DynamicInputRecord :: printYourself()
291void DynamicInputRecord :: setRecordKeywordField(std :: string keyword,
int value)
297void DynamicInputRecord :: setRecordKeywordNumber(
int value)
337void DynamicInputRecord :: setField(std :: vector< std :: string > item,
InputFieldType id)
347void DynamicInputRecord :: setField(
const std :: list< Range > &item,
InputFieldType id)
380#define forRecord(name) \
381 for ( const auto &x: name ) { \
382 rec << " " << x.first << " " << x.second; \
386std :: string DynamicInputRecord :: giveLocation()
const {
return "<DynamicInputRecord>"; }
387std :: string DynamicInputRecord :: giveRecordInTXTFormat()
const
389 std :: ostringstream rec;
415 rec <<
" " << x.first;
416 const std :: vector< std :: string > &list = x.second;
417 rec <<
" " << list.size();
418 for (
const auto &y: list ) {
424 rec <<
" " << x.first;
425 const std :: list< Range > &list = x.second;
426 rec <<
" " << list.size();
427 for (
const auto &y: list ) {
static ParamKey IPK_Element_crosssect
static ParamKey IPK_Element_nodes
virtual void giveInputRecord(DynamicInputRecord &input)
std::unique_ptr< DynamicInputRecord > CreateElementIR(int i, InputFieldType elementType, IntArray nodes, int cs)
Helper function for creating elements (with optional cross-section number).
std::unique_ptr< DynamicInputRecord > CreateNodeIR(int i, InputFieldType nodeType, FloatArray coord)
Helper function for creating a dynamic input record for a node.
const char * InputFieldType
Identifier of fields in input records.