[geos-devel] Interface consistency
strk at keybit.net
Tue Jun 15 04:39:21 EDT 2004
Before releasing next GEOS I'd like to fix interface inconsistencies.
Namely some geometry constructors take ownership over passed
o Polygon::Polygon(LinearRing *shell, vector<Geoemtry *> *holes)
will not copy shell and holes, and destroy it at
polygon destruction time.
o GeometryCollection::GeometryCollection(const vector<Geometry *>*geoms)
will copy vector, but not geoms, which it will destroy
at GeometryCollection destruction time.
o MultiGEOM::MultiGEOM(const vector<GEOM *>*geoms)
see GeoemtryCollection constructor
Other geometry constructors all copy their arguments. I think this needs
to be fixed to "all-constructors-copy-arguments". This will break existing
applications, but if we make the change now I don't think there will be
so much applications involved.
More information about the geos-devel