#include "Point.h" Point::Point(double x, double y, double z) : mX(x), mY(y), mZ(z) { } Point::Point(const DiscretePoint& point) : mX(point.GetX()), mY(point.GetY()), mZ(0) { } Point::Point(const Point& reference, double offSetX, double offSetY, double offSetZ) : mX(reference.getX() + offSetX), mY(reference.getY() + offSetY), mZ(reference.getZ() + offSetZ) { } Point::~Point() { }; std::shared_ptr Point::Create(double x, double y, double z) { return std::make_shared(x, y, z); } double Point::getX() const { return mX; } double Point::getY() const { return mY; } double Point::getZ() const { return mZ; } double Point::getDistance(const Point& point) const { return std::sqrt(mX*point.getX() + mY*point.getY() + mZ*point.getZ()); } double Point::getDistance(Point* point) const { return std::sqrt(mX*point->getX() + mY*point->getY() + mZ*point->getZ()); } double Point::getDeltaX(const Point& point) const { return point.getX() - mX; } double Point::getDeltaY(const Point& point) const { return point.getY() - mY; }