Point

Edit on GitHub
#include <Point.h>
SReturnNameParameters
Point (int32 value = 0)
Point (int32 x, int32 y)
bool IsZero (void) const
Size ToSize (void) const
Point& operator += (const Point& point)
Point& operator -= (const Point& point)
Point operator + (const Point& point) const
Point operator - (const Point& point) const
bool operator == (const Point& point) const
bool operator != (const Point& point) const
Point operator - (void) const
int32 X
int32 Y

Description

Represents a two-dimensional point defined by X and Y with integer precision. Each component can be manipulated directly through the exposed property values. The IsZero function returns true if both X and Y are equal to zero and the ToSize function converts the point into a Size. Addition, Subtraction, and negation are performed on each component separately.

Constructors

    
Point (int32 value = 0)
Point (int32 x, int32 y)

Constructs a point with both components set to value or x and y.

Functions

    
bool IsZero (void) const

Returns true if both components are equal to zero.

    
Size ToSize (void) const

Returns a Size with Width and Height set to X and Y.

Operators

    
Point& operator += (const Point& point)
Point& operator -= (const Point& point)

Adds or subtracts point to or from this point and returns a reference to this point.

Point p1 ( 3, 7);
Point p2 (-1, 4);

p1 += p2; // p1 becomes (2, 11)
p1 -= p2; // p1 becomes (4,  3)


    
Point operator + (const Point& point) const
Point operator - (const Point& point) const

Adds or subtracts point to or from this point and returns the result in a new point.

    
bool operator == (const Point& point) const
bool operator != (const Point& point) const

Performs equality comparison on each component.

    
Point operator - (void) const

Negates both components of this point and returns the result in a new point.

Properties

    
int32 X
int32 Y

Provides direct access to the X and Y components of this point.

Examples

// C++
#include <Robot.h>
ROBOT_NS_USE_ALL;

int main (void)
{
    Point p1, p2 (4, 6);

    p1.IsZero(); // True
    p2.IsZero(); // False

    // s1 becomes (4, 6)
    Size s1 = p2.ToSize();

    // p1 becomes (1, 2)
    p1.X = 1; p1.Y = 2;

    p1 += p2; // p1 becomes (5, 8)
    p1 -= p2; // p1 becomes (1, 2)

    // p3 becomes (3, 4)
    Point p3 = p2 - p1;

    p1 == p3; // False
    p1 != p3; // True

    // p2 becomes (-1, -2)
    p2 = -p1;
    return 0;
}
// Node
var robot = require ("robot-js");

var p1 = robot.Point ();
var p2 = robot.Point (4, 6);

p1.isZero(); // True
p2.isZero(); // False

// s1 becomes (4, 6)
var s1 = p2.toSize();

// p1 becomes (1, 2)
p1.x = 1; p1.y = 2;

p1 = p1.add (p2); // p1 becomes (5, 8)
p1 = p1.sub (p2); // p1 becomes (1, 2)

// p3 becomes (3, 4)
var p3 = p2.sub (p1);

p1.eq (p3); // False
p1.ne (p3); // True

// p2 becomes (-1, -2)
p2 = p1.neg();

// Point construction
p1 = robot.Point (p2);
p1 = robot.Point
({
    x: 100,
    y: 200
});