BALL  1.4.79
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Classes | Protected Member Functions | Protected Attributes | List of all members
BALL::HMOFile Class Reference

#include <BALL/FORMAT/HMOFile.h>

Inheritance diagram for BALL::HMOFile:
BALL::LineBasedFile BALL::File

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. More...
 
 HMOFile (const String &filename, File::OpenMode open_mode=std::ios::in)
 
virtual ~HMOFile ()
 Destructor. More...
 
Assignment
virtual void clear ()
 Clear method. More...
 
Predicates
bool operator== (const HMOFile &file)
 Equality operator. More...
 
Accessors
bool hasCharges () const
 Test for the presence of charges. More...
 
std::vector< HMOCharge > & getCharges ()
 Accessor for the vector of charges. More...
 
std::vector< HMOCharge > const & getCharges () const
 Accessor for the vector of charges, const version. More...
 
bool hasComments () const
 Test for the presence of comments. More...
 
std::vector< String > & getComments ()
 Accessor for the vector of comments. More...
 
std::vector< String > const & getComments () const
 Accessor for the vector of comments, const version. More...
 
Public methods for file handling
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)
 
- Public Member Functions inherited from BALL::LineBasedFile
 LineBasedFile ()
 Default constructor. More...
 
 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 LineBasedFileoperator= (const LineBasedFile &file)
 
Position getLineNumber () const
 Get the last line number in the file. More...
 
const StringgetLine () const
 Return the current line. More...
 
StringgetLine ()
 Return the current line. More...
 
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. More...
 
bool has (const String &text) const
 Return true if the current line contains text. More...
 
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. More...
 
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 StringgetName () const
 
void setName (const String &name)
 
const StringgetOriginalName () 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 ()
 
TransformationManagergetTransformationManager ()
 
const TransformationManagergetTransformationManager () 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
 

Protected Member Functions

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)
 

Protected Attributes

std::vector< HMOChargecharges_
 
std::vector< Stringcomments_
 
- Protected Attributes inherited from BALL::LineBasedFile
String line_
 buffer for the line in use More...
 
Position line_number_
 line number in the file More...
 
bool trim_whitespaces_
 
vector< char > col_buffer_
 buffer for column parsing More...
 
- Protected Attributes inherited from BALL::File
String name_
 
String original_name_
 
OpenMode open_mode_
 
bool is_open_
 
bool is_temporary_
 

Additional Inherited Members

- Static Public Member Functions inherited from BALL::File
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) More...
 
static const OpenMode MODE_OUT
 Open for output. More...
 
static const OpenMode MODE_APP
 Append. Seek to end before each write operation. More...
 
static const OpenMode MODE_BINARY
 Binary mode. More...
 
static const OpenMode MODE_ATE
 Seek to end directly after opening. More...
 
static const OpenMode MODE_TRUNC
 Truncate an existing file. More...
 
static const String TRANSFORMATION_EXEC_PREFIX
 Prefix for filenames that are created through the execution of commands "exec:". More...
 
static const String TRANSFORMATION_FILE_PREFIX
 Prefix for files (to mimick URL-like behavior) "file:". More...
 
static const String TRANSFORMATION_FTP_PREFIX
 Prefix for FTP-transfers "ftp://". More...
 
static const String TRANSFORMATION_HTTP_PREFIX
 Prefix for HTTP-transfer "http://". More...
 
- Static Protected Attributes inherited from BALL::File
static HashSet< Stringcreated_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

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

Definition at line 51 of file HMOFile.h.

Constructor & Destructor Documentation

BALL::HMOFile::HMOFile ( )

Default constructor.

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

Detailed constructor

Exceptions
Exception::FileNotFoundif the file could not be opened
virtual BALL::HMOFile::~HMOFile ( )
virtual

Destructor.

Member Function Documentation

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

Clear method.

Reimplemented from BALL::File.

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

Accessor for the vector of charges.

Definition at line 114 of file HMOFile.h.

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.

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

Accessor for the vector of comments.

Definition at line 132 of file HMOFile.h.

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.

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

Test for the presence of charges.

Definition at line 108 of file HMOFile.h.

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

Test for the presence of comments.

Definition at line 126 of file HMOFile.h.

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

Open an HMOFile

Exceptions
Exception::FileNotFoundif the file could not be opened
bool BALL::HMOFile::operator== ( const HMOFile file)

Equality operator.

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

Read the file into a Surface

Exceptions
Exception::ParseErrorif the file was invalid
void BALL::HMOFile::readChargeData_ ( )
protected
void BALL::HMOFile::readElementData_ ( Surface surface)
protected
void BALL::HMOFile::readNodeData_ ( Surface surface)
protected
bool BALL::HMOFile::readUntil_ ( String const &  pattern)
protected
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

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

void BALL::HMOFile::writeCharges_ ( AtomContainer const &  ac)
protected
void BALL::HMOFile::writeElements_ ( Surface const &  surface)
protected
void BALL::HMOFile::writeNodes_ ( Surface const &  surface)
protected

Member Data Documentation

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

Definition at line 181 of file HMOFile.h.

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

Definition at line 184 of file HMOFile.h.