Line data Source code
1 : /********************************************************************** 2 : * $Id: ogrgeoconceptlayer.h$ 3 : * 4 : * Name: ogrgeoconceptlayer.h 5 : * Project: OpenGIS Simple Features Reference Implementation 6 : * Purpose: Implements OGRGeoconceptLayer class. 7 : * Language: C++ 8 : * 9 : ********************************************************************** 10 : * Copyright (c) 2007, Geoconcept and IGN 11 : * 12 : * SPDX-License-Identifier: MIT 13 : **********************************************************************/ 14 : 15 : #include "ogrsf_frmts.h" 16 : #include "geoconcept.h" 17 : 18 : #ifndef GEOCONCEPT_OGR_LAYER_H_INCLUDED_ 19 : #define GEOCONCEPT_OGR_LAYER_H_INCLUDED_ 20 : 21 : /**********************************************************************/ 22 : /* OGCGeoconceptLayer Class */ 23 : /**********************************************************************/ 24 : class OGRGeoconceptLayer final : public OGRLayer 25 : { 26 : private: 27 : OGRFeatureDefn *_poFeatureDefn; 28 : 29 : GCSubType *_gcFeature; 30 : 31 : public: 32 : OGRGeoconceptLayer(); 33 : virtual ~OGRGeoconceptLayer(); 34 : 35 : OGRErr Open(GCSubType *Subclass); 36 : 37 : // OGRGeometry* GetSpatialFilter( ); 38 : // void SetSpatialFilter( OGRGeometry* poGeomIn ); 39 : // void SetSpatialFilterRect( double dfMinX, double 40 : // dfMinY, double dfMaxX, double dfMaxY ); OGRErr SetAttributeFilter( 41 : // const char* pszQuery ); 42 : void ResetReading() override; 43 : OGRFeature *GetNextFeature() override; 44 : // OGRErr SetNextByIndex( GIntBig nIndex ); 45 : 46 : // OGRFeature* GetFeature( GIntBig nFID ); 47 : // OGRErr ISetFeature( OGRFeature* poFeature ); 48 : // OGRErr DeleteFeature( GIntBig nFID ); 49 : OGRErr ICreateFeature(OGRFeature *poFeature) override; 50 : 51 26 : OGRFeatureDefn *GetLayerDefn() override 52 : { 53 26 : return _poFeatureDefn; 54 : } // FIXME 55 : 56 : OGRSpatialReference *GetSpatialRef() override; 57 : GIntBig GetFeatureCount(int bForce = TRUE) override; 58 : OGRErr IGetExtent(int iGeomField, OGREnvelope *psExtent, 59 : bool bForce) override; 60 : 61 : int TestCapability(const char *pszCap) override; 62 : // const char* GetInfo( const char* pszTag ); 63 : OGRErr CreateField(const OGRFieldDefn *poField, 64 : int bApproxOK = TRUE) override; 65 : OGRErr SyncToDisk() override; 66 : // OGRStyleTable* GetStyleTable( ); 67 : // void SetStyleTableDirectly( OGRStyleTable* 68 : // poStyleTable ); void SetStyleTable( OGRStyleTable* 69 : // poStyleTable ); const char* GetFIDColumn( ); const char* 70 : // GetGeometryColumn( ); 71 : 72 : void SetSpatialRef(OGRSpatialReference *poSpatialRef); 73 : }; 74 : 75 : #endif /* GEOCONCEPT_OGR_LAYER_H_INCLUDED_ */