220 19203 <CAHJ4w5pe_iwmtTBu0QZ3tKFoqAY6c0H-=o9Qj+_d-0-VngUNyw@mail.gmail.com> article
Path: news.gmane.org!not-for-mail
From: Christopher Horvath <blackencino@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Re: Point class
Date: Thu, 23 Jul 2015 07:34:07 -0700
Lines: 144
Approved: news@gmane.org
Message-ID: <CAHJ4w5pe_iwmtTBu0QZ3tKFoqAY6c0H-=o9Qj+_d-0-VngUNyw@mail.gmail.com>
References: <beb0ccd3-3537-4c3a-a8a9-98aa2fe2a029@isocpp.org>
	<moon46$tfn$1@ger.gmane.org>
	<CAE+wLFCC5XvcaxpZg9V1=HZ35FWzwD1Ng1QrYT07dScH5ZCDSQ@mail.gmail.com>
	<2875623.yP5dYv2iLC@tjmaciei-mobl4>
	<CAE+wLFBH6OJeCCiGXqnnJa+fPRroeyHYwv5RFhMwigdwe5Zshw@mail.gmail.com>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: multipart/alternative; boundary=001a11c11f3ea46d16051b8bc70b
X-Trace: ger.gmane.org 1437662059 17041 80.91.229.3 (23 Jul 2015 14:34:19 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Thu, 23 Jul 2015 14:34:19 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBC2YFPWU5AOBBX7WYOWQKGQEP3KCGFY@isocpp.org Thu Jul 23 16:34:10 2015
Return-path: <std-proposals+bncBC2YFPWU5AOBBX7WYOWQKGQEP3KCGFY@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-qk0-f197.google.com ([209.85.220.197])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBC2YFPWU5AOBBX7WYOWQKGQEP3KCGFY@isocpp.org>)
	id 1ZIHZZ-0003yX-J1
	for gclcip-std-proposals@m.gmane.org; Thu, 23 Jul 2015 16:34:09 +0200
Original-Received: by qkcb2 with SMTP id b2sf247331300qkc.3
        for <gclcip-std-proposals@m.gmane.org>; Thu, 23 Jul 2015 07:34:08 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:mime-version:in-reply-to:references:date
         :message-id:subject:from:to:content-type:x-original-sender
         :x-original-authentication-results:reply-to:precedence:mailing-list
         :list-id:x-spam-checked-in-group:list-post:list-help:list-archive
         :list-subscribe:list-unsubscribe;
        bh=nLFjyUtrO07EmPijciMh0bIyfw4FfiycSkIDRwsWrsQ=;
        b=EfSwYb+Kgt+SH7VMqI9OBpmjsTFzs+xX5LybLGyOn+/5k40/CDyeol+GoO6UeUJ/+G
         01OcoTbryhcMRsf4SPqeTLXMYhdCs3PH+w1ELIEDcaevnRehPm9UXNGdSc5UIlPtar03
         sgb3O8jOUK/DcQRu04xsbi19vswk+kV4N2kTj13fF05CPIZ7NKy2RqeLt6km6c+dE93V
         lOONEvg56rSlX/nOs8ueFF+jo4yaDqTL3bx8OGvzSLD7pSQsyPF/j4odE50n2A8mj90D
         rLa0cy7DtK4N/vBiiukjZ/p8jZ5yGwc4hUy9fkyDPhVVSW+m8nFY3GXr8h3l4KL99xYY
         WHyg==
X-Gm-Message-State: ALoCoQmMzfB3FCGKUHIQ8Pt2oDDlAAXVfhqc69ZJu2cmH7k4qPMf52nnwcHqCjoVuk3+XnZq6wBU
X-Received: by 10.52.72.102 with SMTP id c6mr8360773vdv.12.1437662048608;
        Thu, 23 Jul 2015 07:34:08 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.140.49.75 with SMTP id p69ls970261qga.71.gmail; Thu, 23 Jul
 2015 07:34:07 -0700 (PDT)
X-Received: by 10.55.22.169 with SMTP id 41mr12555663qkw.13.1437662047546;
        Thu, 23 Jul 2015 07:34:07 -0700 (PDT)
Original-Received: from mail-qk0-x236.google.com (mail-qk0-x236.google.com. [2607:f8b0:400d:c09::236])
        by mx.google.com with ESMTPS id l9si2653167qhl.107.2015.07.23.07.34.07
        for <std-proposals@isocpp.org>
        (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
        Thu, 23 Jul 2015 07:34:07 -0700 (PDT)
Received-SPF: pass (google.com: domain of blackencino@gmail.com designates 2607:f8b0:400d:c09::236 as permitted sender) client-ip=2607:f8b0:400d:c09::236;
Original-Received: by qkdl129 with SMTP id l129so174337716qkd.0
        for <std-proposals@isocpp.org>; Thu, 23 Jul 2015 07:34:07 -0700 (PDT)
X-Received: by 10.140.21.138 with SMTP id 10mr12326691qgl.47.1437662047391;
 Thu, 23 Jul 2015 07:34:07 -0700 (PDT)
Original-Received: by 10.96.151.98 with HTTP; Thu, 23 Jul 2015 07:34:07 -0700 (PDT)
In-Reply-To: <CAE+wLFBH6OJeCCiGXqnnJa+fPRroeyHYwv5RFhMwigdwe5Zshw@mail.gmail.com>
X-Original-Sender: blackencino@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of blackencino@gmail.com designates 2607:f8b0:400d:c09::236 as
 permitted sender) smtp.mail=blackencino@gmail.com;       dkim=pass
 header.i=@gmail.com;       dmarc=pass (p=NONE dis=NONE) header.from=gmail.com
Precedence: list
Mailing-list: list std-proposals@isocpp.org; contact std-proposals+owners@isocpp.org
List-ID: <std-proposals.isocpp.org>
X-Spam-Checked-In-Group: std-proposals@isocpp.org
X-Google-Group-Id: 399137483710
List-Post: <http://groups.google.com/a/isocpp.org/group/std-proposals/post>, <mailto:std-proposals@isocpp.org>
List-Help: <http://support.google.com/a/isocpp.org/bin/topic.py?topic=25838>, <mailto:std-proposals+help@isocpp.org>
List-Archive: <http://groups.google.com/a/isocpp.org/group/std-proposals/>
List-Subscribe: <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>,
 <mailto:std-proposals+subscribe@isocpp.org>
List-Unsubscribe: <mailto:googlegroups-manage+399137483710+unsubscribe@googlegroups.com>,
 <http://groups.google.com/a/isocpp.org/group/std-proposals/subscribe>
Xref: news.gmane.org gmane.comp.lang.c++.isocpp.proposals:19203
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/19203>

--001a11c11f3ea46d16051b8bc70b
Content-Type: text/plain; charset=UTF-8

@David Haim,

I definitely agree that points and vectors have different interpretations.
I'm not sure I agree that it is better to represent those differences as
_types_ or through explicit function naming differences.  I can see that
the "c++ way" will probably be that geom::vec<float,3> will be a different
type than geom::point<float,3>.   However, I know from daily use, for years
and years, that this is not the most convenient way to work.

If it were up to me, I'd make a library that was based entirely around free
functions and type traits, and was an amalgam of the tools provided by the
Imath library that is part of Industrial Light & Magic's OpenEXR
distribution (http://www.openexr.com) and Eigen.  This is not unlike the
library I currently work with at Google, and it has proven to be easy and
readable.

I'm happy to work on such a proposal.  I am one of the authors of Alembic (
http://alembic.io), which has become a standard for geometry data exchange
in the visual effects industry.  Alembic did a number of things wrong (we
have P3f and N3f, and it is maddening to use).  However, I'm not as skilled
at standardese as I'd need to be.

Chris



On Thu, Jul 23, 2015 at 1:18 AM, David Haim <dhayim1@gmail.com> wrote:

> @Christopher Horvath , @Miro Knejp
> thank you.
> so we agree that a point is not a vector, and those 2 should be kept as
> separated definitions.
> we also agree that the main concern here is the design issue, which
> functions should a Point class have as
> members, and which should be free-standing ones.
> now the question asked, how do I take it on forward? what should I (start)
> writing?
>
> @Thiago Macieira
> floating point is historical issue, there is no need to keep being
> mathematically incorrect in year 2015.
>
> --
>
> ---
> You received this message because you are subscribed to the Google Groups
> "ISO C++ Standard - Future Proposals" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to std-proposals+unsubscribe@isocpp.org.
> To post to this group, send email to std-proposals@isocpp.org.
> Visit this group at
> http://groups.google.com/a/isocpp.org/group/std-proposals/.
>

-- 

--- 
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/.

--001a11c11f3ea46d16051b8bc70b
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">@David Haim,<div><br></div><div>I definitely agree that po=
ints and vectors have different interpretations. I&#39;m not sure I agree t=
hat it is better to represent those differences as _types_ or through expli=
cit function naming differences.=C2=A0 I can see that the &quot;c++ way&quo=
t; will probably be that geom::vec&lt;float,3&gt; will be a different type =
than geom::point&lt;float,3&gt;. =C2=A0 However, I know from daily use, for=
 years and years, that this is not the most convenient way to work. =C2=A0<=
/div><div><br></div><div>If it were up to me, I&#39;d make a library that w=
as based entirely around free functions and type traits, and was an amalgam=
 of the tools provided by the Imath library that is part of Industrial Ligh=
t &amp; Magic&#39;s OpenEXR distribution (<a href=3D"http://www.openexr.com=
">http://www.openexr.com</a>) and Eigen.=C2=A0 This is not unlike the libra=
ry I currently work with at Google, and it has proven to be easy and readab=
le.</div><div><br></div><div>I&#39;m happy to work on such a proposal.=C2=
=A0 I am one of the authors of Alembic (<a href=3D"http://alembic.io">http:=
//alembic.io</a>), which has become a standard for geometry data exchange i=
n the visual effects industry.=C2=A0 Alembic did a number of things wrong (=
we have P3f and N3f, and it is maddening to use).=C2=A0 However, I&#39;m no=
t as skilled at standardese as I&#39;d need to be.</div><div><br></div><div=
>Chris</div><div><br></div><div><br></div></div><div class=3D"gmail_extra">=
<br><div class=3D"gmail_quote">On Thu, Jul 23, 2015 at 1:18 AM, David Haim =
<span dir=3D"ltr">&lt;<a href=3D"mailto:dhayim1@gmail.com" target=3D"_blank=
">dhayim1@gmail.com</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quo=
te" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"=
><div dir=3D"rtl"><div class=3D"gmail_extra"><div class=3D"gmail_extra" sty=
le=3D"direction:ltr">@Christopher Horvath , @Miro Knejp</div><div class=3D"=
gmail_extra" style=3D"direction:ltr">thank you.</div><div class=3D"gmail_ex=
tra" style=3D"direction:ltr">so we agree that a point is not a vector, and =
those 2 should be kept as separated definitions.</div><div class=3D"gmail_e=
xtra" style=3D"direction:ltr">we also agree that the main concern here is t=
he design issue, which functions should a Point class have as=C2=A0</div><d=
iv class=3D"gmail_extra" style=3D"direction:ltr">members, and which should =
be free-standing ones.</div><div class=3D"gmail_extra" style=3D"direction:l=
tr">now the question asked, how do I take it on forward? what should I (sta=
rt) writing?=C2=A0</div><div class=3D"gmail_extra" style=3D"direction:ltr">=
<br></div><div class=3D"gmail_extra" style=3D"direction:ltr">@Thiago Maciei=
ra</div><div class=3D"gmail_extra" style=3D"direction:ltr">floating point i=
s historical issue, there is no need to keep being mathematically incorrect=
 in year 2015.</div></div></div><span class=3D"">

<p></p>

-- <br>
<br>
--- <br>
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br></span>
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org" target=3D"_=
blank">std-proposals+unsubscribe@isocpp.org</a>.<br>
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org" target=3D"_blank">std-proposals@isocpp.org</a>.<br>
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/" target=3D"_blank">http://groups.google.com/a/isocpp.org/gro=
up/std-proposals/</a>.<br>
</blockquote></div><br></div>

<p></p>

-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals&quot; group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to <a href=3D"mailto:std-proposals+unsubscribe@isocpp.org">std-proposa=
ls+unsubscribe@isocpp.org</a>.<br />
To post to this group, send email to <a href=3D"mailto:std-proposals@isocpp=
..org">std-proposals@isocpp.org</a>.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/">http://groups.google.com/a/isocpp.org/group/std-proposals/<=
/a>.<br />

--001a11c11f3ea46d16051b8bc70b--

.
