---
metadata:
  - name: generator
    content: Diplodoc Platform v5.39.1
alternate:
  - https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelRectangleGeometry.md
  - https://yandex.com/dev/jsapi-v2-1/doc/ru/v2-1/ref/reference/IPixelRectangleGeometry.md
---
> **Documentation Index:** Fetch the complete configuration index at https://yandex.com/dev/jsapi-v2-1/doc/en/llms.txt

# IPixelRectangleGeometry

Extends [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md).

Interface for the "Rectangle" pixel geometry.

[Constructor](#constructor-summary) | [Fields](#properties-summary) | [Methods](#methods-summary)

## Constructor {#constructor-summary}

```javascript
IPixelRectangleGeometry()
```

## Fields {#properties-summary}

#|
|| **Name** | **Type** | **Description** ||
|| [events](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventEmitter.md#events) | [IEventManager](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventManager.md) | Event manager.

Inherited from [IEventEmitter](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IEventEmitter.md#events). ||
|#

## Methods {#methods-summary}

#|
|| **Name** | **Returns** | **Description** ||
|| [equals](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#equals)([geometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#equals-param-geometry)) | Boolean | Returns true if the passed geometry is equivalent to the given one.

Inherited from [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#equals). ||
|| [getBounds](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IBaseGeometry.md#getBounds)() | Number[][]\|null | Returns coordinates of the two opposite corners of the area that surrounds the geometry. The first item in the array is the corner with the smallest coordinate values relative to the rest of the points in the area; the second item is the corner with the largest coordinate values.

Inherited from [IBaseGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IBaseGeometry.md#getBounds). ||
|| [getClosest](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelRectangleGeometry.md#getClosest)([anchorPosition](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelRectangleGeometry.md#getClosest-param-anchorPosition)) | Object | Searches for the point nearest to "anchorPosition" on the rectangle. ||
|| [getCoordinates](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelRectangleGeometry.md#getCoordinates)() | Number[][] | Returns coordinates of two opposite corners of the rectangle. ||
|| [getMetaData](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#getMetaData)() | Object | Returns metadata of the pixel geometry.

Inherited from [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#getMetaData). ||
|| [getType](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IBaseGeometry.md#getType)() | String | Returns ID of the geometry type.

Inherited from [IBaseGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IBaseGeometry.md#getType). ||
|| [scale](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#scale)([factor](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#scale-param-factor)) | [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md) | Creates a scaled copy of the geometry.

Inherited from [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#scale). ||
|| [shift](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#shift)([offset](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#shift-param-offset)) | [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md) | Creates a copy of the geometry that is shifted by the specified amount.

Inherited from [IPixelGeometry](https://yandex.com/dev/jsapi-v2-1/doc/en/v2-1/ref/reference/IPixelGeometry.md#shift).||
|#

## Methods details {#method_detail}

### getClosest {#getClosest}

```javascript
{Object} getClosest(anchorPosition)
```

Searches for the point nearest to "anchorPosition" on the rectangle.

**Returns** an object with the following fields: 
- position - The point on the rectangle that is nearest to "anchorPosition".
- distance - Distance from "anchorPosition" to "position".
- closestPointIndex - Index of the rectangle vertex closest to "position".
- nextPointIndex - Index of the rectangle vertex that follows "position".
- prevPointIndex - Index of the rectangle vertex that precedes "position".
- pathIndex - Index of the rectangle contour that the found point is associated with.
The "nextPointIndex" and "prevPointIndex" fields may be omitted if "position" coincides with one of the rectangle vertexes.

**Parameters:**

#|
|| **Parameter** | **Default value** | **Description**  ||
|| [`anchorPosition`](#getClosest-param-anchorPosition)[*](*star) | — | Type: Number[]

Coordinates of a point for which the nearest rectangle vertex is calculated. ||
|#

\* Mandatory parameter/option.

### getCoordinates {#getCoordinates}

```javascript
{Number[][]} getCoordinates()
```

**Returns** coordinates of two opposite corners of the rectangle.

[*star]: Mandatory parameter/option.