[geos-devel] Const-correcteness changes

Manuel Prieto Villegas mprieto at dap.es
Mon Mar 1 02:57:19 EST 2004


Hi all,

I have been doing some changes to the signatures of some methods for 
const-correctness. Perhaps anyone could test (I am using only some of 
the changes) and apply them to geos-cvs.

Here are the affected methods. 

// file headers/geom.h

class SFSGeometry {
// ...
public:
	virtual Geometry* getEnvelope() const=0;
	virtual bool equals(const Geometry *other) const=0;
	virtual bool disjoint(const Geometry *other) const=0;
	virtual bool intersects(const Geometry *other) const=0;
	virtual bool touches(const Geometry *other) const=0;
	virtual bool crosses(const Geometry *other) const=0;
	virtual bool within(const Geometry *other) const=0;
	virtual bool contains(const Geometry *other) const=0;
	virtual bool overlaps(const Geometry *other) const=0;
	virtual bool relate(const Geometry *other, string intersectionPattern) const=0;
	virtual IntersectionMatrix* relate(const Geometry *other) const=0;
	virtual Geometry* buffer(double distance) const=0;
	virtual Geometry* intersection(const Geometry *other) const=0;
	virtual Geometry* Union(const Geometry *other) const=0;
	virtual Geometry* difference(const Geometry *other) const=0;
	virtual Geometry* symDifference(const Geometry *other) const=0;
	virtual string toText() const=0;
// ...
};

class Geometry: public SFSGeometry {
// ... 
public:
	virtual Geometry* getEnvelope() const;
	virtual bool disjoint(const Geometry *g) const;
	virtual bool touches(const Geometry *g) const;
	virtual bool intersects(const Geometry *g) const;
	virtual bool crosses(const Geometry *g) const;
	virtual bool within(const Geometry *g) const;
	virtual bool contains(const Geometry *g) const;
	virtual bool overlaps(const Geometry *g) const;
	virtual bool relate(const Geometry *g, string intersectionPattern) const;
	virtual IntersectionMatrix* relate(const Geometry *g) const;
	virtual bool equals(const Geometry *g) const;
	virtual string toString() const;
	virtual string toText() const;
	virtual Geometry* buffer(double distance) const;
	virtual Geometry* buffer(double distance,int quadrantSegments) const;
	virtual Geometry* intersection(const Geometry *other) const;
	virtual Geometry* Union(const Geometry *other) const;
	virtual Geometry* difference(const Geometry *other) const;
	virtual Geometry* symDifference(const Geometry *other) const;
// ... 
};

// file headers/opBuffer.h

class BufferOp: public GeometryGraphOperation {
// ...
public:
	static Geometry* bufferOp(const Geometry *g, double distance);
	static Geometry* bufferOp(const Geometry *g, double distance, int quadrantSegments);
	BufferOp(const Geometry *g0);
// ...
};

// file headers/opRelate.h

class RelateOp: public GeometryGraphOperation {
// ...
public:
	static IntersectionMatrix* relate(const Geometry *a,const Geometry *b);
// ...
};




 -----------------------------------------------------
  Este correo electrónico y, en su caso, cualquier fichero anexo
  al mismo, contiene información de carácter confidencial
  exclusivamente dirigida a su destinatario o destinatarios. Queda
  prohibida su divulgación, copia o distribución a terceros sin la
  previa autorización escrita de Dap. En el caso de haber
  recibido este correo electrónico por error, se ruega notifíquese
  inmediatamente esta circunstancia mediante reenvío a la dirección
  electrónica del remitente.
  ----------------------------------------------------------
  The information in this e-mail and in any attachments is confidential
  and solely for the attention and use of the named addressee(s).
  You are hereby notified that any dissemination, distribution or copy
  of this communication is prohibited without the prior written consent 
  of Dap. If you have received this communication in error,
  please, notify the sender by reply e-mail.
  -------------------------------------------------------------






More information about the geos-devel mailing list