147 OGRFeatureDefn **papoFDefnList;
177 OGRFeature *poMultiPoint;
179 void ClearPendingMultiPoint();
180 OGRFeature *NextPendingMultiPoint();
182 OGRFeature *AssembleFeature(DDFRecord *, OGRFeatureDefn *);
184 void ApplyObjectClassAttributes(DDFRecord *, OGRFeature *);
185 void GenerateLNAMAndRefs(DDFRecord *, OGRFeature *);
186 void GenerateFSPTAttributes(DDFRecord *, OGRFeature *);
188 void AssembleSoundingGeometry(DDFRecord *, OGRFeature *);
189 void AssemblePointGeometry(DDFRecord *, OGRFeature *);
190 void AssembleLineGeometry(DDFRecord *, OGRFeature *);
191 void AssembleAreaGeometry(DDFRecord *, OGRFeature *);
193 OGRFeatureDefn *FindFDefn(DDFRecord *);
194 int ParseName(DDFField *,
int = 0,
int * = NULL);
196 int ApplyRecordUpdate(DDFRecord *, DDFRecord *);
198 int bMissingWarningIssued;
199 int bAttrWarningIssued;
205 S57Reader(
const char *);
208 int FetchPoint(
int,
int,
double *,
double *,
double * = NULL,
int * = NULL);
211 void SetOptions(
char **);
212 int GetOptionFlags() {
return nOptionFlags; }
214 int Open(
int bTestOpen);
216 DDFModule *GetModule() {
return poModule; }
217 const char *GetDSNM() {
return pszDSNM; }
218 int GetCSCL() {
return nCSCL; }
220 int Ingest(CallBackFunction pcallback = NULL);
221 int ApplyUpdates(DDFModule *,
int);
222 int FindAndApplyUpdates(
const char *pszPath = NULL);
225 OGRFeature *ReadNextFeature(OGRFeatureDefn * = NULL);
226 OGRFeature *ReadFeature(
int nFID, OGRFeatureDefn * = NULL);
227 OGRFeature *ReadVector(
int nFID,
int nRCNM);
229 int GetNextFEIndex(
int nRCNM = 100);
230 void SetNextFEIndex(
int nNewIndex,
int nRCNM = 100);
232 void AddFeatureDefn(OGRFeatureDefn *);
234 int CollectClassList(
int *,
int);
236 OGRErr GetExtent(OGREnvelope *psExtent,
int bForce);
238 int GetNall() {
return Nall; }
239 int GetAall() {
return Aall; }
241 int GetFeatureCount() {
return oFE_Index.GetCount(); }
254 int CreateS57File(
const char *pszFilename);
257 int WriteGeometry(DDFRecord *,
int,
double *,
double *,
double *);
258 int WriteATTF(DDFRecord *, OGRFeature *);
259 int WritePrimitive(OGRFeature *poFeature);
260 int WriteCompleteFeature(OGRFeature *poFeature);
261 int WriteDSID(
const char *pszDSNM = NULL,
const char *pszISDT = NULL,
262 const char *pszSTED = NULL,
int nAGEN = 0,
263 const char *pszCOMT = NULL);
264 int WriteDSPM(
int nScale = 0);
272 DDFRecord *MakeRecord();