public class TRIGeomReader extends AbstractGeomReader
GeomReader
for reading and writing geometry from/to an Cart3D ASCII
configuration TRI (TRIangulation) formatted geometry file.
Reference: http://docs.desktop.aero/docs/cart3d/index.php/Surface_Geometry
Modified by: Joseph A. Huwaldt
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
EXTENSION |
MAYBE, NO, YES
Constructor and Description |
---|
TRIGeomReader() |
Modifier and Type | Method and Description |
---|---|
int |
canReadData(java.io.File inputFile)
Method that determines if this reader can read geometry from the specified input
file.
|
boolean |
canWriteData()
Returns true.
|
java.lang.String |
getExtension()
Returns the preferred file extension (not including the ".") for files of this
GeomReader's type.
|
boolean |
isUnitAware()
This method always returns
false as TRI files do not encode the units
that are being used. |
GeomList<TriangleList> |
read(java.io.File inputFile)
Reads in a Cart3D ASCII Configuration *.tri formatted geometry file from the
specified input file and returns a
GeomList object that contains a set of
TriangleList objects (1 for each "configuration" in the *.tri file or a
single one if the *.tri file is a component file only). |
java.lang.String |
toString()
Returns a string representation of the object.
|
void |
write(java.io.File outputFile,
GeometryList geometry)
Writes out a Cart3D ASCII Configuration *.tri formatted geometry file for the
geometry contained in the supplied geometry list.
|
compareTo, getWarnings, setFileUnits
public static final java.lang.String EXTENSION
public TRIGeomReader()
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getExtension()
public int canReadData(java.io.File inputFile) throws java.io.IOException
canReadData
in interface GeomReader
canReadData
in class AbstractGeomReader
inputFile
- The input file containing the geometry to be read in.java.io.IOException
- If there is a problem reading from the specified file.public boolean canWriteData()
canWriteData
in interface GeomReader
canWriteData
in class AbstractGeomReader
public GeomList<TriangleList> read(java.io.File inputFile) throws java.io.IOException
GeomList
object that contains a set of
TriangleList
objects (1 for each "configuration" in the *.tri file or a
single one if the *.tri file is a component file only).
WARNING: This file format is not unit aware. You must set the units to be used by calling "setFileUnits()" before calling this method!
read
in interface GeomReader
read
in class AbstractGeomReader
inputFile
- The input file containing the geometry to be read in. May not be
null.GeomList
object containing the geometry read in from the file. If
the file has no geometry in it, then this list will have no triangles in it
(will have a size() of zero).java.io.IOException
- If there is a problem reading the specified file.AbstractGeomReader.setFileUnits(javax.measure.unit.Unit)
public void write(java.io.File outputFile, GeometryList geometry) throws java.io.IOException
The user data key "TRI_TOL" can optionally be set to a Parameter containing the tolerance to use when determining if vertices are coincident. If not supplied, a default tolerance will be used that essentially requires identical vertex coordinates in order to be coincident.
WARNING: This format is not unit aware. The geometry will be written out in whatever its current units are! Make sure to convert to the desired units for the file before calling this method.
write
in interface GeomReader
write
in class AbstractGeomReader
outputFile
- The output file to which the geometry is to be written. May not
be null.geometry
- The list of triangle or point array geometry to be written out.
May not be null.java.io.IOException
- If there is a problem writing to the specified file.public boolean isUnitAware()
false
as TRI files do not encode the units
that are being used. You must call setFileUnits
to set the units being
used before reading from a file of this format.AbstractGeomReader.setFileUnits(javax.measure.unit.Unit)