FrontISTR
5.7.0
Large-scale structural analysis program with finit element method
CFSTRDB_Boundary.cpp
Go to the documentation of this file.
1
/*****************************************************************************
2
* Copyright (c) 2019 FrontISTR Commons
3
* This software is released under the MIT License, see LICENSE.txt
4
*****************************************************************************/
5
/*
6
CFSTRDB_Boundary Ver.1.0
7
*/
8
9
#include "
CFSTRDB.h
"
10
#include "
CHECData.h
"
11
12
using namespace
std;
13
14
CFSTRDB_Boundary::CFSTRDB_Boundary
()
15
:
CFSTRDataBlock
(
FSTRDB_BOUNDARY
), ItemList() {}
16
17
CFSTRDB_Boundary::~CFSTRDB_Boundary
() {
Clear
(); }
18
19
void
CFSTRDB_Boundary::Clear
() {
ItemList
.clear(); }
20
21
void
CFSTRDB_Boundary::Write
(
CHECData
*hecd) {
22
if
(
ItemList
.size() == 0)
return
;
23
24
hecd->
WriteHeader
(
"!BOUNDARY"
);
25
vector<CItem>::iterator iter;
26
27
for
(iter =
ItemList
.begin(); iter !=
ItemList
.end(); iter++) {
28
hecd->
WriteData
(
"SIIF"
, iter->ngrp, iter->dof_ids, iter->dof_ide,
29
iter->value);
30
}
31
}
32
33
bool
CFSTRDB_Boundary::Read
(
CHECData
*hecd,
char
*header_line) {
34
int
rcode[10];
35
36
while
(1) {
37
CItem
item;
38
39
if
(!hecd->
ReadData
(rcode,
"SIIF"
, &item.
ngrp
, &item.
dof_ids
, &item.
dof_ide
,
40
&item.
value
))
41
break
;
42
43
ItemList
.push_back(item);
44
}
45
46
return
true
;
47
}
CFSTRDB_Boundary::CItem::ngrp
char ngrp[hec_name_size]
Definition:
CFSTRDB.h:165
CFSTRDB_Boundary::Write
virtual void Write(class CHECData *hecd)
Definition:
CFSTRDB_Boundary.cpp:21
CFSTRDB_Boundary::ItemList
std::vector< CItem > ItemList
Definition:
CFSTRDB.h:182
CHECData.h
CFSTRDB_Boundary::CItem::dof_ide
int dof_ide
Definition:
CFSTRDB.h:167
CFSTRDB_Boundary::CItem
Definition:
CFSTRDB.h:163
CFSTRDB_Boundary::CItem::dof_ids
int dof_ids
Definition:
CFSTRDB.h:166
CFSTRDB.h
FSTRDB_BOUNDARY
@ FSTRDB_BOUNDARY
Definition:
CFSTRDB.h:36
CFSTRDB_Boundary::CItem::value
double value
Definition:
CFSTRDB.h:168
CHECData::WriteData
virtual void WriteData(const char *fmt,...)
Definition:
CHECData.cpp:162
CHECData::ReadData
virtual bool ReadData(int *rcode, const char *fmt,...)
Definition:
CHECData.cpp:548
CHECData::WriteHeader
virtual void WriteHeader(const char *name, const char *fmt="",...)
Definition:
CHECData.cpp:68
CFSTRDB_Boundary::~CFSTRDB_Boundary
virtual ~CFSTRDB_Boundary()
Definition:
CFSTRDB_Boundary.cpp:17
CHECData
Definition:
CHECData.h:25
CFSTRDB_Boundary::Read
virtual bool Read(class CHECData *hecd, char *header_line)
Definition:
CFSTRDB_Boundary.cpp:33
CFSTRDB_Boundary::CFSTRDB_Boundary
CFSTRDB_Boundary()
Definition:
CFSTRDB_Boundary.cpp:14
CFSTRDataBlock
Definition:
CFSTRDB.h:58
CFSTRDB_Boundary::Clear
virtual void Clear()
Definition:
CFSTRDB_Boundary.cpp:19
fistr1
tools
neu2fstr
HECD
CFSTRDB_Boundary.cpp
Generated by
1.8.17