TernaryPoint.h

Go to the documentation of this file.
00001 /****************************************************************************
00002 ** Copyright (C) 2001-2010 Klaralvdalens Datakonsult AB.  All rights reserved.
00003 **
00004 ** This file is part of the KD Chart library.
00005 **
00006 ** Licensees holding valid commercial KD Chart licenses may use this file in
00007 ** accordance with the KD Chart Commercial License Agreement provided with
00008 ** the Software.
00009 **
00010 **
00011 ** This file may be distributed and/or modified under the terms of the
00012 ** GNU General Public License version 2 and version 3 as published by the
00013 ** Free Software Foundation and appearing in the file LICENSE.GPL included.
00014 **
00015 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
00016 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
00017 **
00018 ** Contact info@kdab.com if any conditions of this licensing are not
00019 ** clear to you.
00020 **
00021 **********************************************************************/
00022 
00023 #ifndef TERNARYPOINT_H
00024 #define TERNARYPOINT_H
00025 
00026 #include <QtDebug>
00027 #include <QPointF>
00028 
00033 class TernaryPoint
00034 {
00035 public:
00036     TernaryPoint();
00037     TernaryPoint( double a, double b );
00038 
00039     double a() const { return m_a; }
00040     double b() const { return m_b; }
00041     double c() const { return 1.0 - m_a - m_b; }
00042 
00043     void set( double a, double b );
00044 
00045     bool isValid() const;
00046 
00047 private:
00048     double m_a;
00049     double m_b;
00050 };
00051 
00052 QDebug operator<<( QDebug stream, const TernaryPoint& point );
00053 
00054 QPointF translate( const TernaryPoint& );
00055 
00056 #endif