PointL



This union represents pair of 64-bit integer values or a 64-bit integer point.

You can find more information in comments below.

union PointL
{
    struct
    {
        long long X;
        long long Y;
    };
    long long Data[2];

    long long operator[](const int index) const; // Get element
    long long &operator[](const int index); // Get element
    explicit operator PointD() const; // Convert to PointD
};

Following operators are also available.

PointF operator+(const PointF &a, const float value); // Add point and value
PointF operator-(const PointF &a, const float value); // Subtract point and value
PointF operator/(const PointF &a, const float value); // Divide point and value
PointF operator*(const PointF &a, const float value); // Multiply point and value
PointF operator+(const float value, const PointF &a); // Add value and point
PointF operator-(const float value, const PointF &a); // Subtract value and point
PointF operator/(const float value, const PointF &a); // Divide value and point
PointF operator*(const float value, const PointF &a); // Multiply value and point
PointF &operator+=(PointF &a, const float value); // Add value to point
PointF &operator-=(PointF &a, const float value); // Subtract value from point
PointF &operator/=(PointF &a, const float value); // Divide point on value
PointF &operator*=(PointF &a, const float value); // Multiply point on value
PointF operator+(const PointF &a, const PointF &b); // Add points elements
PointF operator-(const PointF &a, const PointF &b); // Subtract points elements
PointF operator*(const PointF &a, const PointF &b); // Multiply point elements
PointF operator/(const PointF &a, const PointF &b); // Divide point elements
PointF &operator+=(PointF &a, const PointF &b); // Add elements of another point to first one
PointF &operator-=(PointF &a, const PointF &b); // Subtract elements of another point from first one
PointF &operator*=(PointF &a, const PointF &b); // Multiply point element to elements of another point
PointF &operator/=(PointF &a, const PointF &b); // Divide point element on elements of another point
std::wostream &operator<<(std::wostream &stream, const PointF &a); // Output as source code
Namespace: nitisa
Include: Nitisa/Core/Math/PointL.h (For union declaration)
Nitisa/Core/Math/PointLUtils.h (For standalone operators)