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 GetExtent(OGREnvelope *psExtent, int bForce = TRUE) override; 59 : 60 0 : virtual OGRErr GetExtent(int iGeomField, OGREnvelope *psExtent, 61 : int bForce) override 62 : { 63 0 : return OGRLayer::GetExtent(iGeomField, psExtent, bForce); 64 : } 65 : 66 : int TestCapability(const char *pszCap) override; 67 : // const char* GetInfo( const char* pszTag ); 68 : OGRErr CreateField(const OGRFieldDefn *poField, 69 : int bApproxOK = TRUE) override; 70 : OGRErr SyncToDisk() override; 71 : // OGRStyleTable* GetStyleTable( ); 72 : // void SetStyleTableDirectly( OGRStyleTable* 73 : // poStyleTable ); void SetStyleTable( OGRStyleTable* 74 : // poStyleTable ); const char* GetFIDColumn( ); const char* 75 : // GetGeometryColumn( ); 76 : 77 : void SetSpatialRef(OGRSpatialReference *poSpatialRef); 78 : }; 79 : 80 : #endif /* GEOCONCEPT_OGR_LAYER_H_INCLUDED_ */