This class is used to read an S57 file or an S57 catalog file. More...
#include <ilviews/maps/format/s57/s57reader.h>
Public Member Functions | |
IlvS57Reader (IlvDisplay *display) | |
Initializes a new instance of the reader. More... | |
IlvFRIDRecord * | getFeature (IlInt index) |
Returns a read feature. More... | |
IlInt | getFeatureCount () |
Returns the feature count. More... | |
IlvFRIDRecord ** | getFeatures () |
Returns an array of the read features. More... | |
void | readCatalog (std::ifstream *stream, const IlString &dir, IlBoolean skipNon000Files) |
Reads an S57 catalog file. More... | |
IlvDSIDRecord * | readFile (std::ifstream *stream) |
Reads an S57 file which is not a catalog. More... | |
void | reset () |
Reset the reader. More... | |
This class is used to read an S57 file or an S57 catalog file.
Library: ilvmaps
This class reads an S57 file or an S57 catalog file to load into memory the different features define in the file (or files of the catalog). The IlvS57Loader
class uses these S57 features to determine the geometry, then builds an IlvMapFeature
object which will be used by a renderer object to create an IlvGraphic
object that you display in an IlvManager
for example.
Note: The reader uses different files like S57Attributes.txt
or S57Values.txt
which are located into ILVHOME/data/maps/s57
.
IlvS57Loader
, IlvS57Renderer
. IlvS57Reader::IlvS57Reader | ( | IlvDisplay * | display | ) |
Initializes a new instance of the reader.
display | The display to be used. |
IlvFRIDRecord* IlvS57Reader::getFeature | ( | IlInt | index | ) |
Returns a read feature.
index | The feature index. |
0
. If you wish to to keep the pointer for future use, you need to use the lock()
function to lock it and the unLock()
function to release it. IlInt IlvS57Reader::getFeatureCount | ( | ) |
Returns the feature count.
IlvFRIDRecord** IlvS57Reader::getFeatures | ( | ) |
Returns an array of the read features.
void IlvS57Reader::readCatalog | ( | std::ifstream * | stream, |
const IlString & | dir, | ||
IlBoolean | skipNon000Files | ||
) |
Reads an S57 catalog file.
Reads an S57 catalog file which is a set of S57 files where each S57 file contains a set of S57 features.
stream | The stream which is associated with the catalog file. |
dir | The directory where the catalog file is located. |
skipNon000Files | If IlTrue , the S57 files which have no 000 extension are ignored. |
IlvDSIDRecord* IlvS57Reader::readFile | ( | std::ifstream * | stream | ) |
Reads an S57 file which is not a catalog.
stream | The stream which is associated with the S57 file. |
void IlvS57Reader::reset | ( | ) |
Reset the reader.
If you want to use the same reader to read several catalogs, you need to call this function if you want to remove all information from the previous catalog.