220 19161 <mooeku$du2$1@ger.gmane.org> article
Path: news.gmane.org!not-for-mail
From: Matthew Woehlke <mwoehlke.floss@gmail.com>
Newsgroups: gmane.comp.lang.c++.isocpp.proposals
Subject: Re: Point class
Date: Wed, 22 Jul 2015 11:59:26 -0400
Lines: 41
Approved: news@gmane.org
Message-ID: <mooeku$du2$1@ger.gmane.org>
References: <beb0ccd3-3537-4c3a-a8a9-98aa2fe2a029@isocpp.org>
Reply-To: std-proposals@isocpp.org
NNTP-Posting-Host: plane.gmane.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
X-Trace: ger.gmane.org 1437580796 14566 80.91.229.3 (22 Jul 2015 15:59:56 GMT)
X-Complaints-To: usenet@ger.gmane.org
NNTP-Posting-Date: Wed, 22 Jul 2015 15:59:56 +0000 (UTC)
To: std-proposals@isocpp.org
Original-X-From: std-proposals+bncBC37LBFWUIFBB4H3X2WQKGQESQ6DLII@isocpp.org Wed Jul 22 17:59:48 2015
Return-path: <std-proposals+bncBC37LBFWUIFBB4H3X2WQKGQESQ6DLII@isocpp.org>
Envelope-to: gclcip-std-proposals@m.gmane.org
Original-Received: from mail-la0-f70.google.com ([209.85.215.70])
	by plane.gmane.org with esmtp (Exim 4.69)
	(envelope-from <std-proposals+bncBC37LBFWUIFBB4H3X2WQKGQESQ6DLII@isocpp.org>)
	id 1ZHwQt-0000x4-1K
	for gclcip-std-proposals@m.gmane.org; Wed, 22 Jul 2015 17:59:47 +0200
Original-Received: by laef2 with SMTP id f2sf60056137lae.0
        for <gclcip-std-proposals@m.gmane.org>; Wed, 22 Jul 2015 08:59:46 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
        d=1e100.net; s=20130820;
        h=x-gm-message-state:to:from:subject:date:lines:message-id:references
         :mime-version:content-type:user-agent:in-reply-to: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=D4WXok4H89kFO7x5dae5SHvrt7BnGdOHvZ7W1x1vJME=;
        b=EqxZURuIGFj3Y3jnws1OdtjPk9yjDzLJHQcRDN73iwB8zk4LCGfhr91HIF57H22LXM
         A7mnNEkdB37h0xX9v3XP502XBTQa15OL+mqH1yrmXD4joA6lVZrVAByKtsnGRTNR/ZRS
         pGC9E5gtFhzUy5zXCvNzRkkS3x0e7OVzpjzvvT0F3KDc/YeHMXtQJvLifYUUp/GxWBfn
         ox/dzTyEU47V6wLQsZ26BkbNvTs4V0Y6K7qWjfiWiBt8yOJCUb5drGa5JgqFkXkAWuz3
         PPoyjBxqatDlipWel7BARN9nAPMTZ1YO7mh/t8I9LCSyyMvKksgxuPfFUJTRzVCpIuAr
         
X-Gm-Message-State: ALoCoQnjfdritWBh7fW3G8Lm6jCtvJvwTQzpe0i0OqAx9YqYmWcdSSn7Be+cnMiRXDR2+41ekQ2X
X-Received: by 10.194.188.104 with SMTP id fz8mr1502007wjc.1.1437580786653;
        Wed, 22 Jul 2015 08:59:46 -0700 (PDT)
X-BeenThere: std-proposals@isocpp.org
Original-Received: by 10.152.163.65 with SMTP id yg1ls101166lab.26.gmail; Wed, 22 Jul
 2015 08:59:44 -0700 (PDT)
X-Received: by 10.112.24.233 with SMTP id x9mr3139062lbf.7.1437580784160;
        Wed, 22 Jul 2015 08:59:44 -0700 (PDT)
Original-Received: from plane.gmane.org (plane.gmane.org. [80.91.229.3])
        by mx.google.com with ESMTPS id i7si1529923lah.164.2015.07.22.08.59.44
        for <std-proposals@isocpp.org>
        (version=TLSv1 cipher=RC4-SHA bits=128/128);
        Wed, 22 Jul 2015 08:59:44 -0700 (PDT)
Received-SPF: pass (google.com: domain of gclcip-std-proposals@m.gmane.org designates 80.91.229.3 as permitted sender) client-ip=80.91.229.3;
Original-Received: from list by plane.gmane.org with local (Exim 4.69)
	(envelope-from <gclcip-std-proposals@m.gmane.org>)
	id 1ZHwQj-0000oU-Ev
	for std-proposals@isocpp.org; Wed, 22 Jul 2015 17:59:37 +0200
Original-Received: from tripoint.kitware.com ([66.194.253.20])
        by main.gmane.org with esmtp (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <std-proposals@isocpp.org>; Wed, 22 Jul 2015 17:59:37 +0200
Original-Received: from mwoehlke.floss by tripoint.kitware.com with local (Gmexim 0.1 (Debian))
        id 1AlnuQ-0007hv-00
        for <std-proposals@isocpp.org>; Wed, 22 Jul 2015 17:59:37 +0200
X-Injected-Via-Gmane: http://gmane.org/
Original-Lines: 32
Original-X-Complaints-To: usenet@ger.gmane.org
X-Gmane-NNTP-Posting-Host: tripoint.kitware.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0
In-Reply-To: <beb0ccd3-3537-4c3a-a8a9-98aa2fe2a029@isocpp.org>
X-Original-Sender: mwoehlke.floss@gmail.com
X-Original-Authentication-Results: mx.google.com;       spf=pass (google.com:
 domain of gclcip-std-proposals@m.gmane.org designates 80.91.229.3 as
 permitted sender) smtp.mail=gclcip-std-proposals@m.gmane.org;
       dmarc=fail (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:19161
Archived-At: <http://permalink.gmane.org/gmane.comp.lang.c++.isocpp.proposals/19161>

On 2015-07-22 11:23, dhayim1@gmail.com wrote:
> Hello C++ community.
> I was wondering if anyone had proposed a Cartesian coordinate system - 
> based Point class. 
> This (basic yet effective) class will represent points in a N dimensional 
> Cartesian coordinate system and the actions you can preform at. 
> If this class has being proposed before and declined, I would like to get 
> links on the proposal and the reason why it got declined.
> If it has being proposed and currently it is being discussed (for example, 
> by the Graphics research team), can I get a link to the proposal.
> If it has not being proposed at all, I'd like to hear if this class can be 
> proposed by me, and what are the needed steps to propose such library.

I suspect the big problem here is deciding what features to include.
There is a huge array of possibilities ranging from "none" ('struct
point { double x, y };') to quaternion transforms and other complicated
things. To little, and it isn't useful. Too much and a stand-alone
library is a better solution... and these already exist, e.g. Eigen.
Plus it's such a common class that many libraries have already
implemented such a class, and getting them to converge on a common
implementation is going to be a challenge.

(And TBH, this is why I want generalized tuple unpacking; it makes it
much easier to convert between different libraries' point types.)

Don't forget also that you're going to have folks wanting both double
and float (and possibly long double) precision, so it's not just the
dimensionality that should be a template parameter. And, again, we
already have a full-featured library for that: Eigen.

-- 
Matthew

-- 

--- 
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/.

.
