| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188 | /* -*- mode: C++ ; c-file-style: "stroustrup" -*- ***************************** * Qwt Widget Library * Copyright (C) 1997   Josef Wilgen * Copyright (C) 2002   Uwe Rathmann * * This library is free software; you can redistribute it and/or * modify it under the terms of the Qwt License, Version 1.0 *****************************************************************************//*! \file */#ifndef QWT_POINT_3D_H#define QWT_POINT_3D_H 1#include "qwt_global.h"#include <qpoint.h>#ifndef QT_NO_DEBUG_STREAM#include <qdebug.h>#endif/*!  \brief QwtPoint3D class defines a 3D point in double coordinates*/class QWT_EXPORT QwtPoint3D{public:    QwtPoint3D();    QwtPoint3D( double x, double y, double z );    QwtPoint3D( const QwtPoint3D & );    QwtPoint3D( const QPointF & );    bool isNull()    const;    double x() const;    double y() const;    double z() const;    double &rx();    double &ry();    double &rz();    void setX( double x );    void setY( double y );    void setZ( double y );    QPointF toPoint() const;    bool operator==( const QwtPoint3D & ) const;    bool operator!=( const QwtPoint3D & ) const;private:    double d_x;    double d_y;    double d_z;};#ifndef QT_NO_DEBUG_STREAMQWT_EXPORT QDebug operator<<( QDebug, const QwtPoint3D & );#endif/*!    Constructs a null point.    \sa isNull()*/inline QwtPoint3D::QwtPoint3D():    d_x( 0.0 ),    d_y( 0.0 ),    d_z( 0.0 ){}//! Constructs a point with coordinates specified by x, y and z.inline QwtPoint3D::QwtPoint3D( double x, double y, double z = 0.0 ):    d_x( x ),    d_y( y ),    d_z( z ){}/*!    Copy constructor.    Constructs a point using the values of the point specified.*/inline QwtPoint3D::QwtPoint3D( const QwtPoint3D &other ):    d_x( other.d_x ),    d_y( other.d_y ),    d_z( other.d_z ){}/*!    Constructs a point with x and y coordinates from a 2D point,    and a z coordinate of 0.*/inline QwtPoint3D::QwtPoint3D( const QPointF &other ):    d_x( other.x() ),    d_y( other.y() ),    d_z( 0.0 ){}/*!    Returns true if the point is null; otherwise returns false.    A point is considered to be null if x, y and z-coordinates    are equal to zero.*/inline bool QwtPoint3D::isNull() const{    return d_x == 0.0 && d_y == 0.0 && d_z == 0;}//! Returns the x-coordinate of the point.inline double QwtPoint3D::x() const{    return d_x;}//! Returns the y-coordinate of the point.inline double QwtPoint3D::y() const{    return d_y;}//! Returns the z-coordinate of the point.inline double QwtPoint3D::z() const{    return d_z;}//! Returns a reference to the x-coordinate of the point.inline double &QwtPoint3D::rx(){    return d_x;}//! Returns a reference to the y-coordinate of the point.inline double &QwtPoint3D::ry(){    return d_y;}//! Returns a reference to the z-coordinate of the point.inline double &QwtPoint3D::rz(){    return d_z;}//! Sets the x-coordinate of the point to the value specified by x.inline void QwtPoint3D::setX( double x ){    d_x = x;}//! Sets the y-coordinate of the point to the value specified by y.inline void QwtPoint3D::setY( double y ){    d_y = y;}//! Sets the z-coordinate of the point to the value specified by z.inline void QwtPoint3D::setZ( double z ){    d_z = z;}/*!   Rounds 2D point, where the z coordinate is dropped.*/inline QPointF QwtPoint3D::toPoint() const{    return QPointF( d_x, d_y );}//! Returns true if this point and other are equal; otherwise returns false.inline bool QwtPoint3D::operator==( const QwtPoint3D &other ) const{    return ( d_x == other.d_x ) && ( d_y == other.d_y ) && ( d_z == other.d_z );}//! Returns true if this rect and other are different; otherwise returns false.inline bool QwtPoint3D::operator!=( const QwtPoint3D &other ) const{    return !operator==( other );}#endif
 |