.. role:: clio-inherited
   :class: clio-flag clio-flag-inherited


###########
RedlineItem
###########

.. js:class:: Markup.Redline.RedlineItem

   Base class for Redline Markup. It should not be used directly.
   
   
   Index
   =====
   
   .. rubric:: Constructors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~Markup.Redline.RedlineItem.constructor`
   
   .. rubric:: Properties
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~Markup.Redline.RedlineItem._viewer`
   * :js:data:`~Markup.Redline.RedlineItem.uniqueId`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~Markup.Redline.RedlineItem.draw`
   * :js:meth:`~Markup.Redline.RedlineItem.getClassName`
   * :js:meth:`~Markup.Redline.RedlineItem.hit`
   * :js:meth:`~Markup.Redline.RedlineItem.hitWithTolerance`
   * :js:meth:`~Markup.Redline.RedlineItem.onDeselect`
   * :js:meth:`~Markup.Redline.RedlineItem.onDragEnd`
   * :js:meth:`~Markup.Redline.RedlineItem.onDragMove`
   * :js:meth:`~Markup.Redline.RedlineItem.onDragStart`
   * :js:meth:`~Markup.Redline.RedlineItem.onSelect`
   * :js:meth:`~Markup.Redline.RedlineItem.remove`
   * :js:meth:`~Markup.Redline.RedlineItem.toJson`
   
   




Constructors
============

.. js:method:: Markup.Redline.RedlineItem.constructor

   .. rst-class:: sig-pretty-signature
   
      | RedlineItem(**viewer**\ : :js:class:`~IWebViewer`\ ): :js:class:`RedlineItem <Markup.Redline.RedlineItem>`
   
   **Parameters**
   
      **viewer**\ : :js:class:`~IWebViewer`
   
   
   **Returns**\ : :js:class:`RedlineItem <Markup.Redline.RedlineItem>`
   





Properties
==========

.. js:data:: Markup.Redline.RedlineItem._viewer

   .. rst-class:: sig-pretty-signature
   
      | _viewer: :js:class:`~IWebViewer`
   



.. js:data:: Markup.Redline.RedlineItem.uniqueId

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | uniqueId: *string*
   





Methods
=======

.. js:method:: Markup.Redline.RedlineItem.draw

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | draw(**_renderer**\ : :js:class:`MarkupRenderer <Markup.MarkupRenderer>`\ , **_view**\ : :js:class:`~IView`\ ): *void*
   
   Called when the markup item should be redrawn on a specific view. This most typically happens when the scene is rendered.
   
   **Parameters**
   
      **_renderer**\ : :js:class:`MarkupRenderer <Markup.MarkupRenderer>`
   
      **_view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *void*
   



.. js:method:: Markup.Redline.RedlineItem.getClassName

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | getClassName(): *string*
   
   Gets the fully qualified class name for this markup item. E.g. "Communicator.Markup.Redline.RedlineCircle"
   
   **Returns**\ : *string*
   
      fully qualified class name
   
   



.. js:method:: Markup.Redline.RedlineItem.hit

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | hit(**_point**\ : :js:class:`~Point2`\ , **_view**\ : :js:class:`~IView`\ ): *boolean*
   
   Called when a hit test is performed on this markup item.
   
   **Parameters**
   
      **_point**\ : :js:class:`~Point2`
   
      **_view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *boolean*
   
      boolean value indicating whether this item was picked
   
   



.. js:method:: Markup.Redline.RedlineItem.hitWithTolerance

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | hitWithTolerance(**_point**\ : :js:class:`~Point2`\ , **_view**\ : :js:class:`~IView`\ , **_pickTolerance**\ : *number*\ ): *boolean*
   
   Called when a hit test is performed on this markup item.
   
   **Parameters**
   
      **_point**\ : :js:class:`~Point2`
   
      **_view**\ : :js:class:`~IView`
   
      **_pickTolerance**\ : *number*
   
   
   **Returns**\ : *boolean*
   
      boolean value indicating whether this item was picked
   
   



.. js:method:: Markup.Redline.RedlineItem.onDeselect

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | onDeselect(): *void*
   
   Called when this markup item is deselected by the system
   
   **Returns**\ : *void*
   



.. js:method:: Markup.Redline.RedlineItem.onDragEnd

   .. rst-class:: sig-pretty-signature
   
      | onDragEnd(**_position**\ : :js:class:`~Point2`\ , **_view**\ : :js:class:`~IView`\ ): *boolean*
   
   **Parameters**
   
      **_position**\ : :js:class:`~Point2`
   
      **_view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *boolean*
   



.. js:method:: Markup.Redline.RedlineItem.onDragMove

   .. rst-class:: sig-pretty-signature
   
      | onDragMove(**_position**\ : :js:class:`~Point2`\ , **_view**\ : :js:class:`~IView`\ ): *boolean*
   
   **Parameters**
   
      **_position**\ : :js:class:`~Point2`
   
      **_view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *boolean*
   



.. js:method:: Markup.Redline.RedlineItem.onDragStart

   .. rst-class:: sig-pretty-signature
   
      | onDragStart(**_position**\ : :js:class:`~Point2`\ , **_view**\ : :js:class:`~IView`\ ): *boolean*
   
   **Parameters**
   
      **_position**\ : :js:class:`~Point2`
   
      **_view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *boolean*
   



.. js:method:: Markup.Redline.RedlineItem.onSelect

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | onSelect(**_view**\ : :js:class:`~IView`\ ): *void*
   
   Called when this markup item is selected by the system from a given view.
   
   **Parameters**
   
      **_view**\ : :js:class:`~IView`
   
   
   **Returns**\ : *void*
   



.. js:method:: Markup.Redline.RedlineItem.remove

   .. rst-class:: sig-pretty-signature
   
      | remove(**_view**\ : (*None* \| :js:class:`~IView`\ )): *void*
   
   Called when the MarkupItem is removed from a view from the system. Any cleanup that needs to be done should be performed in this method.
   
   **Parameters**
   
      **_view**\ : (*None* \| :js:class:`~IView`\ )
   
   
   **Returns**\ : *void*
   



.. js:method:: Markup.Redline.RedlineItem.toJson

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | toJson(): *object*
   
   Creates an object ready for JSON serialization.
   
   **Returns**\ : *object*
   
      The prepared object.
   
   





