API reference - Class DPoint

Notation used in Ruby API documentation

Description: A point class with double (floating-point) coordinates

Points represent a coordinate in the two-dimensional coordinate space of layout. They are not geometrical objects by itself. But they are frequently used in the database API for various purposes. Other than the integer variant (Point), points with floating-point coordinates can represent fractions of a database unit.

See The Database API for more details about the database objects.

Public constructors

new DPointnewDefault constructor: creates a point at 0,0
new DPointnew(double x,
double y)
Constructor for a point from two coordinate values

Public methods

[const]bool!=(const DPoint p)Inequality test operator
[const]DPoint*(double f)Scaling by some factor
[const]DPoint+(const DPoint p)Add one point to another
[const]DPoint-(const DPoint p)Subtract one point from another
[const]DPoint-@(p)Compute the negative of a point
[const]bool<(const DPoint p)"less" comparison operator
[const]bool==(const DPoint p)Equality test operator
[const]doubleabsThe absolute value of the point (Euclidian distance to 0,0)
[const]voidassign(const DPoint other)Assign the contents of another object to self
voidcreateEnsures the C++ object is created
voiddestroyExplicitly destroy the object
[const]booldestroyed?Returns a value indicating whether the object was already destroyed
[const]doubledistance(const DPoint d)The Euclidian distance to another point
[const]DPointdupCreates a copy of self
[const]boolis_const_object?Returns a value indicating whether the reference is a const reference
[const]doublesq_absThe square of the absolute value of the point (Euclidian distance to 0,0)
[const]doublesq_distance(const DPoint d)The square Euclidian distance to another point
[const]stringto_sString conversion
[const]doublexAccessor to the x coordinate
voidx=(double coord)Write accessor to the x coordinate
[const]doubleyAccessor to the y coordinate
voidy=(double coord)Write accessor to the y coordinate

Public static methods and constants

DPointfrom_ipoint(const Point p)Create a floating-point coordinate point from an integer coordinate point
new DPointfrom_s(string s)Creates an object from a string

Deprecated methods (protected, public, static, non-static and constructors)

[static]new DPointnew_xy(double x,
double y)
Use of this method is deprecated. Use new instead

Detailed description

[const] bool !=(const DPoint p)

Description: Inequality test operator

[const] DPoint *(double f)

Description: Scaling by some factor

Returns the scaled object. All coordinates are multiplied with the given factor and if necessary rounded.

[const] DPoint +(const DPoint p)

Description: Add one point to another

Add point p to self by adding the coordinates

[const] DPoint -(const DPoint p)

Description: Subtract one point from another

Subtract point p from self by subtracting the coordinates

[const] DPoint -@(p)

Description: Compute the negative of a point

Returns a new point with -x, -y.

This method has been added in version 0.23.

[const] bool <(const DPoint p)

Description: "less" comparison operator

This operator is provided to establish a sorting order

[const] bool ==(const DPoint p)

Description: Equality test operator

[const] double abs

Description: The absolute value of the point (Euclidian distance to 0,0)

The returned value is 'sqrt(x*x+y*y)'.

This method has been introduced in version 0.23.

[const] void assign(const DPoint other)

Description: Assign the contents of another object to self

This method assigns the contents of another object to self. This is a deep copy that does not only copy the reference but the actual content.

void create

Description: Ensures the C++ object is created

Use this method to ensure the C++ object is created, for example to ensure that resources are allocated. Usually C++ objects are created on demand and not necessarily when the script object is created.

void destroy

Description: Explicitly destroy the object

Explicitly destroy the object on C++ side if it was owned by the Ruby interpreter. Subsequent access to this object will throw an exception. If the object is not owned by Ruby, this method will do nothing.

[const] bool destroyed?

Description: Returns a value indicating whether the object was already destroyed

This method returns true, if the object was destroyed, either explicitly or by the C++ side. The latter may happen, if the object is owned by a C++ object which got destroyed itself.

[const] double distance(const DPoint d)

Description: The Euclidian distance to another point

d:The other point to compute the distance to.

[const] DPoint dup

Description: Creates a copy of self

[static] DPoint from_ipoint(const Point p)

Description: Create a floating-point coordinate point from an integer coordinate point

[static] new DPoint from_s(string s)

Description: Creates an object from a string

Creates the object from a string representation (as returned by to_s)

This method has been added in version 0.23.

[const] bool is_const_object?

Description: Returns a value indicating whether the reference is a const reference

This method returns true, if self is a const reference. In that case, only const methods may be called on self.

[static] new DPoint new

Description: Default constructor: creates a point at 0,0

[static] new DPoint new(double x,double y)

Description: Constructor for a point from two coordinate values

[static] new DPoint new_xy(double x,double y)

Description: Constructor for a point from two coordinate values

This method is deprecated. Use method 'new' instead

[const] double sq_abs

Description: The square of the absolute value of the point (Euclidian distance to 0,0)

The returned value is 'x*x+y*y'.

This method has been introduced in version 0.23.

[const] double sq_distance(const DPoint d)

Description: The square Euclidian distance to another point

d:The other point to compute the distance to.

[const] string to_s

Description: String conversion

[const] double x

Description: Accessor to the x coordinate

void x=(double coord)

Description: Write accessor to the x coordinate

[const] double y

Description: Accessor to the y coordinate

void y=(double coord)

Description: Write accessor to the y coordinate