Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-26 Thread Wayne Stambaugh
Hi Simon, Thanks for the update. I will continue with my work as planned. I think the only conflict will be in the include/convert_to_biu.h which will only be the schematic units section. Cheers, Wayne On 6/25/2019 3:16 PM, Simon Richter wrote: > Hi Wayne, > > On Tue, Jun 25, 2019 at

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-25 Thread Tomasz Wlostowski
On 25/06/2019 21:16, Simon Richter wrote: > Hi Wayne, > > On Tue, Jun 25, 2019 at 12:36:36PM -0400, Wayne Stambaugh wrote: > >> I guess I should comment on this seeing that I am the project leader. I >> am fine with refactoring as long as it's an improvement over existing >> code. > > The main

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-25 Thread Simon Richter
Hi Wayne, On Tue, Jun 25, 2019 at 12:36:36PM -0400, Wayne Stambaugh wrote: > I guess I should comment on this seeing that I am the project leader. I > am fine with refactoring as long as it's an improvement over existing > code. The main improvement is going to be that we can dump the

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-25 Thread Wayne Stambaugh
I guess I should comment on this seeing that I am the project leader. I am fine with refactoring as long as it's an improvement over existing code. In this case, I would say that some refactoring is in order although I would proceed cautiously with the code in question. OOP does not necessary

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-23 Thread Simon Richter
Hi, On Fri, Jun 21, 2019 at 10:54:04PM -0400, Reece R. Pollack wrote: > Just for discussion, let's assume the replacement for wxPoint is > named KiPoint. The result of subtracting two KiPoint objects would > be another object called KiDelta. Adding two KiPoint objects should > be undefined, and

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread hauptmech
Hi Tom, On 23/06/2019 4:10 AM, Tomasz Wlostowski wrote: On 22/06/2019 17:41, Reece R. Pollack wrote: While it is true that you can add two point coordinates and multiply by scalar 0.5 to get the midpoint, this is not true in the general case for arbitrary scalar multipliers. However,

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Seth Hillbrand
A specification for substantial changes like this should document clearly the hierarchy of inheritance, each class's functions and expected returns. There are some very good references out there on how to write specs [1][2][3]. This is not to dismiss Reece's suggestion. I think it is a good

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread hauptmech
Isn't Reece's original post the spec? In summary, the name VECTOR is confusing and the type structure could be expanded on to offer more compile time checks. He proposes a KiPoint and KiDelta, and describes their behavior clearly enough for anyone that does geometry calculations. What's

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Tomasz Wlostowski
On 22/06/2019 17:41, Reece R. Pollack wrote: > > While it is true that you can add two point coordinates and multiply by > scalar 0.5 to get the midpoint, this is not true in the general case for > arbitrary scalar multipliers. However, calculating the vector distance > between two points,

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Tomasz Wlostowski
On 22/06/2019 16:32, hauptmech wrote: > After reading through vector2d.h and matrix3x3.h, I agree with Reece > more or less. There is ambiguity in the word vector, between math > vectors, spatial vectors, and c++ vectors. Context implies that VECTOR2 > refers math vectors, but then MATRIX3x3 *

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Reece R. Pollack
On 6/22/19 10:52 AM, Seth Hillbrand wrote: On 2019-06-21 22:54, Reece R. Pollack wrote: Doing this now, before we go too far down the path of replacing wxWidgets types with non-OOB arrays would enhance readability and make the code more robust. Using VECTOR2I is going the wrong way. Hi Reece-

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Reece R. Pollack
On 6/22/19 3:09 AM, Greg Smith wrote: Adding two points and dividing by two results in a point that is minimally equidistant from both points (I.e. The midpoint of the line formed by the points). While it is true that you can add two point coordinates and multiply by scalar 0.5 to get the

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Seth Hillbrand
On 2019-06-21 22:54, Reece R. Pollack wrote: Doing this now, before we go too far down the path of replacing wxWidgets types with non-OOB arrays would enhance readability and make the code more robust. Using VECTOR2I is going the wrong way. Hi Reece- Codebase cleaning like you suggest can go

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread hauptmech
After reading through vector2d.h and matrix3x3.h, I agree with Reece more or less. There is ambiguity in the word vector, between math vectors, spatial vectors, and c++ vectors. Context implies that VECTOR2 refers math vectors, but then MATRIX3x3 * VECTOR2 is allowed which violates

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Reece R. Pollack
The evolution from untyped variables to weakly-typed variables to strongly-typed variables to OOP techniques has never been about what is easiest for the programmer nor fastest running. It's about producing correct, reliable, maintainable software. The argument that "it'll be too slow" is

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Tomasz Wlostowski
On 22/06/2019 09:09, Greg Smith wrote: > > I think the biggest point I am making is that, mathematically, a point > is identical to a vector from 0,0. > Hi Greg & Reece, This is precisely the reason why we don't have separate point and vector classes. Tom

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-22 Thread Greg Smith
In graphics/CAD packages, a point can be considered a vector from point 0,0. This is an interpretation that makes sense to me. Adding two points and dividing by two results in a point that is minimally equidistant from both points (I.e. The midpoint of the line formed by the points). In

Re: [Kicad-developers] VECTOR2I and VECTOR2D

2019-06-21 Thread Reece R. Pollack
Whoops, hit "send" too soon. "Is a simple array" is obviously incorrect. My point was the lack of descriptiveness is a problem. The absence of differentiation between a location and a distance is a missed opportunity. And the abuse of the type as a loosely-related pair of values should be