Hi On 01/26/2016 10:32 PM, Nyall Dawson wrote: > On 27 January 2016 at 03:31, Sandro Santilli <[email protected]> wrote: >> On Tue, Jan 26, 2016 at 05:24:37PM +0100, Marco Hugentobler wrote: >> That's a good news, thanks. >> It would help to have a protocol defined to more easily tag >> and identify which classes are and are not part of the API. By default anything that is LIB_EXPORTed should be considered stable API. There is already a tag which should catch most of the exceptions:
@note not available in Python bindings If required another one can be added. FWIW, the main goal should be that people writing code against the API do not need to update their code with a minor version change. Things available in Python should be treated extra-carefully. Anything not LIB_EXPORTed (or private) should be considered an implementation detail, For anything in between it has to be considered carefully. Whenever something needs to be changed it should be first evaluated if it is possible to leave the current API in place (optionally deprecated). Exceptions should be treated on a case-by-case basis. Does this sound reasonable? >> >> For instance, I'm now seeing QgsClipper::clippedLineWKB which >> also takes a pointer to unsigned char and no indication of >> its length (again, expecting a WKB). > Thanks for looking into this - the current situation is horrible. For > instance, there's duplicate WKB parsers present in: > > - QgsSymbolV2::_getPolygon and QgsSymbolV2::_getLineString > - QgsClipper::clippedLineWKB > - QgsDistanceArea::measurePolygon (although I'm fairly certain that > method isn't used anywhere and should just be marked deprecated) > - the simplification code > > There's a lot of inefficiencies happening here... eg rendering > features requires encoding the QGIS representation of the geometry as > a wkb, just to be immediately decoded from the wkb back to a list of > points.... arggg! I think there are some different stories: * Places like the rendering where the internal data structures should be used instead of WKB * Places like simplification that were explicitly implemented in WKB to be able to work on the data before it's converted to an internal structure for performance reasons. Regards, Matthias > See also the discussion in https://github.com/qgis/qgis3.0_api/issues/15 > > Nyall > > > > > >> --strk; >> _______________________________________________ >> Qgis-developer mailing list >> [email protected] >> List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer >> Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer > _______________________________________________ > Qgis-developer mailing list > [email protected] > List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer > Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer -- Matthias Kuhn OPENGIS.ch - https://www.opengis.ch Spatial • (Q)GIS • PostGIS • Open Source
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Qgis-developer mailing list [email protected] List info: http://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: http://lists.osgeo.org/mailman/listinfo/qgis-developer
