Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Foreign File Formats

Reading and writing foreign file formats. More...

Functions

NContainer * regina::readDehydrationList (const char *filename, unsigned colDehydrations=0, int colLabels=-1, unsigned long ignoreLines=0)
 Reads a list of dehydrated triangulations from the given text file.

NTriangulation * regina::readSnapPea (const char *filename)
 Reads a triangulation from the given SnapPea file.

bool regina::writeSnapPea (const char *filename, NTriangulation &tri)
 Writes the given triangulation to the given file in SnapPea format.

std::string regina::stringToToken (const char *str)
 Returns a token derived from the given string.

std::string regina::stringToToken (const std::string &str)
 Returns a token derived from the given string.


Detailed Description

Reading and writing foreign file formats.


Function Documentation

NContainer* readDehydrationList const char *  filename,
unsigned  colDehydrations = 0,
int  colLabels = -1,
unsigned long  ignoreLines = 0
 

Reads a list of dehydrated triangulations from the given text file.

The file should contain one dehydration string per line. These strings will be rehydrated as described in NTriangulation::insertRehydration().

A newly allocated container will be returned; the imported triangulations will be inserted as children of this container. The container will not be assigned a label. The individual triangulations will be assigned labels according to the parameter colLabels.

If any dehydrations strings are invalid, these will be recorded in an additional text packet that will be the last child of the returned container.

If an I/O error occurred while trying to read the given file, 0 will be returned.

In its simplest form, the text file can simply contain one dehydration string per line and nothing else. However, more complex formats are allowed. In particular, by passing appropriate values for the arguments colDehydrations and colLabels, the dehydration strings and triangulation packet labels can be taken from arbitrary columns of the text file. Columns are considered to be separated by whitespace and are numbered beginning at 0.

Parameters:
filename the name of the text file from which to read.
colDehydrations the column of the text file containing the dehydration strings.
colLabels the column of the text file containing the triangulation packet labels. If this is negative then the dehydration strings themselves will be used as packet labels.
ignoreLines the number of lines at the beginning of the text file that should be ignored completely.
Returns:
a new container as described above, or 0 if an I/O error occurred whilst reading the given file.

NTriangulation* readSnapPea const char *  filename  ) 
 

Reads a triangulation from the given SnapPea file.

A newly allocated triangulation will be returned; it is the user's responsibility to deallocate this when it is finished with.

The new triangulation will have a packet label corresponding to the manifold name stored in the SnapPea file.

If the file could not be read or if the data was not in the correct format, 0 will be returned.

Precondition:
The first two lines of the SnapPea file each contain at most 1000 characters. The first line is the type of file which should simply be `` Triangulation''. The second line is the name of the manifold.
Parameters:
filename the name of the SnapPea file from which to read.
Returns:
a new triangulation containing the data read from the SnapPea file, or 0 on error.

std::string stringToToken const std::string &  str  ) 
 

Returns a token derived from the given string.

All whitespace characters in the given string will be replaced with an underscore.

Parameters:
str the string on which to base the token.
Returns:
the corresponding token.

std::string stringToToken const char *  str  ) 
 

Returns a token derived from the given string.

All whitespace characters in the given string will be replaced with an underscore.

Parameters:
str the string on which to base the token.
Returns:
the corresponding token.

bool writeSnapPea const char *  filename,
NTriangulation &  tri
 

Writes the given triangulation to the given file in SnapPea format.

All information aside from tetrahedron gluings will be flagged as unknown for SnapPea to recalculate. The manifold name written in the file will be derived from the packet label.

Precondition:
The given triangulation is not invalid.
Parameters:
filename the name of the SnapPea file to which to write.
tri the triangulation to write to the SnapPea file.
Returns:
true if the export was successful, or false otherwise.


Copyright © 1999-2003, Ben Burton
This software is released under the GNU General Public License.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@debian.org).