# Class: AbstractShape

## Constructor

#### <abstract> new AbstractShape(ownerDisplayName, isMine, color, width)

  AbstractShape class is the base class for a shape.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `ownerDisplayName` | string |
  `isMine` | boolean |
  `color` | number |
  `width` | number |

## Members

#### <protected> _color :number

  Color in HEX translated to DEC.

  ##### Type:

  - number

#### <protected> _id :number

  Shape unique id.

  ##### Type:

  - number

#### <protected> _isMine :boolean

  Determines whether the shape belongs to the current user.

  ##### Type:

  - boolean

#### <protected> _ownerDisplayName :string

  Display name of the shape owner.

  ##### Type:

  - string

#### <protected> _primitiveShapeSize :Number|undefined

  Size of primitive shape

  ##### Type:

  - Number | undefined

#### <protected> _status :AvayaClientServices.Services.Collaboration.SelectionStatus

  Shape status as defined in AvayaClientServices.Services.Collaboration.SelectionStatus.

  ##### Type:

  - AvayaClientServices.Services.Collaboration.SelectionStatus

#### <protected> _translation :AvayaClientServices.Services.Collaboration.Point

  Shape position.

  ##### Type:

  - AvayaClientServices.Services.Collaboration.Point

#### <protected> _width :number

  Shape width.

  ##### Type:

  - number

## Methods

#### finishDrawing() → {AvayaClientServices.Base.Promise.<(Boolean|Undefined)>}

  Finishes drawing process.
  When user draws on whiteboard, this function is being invoked both at the end of live drawing tool, rectangle and polygon tool.
  When user receives whiteboard sharing, this function is being invoked at the end of live drawing tool.

  ##### Returns:

  { AvayaClientServices.Base.Promise.<(Boolean|Undefined)> }

#### getColor() → {Number}

  Returns the shape color as a decimal number. When converted to hexadecimal, it's standard HEX color.

  ##### Returns:

  { Number }

#### getId() → {String}

  Returns shape id.

  ##### Returns:

  { String }

#### getOwnerDisplayName() → {String}

  Returns the name of the user who created the shape.

  ##### Returns:

  { String }

#### getPrimitiveShapeSize() → {Number}

  Returns the primitive size of shape.

  ##### Returns:

  { Number }

#### getStatus() → {AvayaClientServices.Services.Collaboration.SelectionStatus}

  Gets shape status as defined in AvayaClientServices.Services.Collaboration.SelectionStatus.

  ##### Returns:

  { AvayaClientServices.Services.Collaboration.SelectionStatus }

  Shape status.

#### getTranslation() → {AvayaClientServices.Services.Collaboration.Point}

  Returns shape translation (position).
  Translation is an offset value relative to the first position of the shape.

  ##### Returns:

  { AvayaClientServices.Services.Collaboration.Point }

#### getWidth() → {Number}

  Returns shape width.
  Value in pixels.

  ##### Returns:

  { Number }

  Width of shape.

#### isFinished() → {boolean}

  Determines whether drawing of shape has been finished.

  ##### Returns:

  { boolean }

#### isMine() → {Boolean}

  Determines whether the shape has been created by the local user.

  ##### Returns:

  { Boolean }

  Returns true if the shape belongs to the local user, false otherwise.

#### setTranslation(point) → {void}

  Sets shape translation (position).
  Sets the new offset value relative to the first position of the shape.

  ##### Parameters:

  Name | Type | Description
  --- | --- | ---
  `point` | AvayaClientServices.Services.Collaboration.Point | New position of shape.

  ##### Returns:

  { void }