32#ifndef _OGR_S57_H_INCLUDED
33#define _OGR_S57_H_INCLUDED
35#include "gdal/ogrsf_frmts.h"
53 OGRGeometry *poFilterGeom;
57 OGRFeatureDefn *poFeatureDefn;
70 OGRGeometry *GetSpatialFilter() {
return poFilterGeom; }
71 void SetSpatialFilter(OGRGeometry *);
74 OGRFeature *GetNextFeature();
75 OGRFeature *GetNextUnfilteredFeature();
76 virtual OGRFeature *GetFeature(
long nFeatureId);
78 virtual int GetFeatureCount(
int bForce = TRUE);
79 virtual OGRErr GetExtent(OGREnvelope *psExtent,
int bForce = TRUE);
81 OGRFeatureDefn *GetLayerDefn() {
return poFeatureDefn; }
83 virtual OGRErr CreateFeature(OGRFeature *poFeature);
84 int TestCapability(
const char *);
86 virtual OGRSpatialReference *GetSpatialRef();
92typedef bool (*CallBackFunction)(void);
100 OGRSpatialReference *poSpatialRef;
112 int anClassCount[MAX_CLASSES];
115 OGREnvelope oExtents;
121 void SetOptionList(
char **);
122 const char *GetOption(
const char *);
124 int Open(
const char *pszName,
int bTestOpen = FALSE,
125 CallBackFunction p_callback = NULL);
126 int OpenMin(
const char *pszName,
int bTestOpen = FALSE);
127 int Create(
const char *pszName,
char **papszOptions);
129 const char *GetName() {
return pszName; }
130 int GetLayerCount() {
return nLayers; }
131 OGRLayer *GetLayer(
int);
133 int TestCapability(
const char *);
135 OGRSpatialReference *GetSpatialRef() {
return poSpatialRef; }
137 int GetModuleCount() {
return nModules; }
139 S57Writer *GetWriter() {
return poWriter; }
144 OGRErr GetDSExtent(OGREnvelope *psExtent,
int bForce = TRUE);
155 const char *GetName();
156 OGRDataSource *Open(
const char *,
int);
157 virtual OGRDataSource *CreateDataSource(
const char *pszName,
char ** = NULL);
158 int TestCapability(
const char *);