123456789_123456789_123456789_123456789_123456789_

Class: Geom::Point2d

Relationships
Inherits: Object

Overview

The Point2d class allows you to work with a point in 2D space. Point2d is a series of values representing x and y coordinates.

The values are specified as [x, y]. For example [1, 1]. To create a point call Geom::Point2d.new, where the creation method can take a variety of arguments:

Examples:

# No arguments, creates a point at the origin [0, 0]
pt1 = Geom::Point2d.new

# Creates a point at x of 1, y of 2.
pt2 = Geom::Point2d.new(1, 2)

# You can also create a point directly by simply assigning the x, and y
# values to a variable as an array:
pt3 = [1, 2]

Version:

  • LayOut 2018

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.newPoint2d .new(x, y) ⇒ Point2d .new(point) ⇒ Point2d

The .new method creates a new Point2d.

Examples:

# No arguments, creates a point at the origin [0, 0]
pt1 = Geom::Point2d.new

# Creates a point at x of 1 and y of 2.
pt2 = Geom::Point2d.new(1, 2)

# You can also create a point directly by simply assigning the x and y
# values to a variable as an array:
pt3 = [1, 2]

Overloads:

  • .newPoint2d
  • .new(x, y) ⇒ Point2d

    Parameters:

    • x (Numeric)

      The location along the x axis

    • y (Numeric)

      The location along the y axis

  • .new(point) ⇒ Point2d

    Parameters:

Version:

  • LayOut 2018

Instance Attribute Details

#xLength (rw)

The #x method returns the x value of the Point2d.

Examples:

point = Geom::Point2d.new(1, 2)
x = point.x

Returns:

  • (Length)

    the x value of the Point2d

Version:

  • LayOut 2018

#x=(x) ⇒ Numeric (rw)

The #x= method sets the x value of the Point2d.

Examples:

point = Geom::Point2d.new(1, 2)
point.x = 7

Parameters:

  • x (Numeric)

    The desired x value of the Point2d

Returns:

  • (Numeric)

    The new x value of the Point2d

Version:

  • LayOut 2018

#yLength (rw)

The #y method returns the y value of the Point2d.

Examples:

point = Geom::Point2d.new(1, 2)
y = point.y

Returns:

  • (Length)

    The y value of the Point2d

Version:

  • LayOut 2018

#y=(y) ⇒ Numeric (rw)

The #y= method sets the y value of the Point2d.

Examples:

point = Geom::Point2d.new(1, 2)
point.y = 7

Parameters:

  • y (Numeric)

    The desired y value of the Point2d

Returns:

  • (Numeric)

    The new y value of the Point2d

Version:

  • LayOut 2018

Instance Method Details

#+(vector) ⇒ Point2d

The #+ operator is a simple way to add to the current x and y values of the Point2d, or to set the values of the Point2d by adding a Vector2d to the Point2d.

Examples:

pt = [1, 1]
# the result is a Point2d(2, 3)
pt2 = pt + [1, 2]

Parameters:

Version:

  • LayOut 2018

#-(vector) ⇒ Point2d #-(point) ⇒ Geom::Vector2d

The #- operator is a simple way to subtract from the current x and y values of the Point2d.

Examples:

vec = Geom::Vector2d.new(1, 2)
# result is a Point2d(3, 0)
pt = [4, 2] - vec
# result is a Vector2d(1, 2)
vec2 = [4, 2] - pt

Overloads:

Version:

  • LayOut 2018

#==(point) ⇒ Boolean

The #== method compares two points for equality. This uses the standard SketchUp tolerance to determine if two points are the same.

Examples:

point1 = Geom::Point2d.new(1, 1)
point2 = Geom::Point2d.new(0, 1)
status = point1 == point2

Parameters:

Version:

  • LayOut 2018

#[](index) ⇒ Length

The #[] method returns the value of the Point2d at the specified index.

Examples:

point = Geom::Point2d.new(1, 2)

# returns the y value of 2
yvalue = point[1]

Parameters:

  • index (Integer)

    The index for a specific x or y value in the Point2d

Returns:

  • (Length)

    The new x or y value if successful

Version:

  • LayOut 2018

#[]=(index, value) ⇒ Numeric

The #[]= method sets the x or y value of the Point2d based on the specific index of the value.

Examples:

point = Geom::Point2d.new(1,2)
point[1] = 4

Parameters:

  • index (Integer)

    The index for a specific x or y value in the Point2d to set

  • value (Numeric)

    The value to set for x or y

Returns:

  • (Numeric)

    The new x or y value if successful

Version:

  • LayOut 2018

#clonePoint2d

The #clone method creates another point identical to the Point2d being cloned.

Examples:

point = Geom::Point2d.new(1, 2)
newpoint = point.clone

Returns:

  • (Point2d)

    the cloned Point2d object

Version:

  • LayOut 2018

#distance(point) ⇒ Numeric

The #distance method computes the distance from the Point2d to another Point2d.

Examples:

point1 = Geom::Point2d.new(1, 1)
point2 = Geom::Point2d.new(1, 4)
# result is a value of 3
distance = point1.distance(point2)

Parameters:

Returns:

  • (Numeric)

    the distance between the points in the current units

Version:

  • LayOut 2018

#inspectString

The #inspect method formats the Point2d as a string.

Examples:

point = Geom::Point2d.new(1, 2)
string = point.inspect

Version:

  • LayOut 2018

#offset(vector) ⇒ Point2d #offset(vector, distance) ⇒ Point2d

The #offset method offsets the Point2d by a Vector2d and returns a new Point2d. If distance is provided, it must be non-zero.

Examples:

point = Geom::Point2d.new
vector = Geom::Vector2d.new(0, 2)
# result is a Point2d(0, 1)
point2 = point1.offset(vector, 1)

Overloads:

Version:

  • LayOut 2018

#offset!(vector) ⇒ Point2d #offset!(vector, distance) ⇒ Point2d

The #offset! method offsets the Point2d by a Vector2d. The Point2d itself is modified. The length of the vector must not be zero.

Examples:

point = Geom::Point2d.new
vector = Geom::Vector2d.new(0, 2)
# result is a Point2d(0, 1)
point1.offset!(vector, 1)

Overloads:

Version:

  • LayOut 2018

#set!(point) ⇒ Point2d #set!(x, y) ⇒ Point2d

The #set! method sets the values of the Point2d.

Examples:

point = Geom::Point2d.new(1, 2)
point = point.set!([4, 5])

Overloads:

Version:

  • LayOut 2018

#to_aArray(Numeric, Numeric)

The #to_a method converts the Point2d to an array of 2 numbers.

Examples:

point = Geom::Point2d.new(1, 2)
array = point.to_a

Returns:

Version:

  • LayOut 2018

#to_sString

The #to_s method returns a string representation of the Point2d.

Examples:

point = Geom::Point2d.new(1, 2)
str = point.to_s

Version:

  • LayOut 2018

#transform(transform) ⇒ Point2d

The #transform method applies a transformation to a point, returning a new point. The original point is unchanged by this method.

Examples:

point = Geom::Point2d.new(4, 5)
transformation = Geom::Transformation2d.new([1, 0, 0, 1, 2, 3])
# pt will be (6, 8)
pt = point.transform(transformation)

Parameters:

Returns:

  • (Point2d)

    the transformed point

Version:

  • LayOut 2019

#transform!(transform) ⇒ Point2d

The #transform! method applies a transformation to a point. The point itself is modified.

Examples:

point = Geom::Point2d.new(4, 5)
transformation = Geom::Transformation2d.new([1, 0, 0, 1, 2, 3])
# point will be (6, 8)
point.transform!(transformation)

Parameters:

Returns:

  • (Point2d)

    the transformed point

Version:

  • LayOut 2019

#vector_to(point) ⇒ Geom::Vector2d

The #vector_to method returns the vector between points.

Examples:

pt1 = Geom::Point2d.new(1, 1)
pt2 = Geom::Point2d.new(3, 1)

# result is a Vector2d(2, 0)
vec = pt1.vector_to(pt2) # is equivalent to (pt2 - pt1)

Parameters:

  • point (Point2d)

Version:

  • LayOut 2018