crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Point3d, Класс 3-мерной точки.
motoden
  опции профиля:
сообщение 10.10.2014, 23:51
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 12
Регистрация: 13.10.2012
Пользователь №: 3555

Спасибо сказали: 0 раз(а)




Репутация:   0  


Создал класс 3-мерной точки, т.к. не нашел готового в библиотеке. QPoint реализован только для 2-мерного случая. Представляю его на ваш суд. Кто что думает?

class Point3D{
public:
    Point3D(){
        val_x = 0;
        val_y = 0;
        val_z = 0;
    }

    Point3D(double in_x,
            double in_y,
            double in_z){
        val_x = in_x;
        val_y = in_y;
        val_z = in_z;
    }

    Point3D(Point3D &in_point3d){
        val_x = in_point3d.x();
        val_y = in_point3d.y();
        val_z = in_point3d.z();
    }

    Point3D operator + (Point3D in_point3d){
        Point3D result;
        result.setX(val_x + in_point3d.x());
        result.setY(val_y + in_point3d.y());
        result.setZ(val_z + in_point3d.z());
        return result;
    }

    Point3D operator += (Point3D in_point3d){
        qDebug()<<"+=";
        val_x += in_point3d.x();
        val_y += in_point3d.y();
        val_z += in_point3d.z();
        return (*this);
    }

    Point3D operator * (Point3D in_point3d){
        Point3D result;
        result.setX(val_x * in_point3d.x());
        result.setY(val_y * in_point3d.y());
        result.setZ(val_z * in_point3d.z());
        return result;
    }

    Point3D operator *= (Point3D in_point3d){
        val_x *= in_point3d.x();
        val_y *= in_point3d.y();
        val_z *= in_point3d.z();
        return *this;
    }

    double x(){
        return val_x;
    }

    double y(){
        return val_y;
    }

    double z(){
        return val_z;
    }

    void setX(double in_x){
        val_x = in_x;
    }

    void setY(double in_y){
        val_y = in_y;
    }

    void setZ(double in_z){
        val_z = in_z;
    }

private:
    double val_x;
    double val_y;
    double val_z;
};
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- motoden   Point3d   10.10.2014, 23:51
- - lanz   0. http://qt-project.org/doc/qt-4.8/qvector3d.html...   11.10.2014, 12:12


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 2.12.2024, 11:44