Loading...
Searching...
No Matches
BALL::HMOFile Class Reference
Molecular Modeling » File Formats

`#include <BALL/FORMAT/HMOFile.h>`

Inheritance diagram for BALL::HMOFile:

## Classes

class | HMOCharge

## Public Types

Nested classes and enums
enum | ElementType { L2 = 60 , L3 = 63 , T3 = 103 , T6 = 106 , Q4 = 104 , Q8 = 108 , TH4 = 204 , TH10 = 210 , P6 = 206 , P15 = 215 , H8 = 208 , H20 = 220 }
Public Types inherited from BALL::File
typedef std::ios::openmode | OpenMode
enum | Transformation { TRANSFORMATION__EXEC = 1 , TRANSFORMATION__FILTER = 2 , TRANSFORMATION__URL = 3 }
enum | Type { TYPE__UNKNOWN = 0 , TYPE__DIRECTORY = 1 , TYPE__CHAR_SPECIAL_FILE = 2 , TYPE__BLOCK_SPECIAL_FILE = 3 , TYPE__REGULAR_FILE = 4 , TYPE__SYMBOLIC_LINK = 5 , TYPE__SOCKET = 6 , TYPE__FIFO_SPECIAL_FILE = 7 }

## Public Member Functions

Constructors and Destructor
| HMOFile ()
| Default constructor.
| HMOFile (const String &filename, File::OpenMode open_mode=std::ios::in)
virtual | ~HMOFile ()
| Destructor.
Assignment
virtual void | clear ()
| Clear method.
Predicates
bool | operator== (const HMOFile &file)
| Equality operator.
Accessors
bool | hasCharges () const
| Test for the presence of charges.
std::vector< HMOCharge > & | getCharges ()
| Accessor for the vector of charges.
std::vector< HMOCharge > const & | getCharges () const
| Accessor for the vector of charges, const version.
bool | hasComments () const
| Test for the presence of comments.
std::vector< String > & | getComments ()
| Accessor for the vector of comments.
std::vector< String > const & | getComments () const
| Accessor for the vector of comments, const version.
Public Member Functions inherited from BALL::LineBasedFile
| LineBasedFile ()
| Default constructor.
| LineBasedFile (const String &filename, File::OpenMode open_mode=std::ios::in, bool trim_whitespaces=false)
void | clear ()
bool | operator== (const LineBasedFile &f)
bool | operator!= (const LineBasedFile &f)
const LineBasedFile & | operator= (const LineBasedFile &file)
Position | getLineNumber () const
| Get the last line number in the file.
const String & | getLine () const
| Return the current line.
String & | getLine ()
| Return the current line.
bool | readLine ()
bool | skipLines (Size number=1)
bool | search (const String &text, bool return_to_start=false)
bool | search (const String &text, const String &stop, bool return_to_start=false)
bool | gotoLine (Position line_number)
void | rewind ()
void | test (const char *file, int line, bool condition, const String &msg) const
String | getField (Index pos=0, const String &quotes="", const String &delimiters=String::CHARACTER_CLASS__WHITESPACE) const
bool | startsWith (const String &text) const
| Test if the current line starts with text.
bool | has (const String &text) const
| Return true if the current line contains text.
Index | switchString (const std::vector< String > &data) const
bool | parseColumnFormat (const char *format, Position index, Size length, void *arg)
void | enableTrimWhitespaces (bool state)
| Set wheter leading and trailing whitespaces in lines shall be removed.
bool | trimWhiteSpacesEnabled () const
Public Member Functions inherited from BALL::File
| File ()
| File (const String &name, OpenMode open_mode=std::ios::in)
virtual | ~File ()
bool | isValid () const
bool | open (const String &name, File::OpenMode open_mode=std::ios::in)
bool | reopen ()
bool | reopen (File::OpenMode open_mode)
void | close ()
const String & | getName () const
void | setName (const String &name)
const String & | getOriginalName () const
Size | getSize ()
File::OpenMode | getOpenMode () const
Type | getType (bool trace_link) const
bool | copyTo (const String &destination_name, Size buffer_size=4096)
bool | moveTo (const String &destination_name)
bool | remove ()
bool | renameTo (const String &new_path)
bool | truncate (Size size=0)
std::fstream & | getFileStream ()
TransformationManager & | getTransformationManager ()
const TransformationManager & | getTransformationManager () const
bool | operator== (const File &file) const
bool | operator!= (const File &file) const
bool | isOpen () const
bool | isClosed () const
bool | isAccessible () const
bool | isCanonized () const
bool | isReadable () const
bool | isWritable () const
bool | isExecutable () const

## Public methods for file handling

std::vector< HMOCharge > | charges_
std::vector< String > | comments_
virtual bool | open (const String &name, File::OpenMode open_mode=std::ios::in)
virtual bool | read (Surface &surface)
virtual bool | write (Surface const &surface)
virtual bool | write (Surface const &surface, AtomContainer const &ac)
void | readNodeData_ (Surface &surface)
void | readElementData_ (Surface &surface)
void | readChargeData_ ()
bool | readUntil_ (String const &pattern)
void | writeNodes_ (Surface const &surface)
void | writeElements_ (Surface const &surface)
void | writeCharges_ (AtomContainer const &ac)

## Additional Inherited Members

static Size | getSize (String name)
static Type | getType (String name, bool trace_link)
static bool | copy (String source_name, String destination_name, Size buffer_size=4096)
static bool | move (const String &source_name, const String &destination_name)
static bool | remove (String name)
static bool | rename (String old_path, String new_path)
static bool | truncate (String path, Size size=0)
static bool | createTemporaryFilename (String &temporary, const String &suffix=".TMP")
static void | enableTransformation (Transformation transformation)
static void | disableTransformation (Transformation transformation)
static bool | isTransformationEnabled (Transformation transformation)
static void | registerTransformation (const String &pattern, const String &exec)
static void | unregisterTransformation (const String &pattern)
static bool | isAccessible (String name)
static bool | isReadable (String name)
static bool | isWritable (String name)
static bool | isExecutable (String name)
Static Public Attributes inherited from BALL::File
static const OpenMode | MODE_IN
| Open for input (default).
static const OpenMode | MODE_OUT
| Open for output.
static const OpenMode | MODE_APP
| Append. Seek to end before each write operation.
static const OpenMode | MODE_BINARY
| Binary mode.
static const OpenMode | MODE_ATE
| Seek to end directly after opening.
static const OpenMode | MODE_TRUNC
| Truncate an existing file.
static const String | TRANSFORMATION_EXEC_PREFIX
| Prefix for filenames that are created through the execution of commands "exec:".
static const String | TRANSFORMATION_FILE_PREFIX
| Prefix for files (to mimick URL-like behavior) "file:".
static const String | TRANSFORMATION_FTP_PREFIX
| Prefix for FTP-transfers "ftp://".
static const String | TRANSFORMATION_HTTP_PREFIX
| Prefix for HTTP-transfer "http://".
String | line_
| buffer for the line in use
Position | line_number_
| line number in the file
bool | trim_whitespaces_
vector< char > | col_buffer_
| buffer for column parsing
String | name_
String | original_name_
OpenMode | open_mode_
bool | is_open_
bool | is_temporary_
static HashSet< String > | created_temp_filenames_
static TransformationManager | transformation_manager_
static Size | transformation_methods_

## Detailed Description

HMO mesh file format.

This class enables BALL to read and write the HMO format for polygonal meshes of surfaces. For the moment, we do not implement all variants allowed by HMO, but rather focus on triangular surface meshes. In addition, we read and write an extension to HMO (CHARGE_DATA), which contains information about positions and magnitudes of partially charged atoms in the system.

Definition at line 32 of file HMOFile.h.

## Member Enumeration Documentation

## ElementType

enum BALL::HMOFile::ElementType

Enumerator
L2 |
L3 |
T3 |
T6 |
Q4 |
Q8 |
TH4 |
TH10 |
P6 |
P15 |
H8 |
H20 |

Definition at line 51 of file HMOFile.h.

## Constructor & Destructor Documentation

## HMOFile() [1/2]

BALL::HMOFile::HMOFile | ( |  | ) |

Default constructor.

## HMOFile() [2/2]

BALL::HMOFile::HMOFile | ( | const String & | filename,
|  | File::OpenMode | open_mode = std::ios::in )

Detailed constructor

Exceptions

  Exception::FileNotFound | if the file could not be opened

## ~HMOFile()

virtual BALL::HMOFile::~HMOFile | ( |  | ) |

virtual

Destructor.

## Member Function Documentation

## clear()

virtual void BALL::HMOFile::clear | ( |  | ) |

virtual

Clear method.

Reimplemented from BALL::File.

## getCharges() [1/2]

std::vector< HMOCharge > & BALL::HMOFile::getCharges | ( |  | ) |

inline

Accessor for the vector of charges.

Definition at line 114 of file HMOFile.h.

## getCharges() [2/2]

std::vector< HMOCharge > const & BALL::HMOFile::getCharges | ( |  | ) | const

inline

Accessor for the vector of charges, const version.

Definition at line 120 of file HMOFile.h.

## getComments() [1/2]

std::vector< String > & BALL::HMOFile::getComments | ( |  | ) |

inline

Accessor for the vector of comments.

Definition at line 132 of file HMOFile.h.

## getComments() [2/2]

std::vector< String > const & BALL::HMOFile::getComments | ( |  | ) | const

inline

Accessor for the vector of comments, const version.

Definition at line 138 of file HMOFile.h.

## hasCharges()

bool BALL::HMOFile::hasCharges | ( |  | ) | const

inline

Test for the presence of charges.

Definition at line 108 of file HMOFile.h.

## hasComments()

bool BALL::HMOFile::hasComments | ( |  | ) | const

inline

Test for the presence of comments.

Definition at line 126 of file HMOFile.h.

## open()

virtual bool BALL::HMOFile::open | ( | const String & | name,
|  | File::OpenMode | open_mode = std::ios::in )

virtual

Open an HMOFile

Exceptions

  Exception::FileNotFound | if the file could not be opened

## operator==()

bool BALL::HMOFile::operator== | ( | const HMOFile & | file | ) |

Equality operator.

## read()

virtual bool BALL::HMOFile::read | ( | Surface & | surface | ) |

virtual

Read the file into a Surface

Exceptions

  Exception::ParseError | if the file was invalid

## readChargeData_()

void BALL::HMOFile::readChargeData_ | ( |  | ) |

protected

## readElementData_()

void BALL::HMOFile::readElementData_ | ( | Surface & | surface | ) |

protected

## readNodeData_()

void BALL::HMOFile::readNodeData_ | ( | Surface & | surface | ) |

protected

## readUntil_()

bool BALL::HMOFile::readUntil_ | ( | String const & | pattern | ) |

protected

## write() [1/2]

virtual bool BALL::HMOFile::write | ( | Surface const & | surface | ) |

virtual

Write a given surface to an HMO file

If the vector of comments is not empty, it is prepended to the written file. Otherwise, a generic comment is used.

Return true if the file could be written succesfully, false otherwise

## write() [2/2]

virtual bool BALL::HMOFile::write | ( | Surface const & | surface,
|  | AtomContainer const & | ac )

virtual

Write a given surface and the charges contained in a given AtomContainer to an HMO file

If the vector of comments is not empty, it is prepended to the written file. Otherwise, a generic comment is used.

Return true if the file could be written successfully, false otherwise

## writeCharges_()

void BALL::HMOFile::writeCharges_ | ( | AtomContainer const & | ac | ) |

protected

## writeElements_()

void BALL::HMOFile::writeElements_ | ( | Surface const & | surface | ) |

protected

## writeNodes_()

void BALL::HMOFile::writeNodes_ | ( | Surface const & | surface | ) |

protected

## Member Data Documentation

## charges_

std::vector<HMOCharge> BALL::HMOFile::charges_

protected

Definition at line 181 of file HMOFile.h.

## comments_

std::vector<String> BALL::HMOFile::comments_

protected

Definition at line 184 of file HMOFile.h.