Yes, and I was right about being guilty too.  The ISA tools are full
of ".x =" assignments.

Martin, does all of JTS support the JTS CoordinateSequence, or do you
need to convert to Coordinate arrays before calling JTS functions?  I
see, for example, that there are LineString constructors for both
CoordinateSequence and Coordinate points[], so I would guess that when
Geometry functions are invoked later, they will detect and use the
correct access method?  If so, it would make a 25% savings for each
Coordinate since there is an 8 byte overhead for the object.

thanks,
Larry


On 6/25/07, Larry Becker <[EMAIL PROTECTED]> wrote:
> Oh, oh.  If com.vividsolutions.jts.geom.LineSegment.setCoordinates()
> is any indication, JTS  is probably going to prevent making this
> policy retroactive.  There seem to be several places where Coordinate
> values are passed into methods and have their x,y values modified.
>
> regards,
> Larry
>
> On 6/25/07, Larry Becker <[EMAIL PROTECTED]> wrote:
> > I agree with Martin.  Modifying Coordinate values in-place is probably
> > a bad idea, however I'm pretty sure I've been guilty.  What I'm trying
> > to figure out now, is a good way to find out where and how many times.
> >
> > regards,
> > Larry Becker
> >
> > On 6/25/07, Martin Davis <[EMAIL PROTECTED]> wrote:
> > >
> > >
> > > Michaël Michaud wrote:
> > > >
> > > > @Martin : Please, can you explain what immutability means for
> > > > coordinates. I see that x,y,z are public fields (and I remember I often
> > > > changed them via small scripts, especially the z value). But may be I
> > > > have no clear idea about immutability and its advantages.
> > > >
> > > >
> > >
> > > Well, it's pretty simple. If you have a tool that works by altering the
> > > ordinate values in a Coordinate, and you are using the "interned
> > > Coordinate" strategy, you are going to get bugs, since Geometrys will
> > > change unexpectedly when their shared Coordinate values are changed by
> > > someone else.
> > >
> > > The public x,y,z in Coordinate were originally there for efficiency
> > > reasons.  Probably a bad idea. In fact, Coordinate should have simply
> > > been an interface.  But too late to change now!  However, an application
> > > like JUMP should make it a blanket policy that Coordinate values should
> > > never by changed.  Any other policy leads to insanity, IMO.
> > >
> > > HTH - Martin
> > >
> > > --
> > > Martin Davis
> > > Senior Technical Architect
> > > Refractions Research, Inc.
> > > (250) 383-3022
> > >
> > >
> > > -------------------------------------------------------------------------
> > > This SF.net email is sponsored by DB2 Express
> > > Download DB2 Express C - the FREE version of DB2 express and take
> > > control of your XML. No limits. Just data. Click to get it now.
> > > http://sourceforge.net/powerbar/db2/
> > > _______________________________________________
> > > Jump-pilot-devel mailing list
> > > Jump-pilot-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel
> > >
> >
> >
> > --
> > http://amusingprogrammer.blogspot.com/
> >
>
>
> --
> http://amusingprogrammer.blogspot.com/
>


-- 
http://amusingprogrammer.blogspot.com/

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Jump-pilot-devel mailing list
Jump-pilot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jump-pilot-devel

Reply via email to