1. if the list has 3-dimensional coordinates, make a 3d line
2. if the list has more than 3-dimensional coordinates, silently strip
off the first two and make a 2d line
3. if the list has 2-dimensional coordinates,
Since there is not feature-parity between the 2d and 3d backends, the
current setup also means that options become valid or invalid depending
on how line() interprets its coordinates. That sounds like a very bad
thing.
There is a patch up at #3853 which makes line() and text() only do 2d
stuff, leaving line3d and text3d for the 3d things. I've also fixed
some other places that assumed the current behavior (which broke some
doctests; hooray for doctests). Are there any comments about making
this change?
Thanks,
Jason
I would much rather not have to use two distinct methods, point could
simply dispatch to point2d or point3d depending on the size of the
coordinate vector, passing *args and **kwds along. Silently stripping off
the "extra" coordinates is IMHO bad though...
Even better, it would be good for the parameters for 2d and 3d
lines/text/etc to be made more uniform.
- Robert
The patch at #3853 will dispatch to line3d if line2d (same for point)
fails. This is the same behavior as was there before. It needs to be
reviewed.
--Mike