asciiFormatter Class Reference

Inline ASCII output. Adds spaces between entries and a newline every 9 items (for consistency with what VTK itself outputs). More...

Inheritance diagram for asciiFormatter:
Collaboration diagram for asciiFormatter:

Public Member Functions

 asciiFormatter (std::ostream &os)
 Construct and attach to an output stream, use default precision. More...
 
 asciiFormatter (std::ostream &os, unsigned prec)
 Construct and attach to an output stream, use specified precision. More...
 
virtual ~asciiFormatter ()
 Destructor. Finishes the output line as required. More...
 
virtual const vtk::outputOptionsopts () const
 The output is INLINE_ASCII. More...
 
virtual const char * name () const
 Name for the XML output type ("ascii") More...
 
virtual const char * encoding () const
 Name for the XML append encoding - unused. More...
 
virtual bool writeSize (const uint64_t ignored)
 Write leading size - this is a no-op for ascii output. More...
 
virtual void write (const uint8_t val)
 
virtual void write (const label val)
 
virtual void write (const float val)
 
virtual void write (const double val)
 
virtual void flush ()
 Write a newline if needed to finish a line of output. More...
 
virtual std::size_t encodedLength (std::size_t ignored) const
 The encoded length for ascii output is not applicable. More...
 
- Public Member Functions inherited from formatter
virtual ~formatter ()=default
 Destructor. More...
 
std::ostream & os () noexcept
 Access to the underlying output stream. More...
 
void quoting (const quoteChar quote)
 Change quoting char for XML attributes (default: SINGLE_QUOTE) More...
 
virtual uint64_t offset (const uint64_t numbytes)
 Increase the append data offset by numbytes and sizeof(uint64_t). More...
 
void indent ()
 Add indenting according to the current XML tag depth. More...
 
void indent (label n)
 Add indenting of n spaces. More...
 
formatterxmlHeader ()
 Write XML header. More...
 
template<class... Args>
formatterxmlComment (const std::string &text, Args &&... args)
 Write XML comment (at the current indentation level) More...
 
template<class... Args>
formatteropenTag (const word &tagName, Args &&... args)
 Start an XML tag, optionally with attributes. More...
 
template<class... Args>
formatteropenTag (vtk::fileTag t, Args &&... args)
 Start an XML tag, optionally with attributes. More...
 
formattercloseTag (const bool isEmpty=false)
 Finish an XML tag, optional as an empty container. More...
 
formatterendTag (const word &tagName=word::null)
 An end XML tag, optional with sanity check. More...
 
virtual formatterendTag (vtk::fileTag t)
 An end XML tag with sanity check. More...
 
template<class... Args>
formattertag (const word &t, Args &&... args)
 Write XML tag without any attributes. Combines openTag/closeTag. More...
 
template<class... Args>
formattertag (vtk::fileTag t, Args &&... args)
 Write XML tag without any attributes. Combines openTag/closeTag. More...
 
formatterbeginVTKFile (const word &contentType, const word &contentVersion, const bool leaveOpen=false)
 Add a "VTKFile" XML tag for contentType, followed by a tag for the contentType itself. More...
 
formatterbeginVTKFile (vtk::fileTag contentType, const word &contentVersion, const bool leaveOpen=false)
 Add a "VTKFile" XML tag for contentType, followed by a tag for the contentType itself. More...
 
formatterbeginVTKFile (vtk::fileTag contentType, const bool leaveOpen=false)
 Add a "VTKFile" XML tag for contentType, followed by a tag for the contentType itself. More...
 
template<vtk::fileTag ContentType>
formatterbeginVTKFile (bool leaveOpen=false)
 Add a "VTKFile" XML tag for contentType, followed by a tag for the contentType itself. More...
 
formatterbeginAppendedData ()
 Add a "AppendedData" XML tag with the current encoding and output the requisite '_' prefix. More...
 
formatterbeginBlock (label index, std::string name="")
 Begin "Block" XML section. More...
 
formatterendBlock ()
 End "Block" XML section. More...
 
formatterbeginPiece (label index, std::string name="")
 Begin "Piece" XML section. More...
 
virtual formatterendPiece ()
 End "Piece" XML section. More...
 
formatterDataSet (label index, std::string file="", bool autoName=true)
 Insert a single "DataSet" XML entry tag. More...
 
formatterDataSet (label index, std::string file, std::string name)
 Insert a single "DataSet" XML entry tag. More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatterbeginDataArray (const word &dataName, uint64_t payLoad=npos, bool leaveOpen=false)
 Begin "DataArray" XML section. More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatterbeginDataArray (const vtk::dataArrayAttr &dataName, uint64_t payLoad=npos, bool leaveOpen=false)
 Begin "DataArray" XML section. More...
 
virtual formatterendDataArray ()
 End "DataArray" XML section. More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatterPDataArray (const word &dataName)
 Insert a single "PDataArray" XML entry tag. More...
 
formatterbeginFieldData ()
 Begin "FieldData" XML section. More...
 
formatterbeginCellData ()
 Begin "CellData" XML section. More...
 
formatterbeginPointData ()
 Begin "PointData" XML section. More...
 
virtual formatterendFieldData ()
 End "FieldData" XML section. More...
 
virtual formatterendCellData ()
 End "CellData" XML section. More...
 
virtual formatterendPointData ()
 End "PointData" XML section. More...
 
formatterendAppendedData ()
 End "AppendedData" XML section. More...
 
virtual formatterendVTKFile ()
 End "VTKFile" XML section. More...
 
formatterwriteTimeValue (scalar timeValue)
 Emit "TimeValue" for FieldData (name as per Catalyst output) More...
 
template<class... Args>
formatterxmlAttr (const word &k, const std::string &v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const word &k, const int32_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const word &k, const int64_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const word &k, const uint64_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const word &k, const scalar v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const std::string &v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const int32_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const int64_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const uint64_t v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class... Args>
formatterxmlAttr (const vtk::fileAttr &k, const scalar v, Args &&... args)
 Pair-wise write of XML key/value attributes. More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatteropenDataArray (const word &dataName)
 Open "DataArray" XML tag and leave open (requires a closeTag). More...
 
template<class Type , direction nComp = 1, int nTuple = 0>
formatteropenDataArray (const vtk::dataArrayAttr &dataName)
 Open "DataArray" XML tag and leave open (requires a closeTag). More...
 
template<class... Args>
Foam::vtk::formatterxmlComment (const std::string &text, Args &&... args)
 
template<class... Args>
Foam::vtk::formatteropenTag (const word &tagName, Args &&... args)
 
template<class... Args>
Foam::vtk::formatteropenTag (vtk::fileTag t, Args &&... args)
 
template<class... Args>
Foam::vtk::formattertag (const word &t, Args &&... args)
 
template<class... Args>
Foam::vtk::formattertag (vtk::fileTag t, Args &&... args)
 
template<Foam::vtk::fileTag ContentType>
Foam::vtk::formatterbeginVTKFile (bool leaveOpen)
 
template<class Type , Foam::direction nComp, int nTuple>
Foam::vtk::formatterbeginDataArray (const vtk::dataArrayAttr &dataName, uint64_t payLoad, bool leaveOpen)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const std::string &v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const int32_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const int64_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const uint64_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const word &k, const scalar v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const std::string &v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const int32_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const int64_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const uint64_t v, Args &&... args)
 
template<class... Args>
Foam::vtk::formatterxmlAttr (const vtk::fileAttr &k, const scalar v, Args &&... args)
 
template<class Type , Foam::direction nComp, int nTuple>
Foam::vtk::formatterbeginDataArray (const word &dataName, uint64_t payLoad, bool leaveOpen)
 
template<class Type , Foam::direction nComp, int nTuple>
Foam::vtk::formatterPDataArray (const word &dataName)
 

Additional Inherited Members

- Public Types inherited from formatter
enum  quoteChar : char { DOUBLE_QUOTE = '\"', SINGLE_QUOTE = '\'' }
 Quoting for XML attributes. More...
 
typedef uint64_t headerType
 The header data is vtk UInt64. More...
 
- Static Public Attributes inherited from formatter
static constexpr uint64_t npos = uint64_t(-1)
 Out of range position or size. More...
 
- Protected Member Functions inherited from formatter
bool canWriteAttr (const word &k) const
 Can write XML key/value attribute pair when inside a tag. Emit warning and return false if this condition is not met. More...
 
bool canWriteToplevel (const char *what) const
 Can write tag-like top-level content (eg, comment, ...) when not already inside a tag. Emit warning and return false if this condition is not met. More...
 
template<class Type >
void writeAttr (const word &k, const Type &v)
 Write XML key/value attribute pair (implementation). More...
 
formatterxmlAttr ()
 No-op write XML attribute (for templating code). More...
 
void xmlCommentLoop ()
 No-op XML comment loop (for templating code). More...
 
template<class... Args>
void xmlCommentLoop (const std::string &text, Args &&... args)
 Loop/output XML comments. More...
 
bool openTagImpl (const word &tagName)
 Open XML tag (implementation), checking if not already inside another tag. Emit warning and return false if this condition is not met. More...
 
 formatter (std::ostream &os)
 Construct and attach to an output stream. More...
 
- Protected Attributes inherited from formatter
std::ostream & os_
 The output stream for the formatter. More...
 
DynamicList< wordxmlTags_
 LIFO stack of current XML tags. More...
 
bool inTag_
 Tag open/closed/ended state. More...
 
char quote_
 Quoting character for XML attributes. More...
 

Detailed Description

Inline ASCII output. Adds spaces between entries and a newline every 9 items (for consistency with what VTK itself outputs).

Source files

Definition at line 50 of file foamVtkAsciiFormatter.H.

Constructor & Destructor Documentation

◆ asciiFormatter() [1/2]

asciiFormatter ( std::ostream &  os)
explicit

Construct and attach to an output stream, use default precision.

Definition at line 62 of file foamVtkAsciiFormatter.C.

◆ asciiFormatter() [2/2]

asciiFormatter ( std::ostream &  os,
unsigned  prec 
)

Construct and attach to an output stream, use specified precision.

Definition at line 70 of file foamVtkAsciiFormatter.C.

References os().

Here is the call graph for this function:

◆ ~asciiFormatter()

~asciiFormatter ( )
virtual

Destructor. Finishes the output line as required.

Definition at line 84 of file foamVtkAsciiFormatter.C.

Member Function Documentation

◆ opts()

const Foam::vtk::outputOptions & opts ( ) const
virtual

The output is INLINE_ASCII.

Implements formatter.

Reimplemented in legacyAsciiFormatter.

Definition at line 93 of file foamVtkAsciiFormatter.C.

◆ name()

const char * name ( ) const
virtual

Name for the XML output type ("ascii")

Implements formatter.

Reimplemented in legacyAsciiFormatter.

Definition at line 99 of file foamVtkAsciiFormatter.C.

◆ encoding()

const char * encoding ( ) const
virtual

Name for the XML append encoding - unused.

Currently identical to name(), but do not rely on this.

Implements formatter.

Reimplemented in legacyAsciiFormatter.

Definition at line 105 of file foamVtkAsciiFormatter.C.

◆ writeSize()

bool writeSize ( const uint64_t  ignored)
virtual

Write leading size - this is a no-op for ascii output.

Returns
False - never used by this format

Implements formatter.

Definition at line 111 of file foamVtkAsciiFormatter.C.

◆ write() [1/4]

void write ( const uint8_t  val)
virtual

Implements formatter.

Definition at line 117 of file foamVtkAsciiFormatter.C.

References os().

Here is the call graph for this function:

◆ write() [2/4]

void write ( const label  val)
virtual

Implements formatter.

Definition at line 124 of file foamVtkAsciiFormatter.C.

References os().

Here is the call graph for this function:

◆ write() [3/4]

void write ( const float  val)
virtual

Implements formatter.

Definition at line 131 of file foamVtkAsciiFormatter.C.

References os().

Here is the call graph for this function:

◆ write() [4/4]

void write ( const double  val)
virtual

Implements formatter.

Definition at line 138 of file foamVtkAsciiFormatter.C.

References Foam::max(), and Foam::vtk::write().

Here is the call graph for this function:

◆ flush()

void flush ( )
virtual

Write a newline if needed to finish a line of output.

Implements formatter.

Definition at line 157 of file foamVtkAsciiFormatter.C.

◆ encodedLength()

std::size_t encodedLength ( std::size_t  ignored) const
virtual

The encoded length for ascii output is not applicable.

Returns
0

Reimplemented from formatter.

Definition at line 163 of file foamVtkAsciiFormatter.C.


The documentation for this class was generated from the following files: