#include <DataFileIF.H>

The data can be read from standard input or a named file. The data can have no header, an ASCII header containing the number of grid points in each direction:
numX numY [numZ]
or an ASCII header containing the above information followed by the data spacing in each direction and the origin of the data - both in physical coordinates:
deltaX deltaY [deltaZ]
originX originY [originZ]
Following any header is the data either in ASCII or binary. The data is assumed to vary most rapidly in the x coordinate, then the y coordinate, and, finally, in the z coordinate (for 3D data). Public Types | |
| enum | DataType { Invalid = -1, ASCII = 0, Binary, NUMDATATYPES } |
Public Member Functions | |
| DataFileIF (const DataFileIF::DataType &a_dataType, const Real &a_value, const bool &a_inside, const bool &a_useCubicInterp=false) | |
| DataFileIF (const char *const a_filename, const DataFileIF::DataType &a_dataType, const Real &a_value, const bool &a_inside, const bool &a_useCubicInterp=false) | |
| DataFileIF (const DataFileIF::DataType &a_dataType, const RealVect &a_spacing, const RealVect &a_origin, const Real &a_value, const bool &a_inside, const bool &a_useCubicInterp=false) | |
| DataFileIF (const char *const a_filename, const DataFileIF::DataType &a_dataType, const RealVect &a_spacing, const RealVect &a_origin, const Real &a_value, const bool &a_inside, const bool &a_useCubicInterp=false) | |
| DataFileIF (const DataFileIF::DataType &a_dataType, const IntVect &a_num, const RealVect &a_spacing, const RealVect &a_origin, const Real &a_value, const bool &a_inside, const bool &a_useCubicInterp=false) | |
| DataFileIF (const char *const a_filename, const DataFileIF::DataType &a_dataType, const IntVect &a_num, const RealVect &a_spacing, const RealVect &a_origin, const Real &a_value, const bool &a_inside, const bool &a_useCubicInterp=false) | |
| DataFileIF (const DataFileIF &a_inputIF) | |
| Copy constructor. | |
| DataFileIF (const RefCountedPtr< FArrayBox > a_ascii_data, const RefCountedPtr< BaseFab< unsigned char > > a_binary_data, const Real &a_noDataValue, const IntVect &a_num, const RealVect &a_spacing, const RealVect &a_origin, const Real &a_value, const bool &a_inside, const bool &a_useCubicInterp=false) | |
| virtual | ~DataFileIF () |
| Destructor. | |
| virtual void | GetHeader (IntVect &a_num, RealVect &a_spacing, RealVect &a_origin) const |
| virtual void | GetParams (Real &a_value, bool &a_inside, bool &a_useCubicInterp) const |
| virtual void | SetParams (const Real &a_value, const bool &a_inside, const bool &a_useCubicInterp=false) |
| virtual void | SetNoDataValue (const Real &a_value) |
| virtual Real | value (const RealVect &a_point) const |
| virtual Real | value (const IndexTM< Real, GLOBALDIM > &a_point) const |
| virtual Real | value (const IndexTM< int, GLOBALDIM > &a_partialDerivative, const IndexTM< Real, GLOBALDIM > &a_point) const |
| virtual BaseIF * | newImplicitFunction () const |
| void | GetFullHeader (IntVect &a_num, RealVect &a_spacing, RealVect &a_origin) |
| RefCountedPtr< FArrayBox > | GetAsciiData (void) |
| RefCountedPtr< BaseFab < unsigned char > > | GetBinaryData (void) |
Protected Member Functions | |
| void | OpenFile (ifstream &a_file, const char *const a_filename) |
| void | CloseFile (ifstream &a_file) |
| void | ReadMinHeader (IntVect &a_num, istream &a_file) |
| void | ReadFullHeader (IntVect &a_num, RealVect &a_spacing, RealVect &a_origin, istream &a_file) |
| void | ReadData (Real &a_maxValue, istream &a_file, const DataFileIF::DataType &a_dataType, const IntVect &a_num) |
| void | MakeCorners (void) |
Protected Attributes | |
| IntVect | m_num |
| RealVect | m_spacing |
| RealVect | m_origin |
| Real | m_value |
| bool | m_inside |
| RefCountedPtr< FArrayBox > | m_ascii_data |
| RefCountedPtr< BaseFab < unsigned char > > | m_binary_data |
| Real | m_noDataValue |
| IntVectSet | m_cornersLinear |
| IntVectSet | m_cornersCubic |
| bool | m_useCubicInterp |
Private Member Functions | |
| DataFileIF () | |
| void | operator= (const DataFileIF &a_inputIF) |
| enum DataFileIF::DataType |
| DataFileIF::DataFileIF | ( | const DataFileIF::DataType & | a_dataType, | |
| const Real & | a_value, | |||
| const bool & | a_inside, | |||
| const bool & | a_useCubicInterp = false | |||
| ) |
Constructor specifying the form of the data (a_dataType - ASCII or Binary), a level set value (a_value), and whether inside the domain is where data is less than the level set value (a_inside). Data is read from standard input and a complete ASCII header (see above) is excepted.
| DataFileIF::DataFileIF | ( | const char *const | a_filename, | |
| const DataFileIF::DataType & | a_dataType, | |||
| const Real & | a_value, | |||
| const bool & | a_inside, | |||
| const bool & | a_useCubicInterp = false | |||
| ) |
Constructor specifying filename (a_filename), the form of the data (a_dataType - ASCII or Binary), level set value (a_value), and whether inside the domain is where data is less than the level set value (a_inside). Data is read from the file named and a complete ASCII header (see above) is expected.
| DataFileIF::DataFileIF | ( | const DataFileIF::DataType & | a_dataType, | |
| const RealVect & | a_spacing, | |||
| const RealVect & | a_origin, | |||
| const Real & | a_value, | |||
| const bool & | a_inside, | |||
| const bool & | a_useCubicInterp = false | |||
| ) |
Constructor specifying the form of the data (a_dataType - ASCII or Binary), the spacing (a_spacing), the physical origin (a_origin), a level set value (a_value), and whether inside the domain is where data is less than the level set value (a_inside). Data is read from standard input and an ASCII header (see above) containing the number of grid points in each direction is excepted.
| DataFileIF::DataFileIF | ( | const char *const | a_filename, | |
| const DataFileIF::DataType & | a_dataType, | |||
| const RealVect & | a_spacing, | |||
| const RealVect & | a_origin, | |||
| const Real & | a_value, | |||
| const bool & | a_inside, | |||
| const bool & | a_useCubicInterp = false | |||
| ) |
Constructor specifying filename (a_filename), the form of the data (a_dataType - ASCII or Binary), the spacing (a_spacing), the physical origin (a_origin), a level set value (a_value), and whether inside the domain is where data is less than the level set value (a_inside). Data is read from the file named and an ASCII header (see above) containing the number of grid points in each direction is excepted.
| DataFileIF::DataFileIF | ( | const DataFileIF::DataType & | a_dataType, | |
| const IntVect & | a_num, | |||
| const RealVect & | a_spacing, | |||
| const RealVect & | a_origin, | |||
| const Real & | a_value, | |||
| const bool & | a_inside, | |||
| const bool & | a_useCubicInterp = false | |||
| ) |
Constructor specifying the form of the data (a_dataType - ASCII or Binary), the spacing (a_spacing), the physical origin (a_origin), the number of grid points in each direction (a_num), a level set value (a_value), and whether inside the domain is where data is less than the level set value (a_inside). Data is read from standard input and no ASCII header (see above) is excepted.
| DataFileIF::DataFileIF | ( | const char *const | a_filename, | |
| const DataFileIF::DataType & | a_dataType, | |||
| const IntVect & | a_num, | |||
| const RealVect & | a_spacing, | |||
| const RealVect & | a_origin, | |||
| const Real & | a_value, | |||
| const bool & | a_inside, | |||
| const bool & | a_useCubicInterp = false | |||
| ) |
Constructor specifying filename (a_filename), the form of the data (a_dataType - ASCII or Binary), the spacing (a_spacing), the physical origin (a_origin), the number of grid points in each direction (a_num), a level set value (a_value), and whether inside the domain is where data is less than the level set value (a_inside). Data is read from the file named and no ASCII header (see above) is excepted.
| DataFileIF::DataFileIF | ( | const DataFileIF & | a_inputIF | ) |
Copy constructor.
| DataFileIF::DataFileIF | ( | const RefCountedPtr< FArrayBox > | a_ascii_data, | |
| const RefCountedPtr< BaseFab< unsigned char > > | a_binary_data, | |||
| const Real & | a_noDataValue, | |||
| const IntVect & | a_num, | |||
| const RealVect & | a_spacing, | |||
| const RealVect & | a_origin, | |||
| const Real & | a_value, | |||
| const bool & | a_inside, | |||
| const bool & | a_useCubicInterp = false | |||
| ) |
This is used by the factory (see below) to create a new object. All objects created in this way share a refcounted pointer to their data.
Constructor specifying a refcounted pointer to the data (a_ascii_data or a_binary_data), the no data value (a_noDataValue), the spacing (a_spacing), the physical origin (a_origin), the number of grid points in each direction (a_num), a level set value (a_value), and whether inside the domain is where data is less than the level set value (a_inside).
| virtual DataFileIF::~DataFileIF | ( | ) | [virtual] |
Destructor.
| DataFileIF::DataFileIF | ( | ) | [inline, private] |
References MayDay::Abort().
| virtual void DataFileIF::GetHeader | ( | IntVect & | a_num, | |
| RealVect & | a_spacing, | |||
| RealVect & | a_origin | |||
| ) | const [virtual] |
Return the header information
| virtual void DataFileIF::GetParams | ( | Real & | a_value, | |
| bool & | a_inside, | |||
| bool & | a_useCubicInterp | |||
| ) | const [virtual] |
Return the parameter information
| virtual void DataFileIF::SetParams | ( | const Real & | a_value, | |
| const bool & | a_inside, | |||
| const bool & | a_useCubicInterp = false | |||
| ) | [virtual] |
Set the parameter information
| virtual void DataFileIF::SetNoDataValue | ( | const Real & | a_value | ) | [virtual] |
value to use when we are outside
Return the value of the function at a_point using trilinear interpolation of the data. If a_point is outside the data then return the maximum data value.
Implements BaseIF.
Return the value of the function at a_point (of type INdexTM).
Reimplemented from BaseIF.
| virtual Real DataFileIF::value | ( | const IndexTM< int, GLOBALDIM > & | a_partialDerivative, | |
| const IndexTM< Real, GLOBALDIM > & | a_point | |||
| ) | const [virtual] |
Reimplemented from BaseIF.
| virtual BaseIF* DataFileIF::newImplicitFunction | ( | ) | const [virtual] |
Return a newly allocated derived class. The responsibility for deleting the memory is left to the calling function.
Implements BaseIF.
| RefCountedPtr<FArrayBox> DataFileIF::GetAsciiData | ( | void | ) | [inline] |
References m_ascii_data.
| RefCountedPtr<BaseFab<unsigned char> > DataFileIF::GetBinaryData | ( | void | ) | [inline] |
References m_binary_data.
| void DataFileIF::OpenFile | ( | ifstream & | a_file, | |
| const char *const | a_filename | |||
| ) | [protected] |
| void DataFileIF::CloseFile | ( | ifstream & | a_file | ) | [protected] |
| void DataFileIF::ReadMinHeader | ( | IntVect & | a_num, | |
| istream & | a_file | |||
| ) | [protected] |
| void DataFileIF::ReadFullHeader | ( | IntVect & | a_num, | |
| RealVect & | a_spacing, | |||
| RealVect & | a_origin, | |||
| istream & | a_file | |||
| ) | [protected] |
| void DataFileIF::ReadData | ( | Real & | a_maxValue, | |
| istream & | a_file, | |||
| const DataFileIF::DataType & | a_dataType, | |||
| const IntVect & | a_num | |||
| ) | [protected] |
| void DataFileIF::MakeCorners | ( | void | ) | [protected] |
| void DataFileIF::operator= | ( | const DataFileIF & | a_inputIF | ) | [inline, private] |
References MayDay::Abort().
IntVect DataFileIF::m_num [protected] |
Referenced by GetFullHeader().
RealVect DataFileIF::m_spacing [protected] |
Referenced by GetFullHeader().
RealVect DataFileIF::m_origin [protected] |
Referenced by GetFullHeader().
Real DataFileIF::m_value [protected] |
bool DataFileIF::m_inside [protected] |
RefCountedPtr<FArrayBox> DataFileIF::m_ascii_data [protected] |
Referenced by GetAsciiData().
RefCountedPtr<BaseFab<unsigned char> > DataFileIF::m_binary_data [protected] |
Referenced by GetBinaryData().
Real DataFileIF::m_noDataValue [protected] |
IntVectSet DataFileIF::m_cornersLinear [protected] |
IntVectSet DataFileIF::m_cornersCubic [protected] |
bool DataFileIF::m_useCubicInterp [protected] |
1.5.5