Go to the documentation of this file.
48 os <<
"# The irregular positions" <<
nl
49 <<
"object 1 class array type float rank 1 shape 3 items "
50 <<
points.size() <<
" data follows" <<
nl;
56 os << float(pt.
x()) <<
' ' << float(pt.
y()) <<
' ' << float(pt.
z())
62 os <<
"# The irregular connections (triangles)" <<
nl
63 <<
"object 2 class array type int rank 1 shape 3 items "
64 << faces.
size() <<
" data follows" <<
nl;
68 const face&
f = faces[faceI];
73 <<
"Face " << faceI <<
" vertices " <<
f
74 <<
" is not a triangle."
78 os <<
f[0] <<
' ' <<
f[1] <<
' ' <<
f[2] <<
nl;
80 os <<
"attribute \"element type\" string \"triangles\"" <<
nl
81 <<
"attribute \"ref\" string \"positions\"" <<
nl <<
nl;
89 os <<
nl <<
"attribute \"dep\" string \"positions\""
94 os <<
nl <<
"attribute \"dep\" string \"connections\""
98 os <<
"# the field, with three components: \"positions\","
99 <<
" \"connections\", and \"data\"" <<
nl
100 <<
"object \"irregular positions irregular "
101 <<
"connections\" class field"
103 <<
"component \"positions\" value 1" <<
nl
104 <<
"component \"connections\" value 2" <<
nl
105 <<
"component \"data\" value 3" <<
nl;
120 os <<
"object 3 class array type float rank 0 items "
121 << values.size() <<
" data follows" <<
nl;
125 os << float(values[elemI]) <<
nl;
137 os <<
"object 3 class array type float rank 1 shape 3 items "
138 << values.size() <<
" data follows" <<
nl;
142 os << float(values[elemI].
x()) <<
' '
143 << float(values[elemI].
y()) <<
' '
144 << float(values[elemI].z()) <<
nl;
156 os <<
"object 3 class array type float rank 0 items "
157 << values.size() <<
" data follows" <<
nl;
161 os << float(values[elemI][0]) <<
nl;
173 os <<
"object 3 class array type float rank 2 shape 3 items "
174 << values.size() <<
" data follows" <<
nl;
180 os << float(t.
xx()) <<
' ' << float(t.
xy()) <<
' ' << float(t.
xz())
181 << float(t.
xy()) <<
' ' << float(t.
yy()) <<
' ' << float(t.
yz())
182 << float(t.
xz()) <<
' ' << float(t.
yz()) <<
' ' << float(t.
zz())
196 os <<
"object 3 class array type float rank 2 shape 3 items "
197 << values.size() <<
" data follows" <<
nl;
201 const tensor& t = values[elemI];
203 os << float(t.
xx()) <<
' ' << float(t.
xy()) <<
' ' << float(t.
xz())
204 << float(t.
yx()) <<
' ' << float(t.
yy()) <<
' ' << float(t.
yz())
205 << float(t.
zx()) <<
' ' << float(t.
zy()) <<
' ' << float(t.
zz())
static void writeData(Ostream &, const Field< Type > &)
Templated 3D tensor derived from VectorSpace adding construction from 9 components,...
Base class for surface writers.
static void writeGeometry(Ostream &, const pointField &, const faceList &)
#define forAll(list, i)
Loop across all elements in list.
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual ~dxSurfaceWriter()
Destructor.
Convenience macros for instantiating writer methods for surfaceWriter classes.
Pre-declare SubField and related Field type.
defineSurfaceWriterWriteFields(nastranSurfaceWriter)
static void writeTrailer(Ostream &, const bool isNodeValues)
errorManipArg< error, int > exit(error &err, const int errNo=1)
dxSurfaceWriter()
Construct null.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A surfaceWriter for OpenDX format.
A face is a list of labels corresponding to mesh vertices.
void size(const label)
Override size to be inconsistent with allocated storage.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
makeSurfaceWriterType(boundaryDataSurfaceWriter)