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


############
CursorMarkup
############

.. js:class:: Operators.Markup.CursorMarkup

   Base class for Measure Markup. It should not be used directly.
   
   
   Index
   =====
   
   .. rubric:: Constructors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~Operators.Markup.CursorMarkup.constructor`
   
   .. rubric:: Properties
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~Operators.Markup.CursorMarkup.uniqueId`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~Operators.Markup.CursorMarkup.destroy`
   * :js:meth:`~Operators.Markup.CursorMarkup.enable`
   * :js:meth:`~Operators.Markup.CursorMarkup.getClassName`
   * :js:meth:`~Operators.Markup.CursorMarkup.getMeasurementText`
   * :js:meth:`~Operators.Markup.CursorMarkup.getMeasurementValue`
   * :js:meth:`~Operators.Markup.CursorMarkup.getName`
   * :js:meth:`~Operators.Markup.CursorMarkup.getUnitMultiplier`
   * :js:meth:`~Operators.Markup.CursorMarkup.getVisibility`
   * :js:meth:`~Operators.Markup.CursorMarkup.hit`
   * :js:meth:`~Operators.Markup.CursorMarkup.hitWithTolerance`
   * :js:meth:`~Operators.Markup.CursorMarkup.isEnabled`
   * :js:meth:`~Operators.Markup.CursorMarkup.isMarkupValid`
   * :js:meth:`~Operators.Markup.CursorMarkup.onDeselect`
   * :js:meth:`~Operators.Markup.CursorMarkup.onSelect`
   * :js:meth:`~Operators.Markup.CursorMarkup.remove`
   * :js:meth:`~Operators.Markup.CursorMarkup.setMeasurementText`
   * :js:meth:`~Operators.Markup.CursorMarkup.setName`
   * :js:meth:`~Operators.Markup.CursorMarkup.setPosition`
   * :js:meth:`~Operators.Markup.CursorMarkup.setVisibility`
   * :js:meth:`~Operators.Markup.CursorMarkup.toJson`
   
   




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

.. js:method:: Operators.Markup.CursorMarkup.constructor

   .. rst-class:: sig-pretty-signature
   
      | CursorMarkup(**viewer**\ : :js:class:`~IWebViewer`\ , **view**\ : :js:class:`~IView`\ ): :js:class:`CursorMarkup <Operators.Markup.CursorMarkup>`
   
   **Parameters**
   
      **viewer**\ : :js:class:`~IWebViewer`
   
      **view**\ : :js:class:`~IView`
   
   
   **Returns**\ : :js:class:`CursorMarkup <Operators.Markup.CursorMarkup>`
   





Properties
==========

.. js:data:: Operators.Markup.CursorMarkup.uniqueId

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





Methods
=======

.. js:method:: Operators.Markup.CursorMarkup.destroy

   .. rst-class:: sig-pretty-signature
   
      | destroy(): *void*
   
   **Returns**\ : *void*
   



.. js:method:: Operators.Markup.CursorMarkup.enable

   .. rst-class:: sig-pretty-signature
   
      | enable(**enable**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **enable**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: Operators.Markup.CursorMarkup.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:: Operators.Markup.CursorMarkup.getMeasurementText

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | getMeasurementText(): *string*
   
   Gets the text for this measurement. By default this will contain the measurement value and units for the model in the cases where the measurement is a distance. In other cases it will contain the angle in degrees.
   
   **Returns**\ : *string*
   



.. js:method:: Operators.Markup.CursorMarkup.getMeasurementValue

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | getMeasurementValue(): *number*
   
   Returns the unit agnostic value for this measurement. In the case where this value represents distance, use [[getUnitMultiplier]] to determine the measurement units. In other cases, this value will be the angle measurement in degrees.
   
   **Returns**\ : *number*
   
      the measurement value
   
   



.. js:method:: Operators.Markup.CursorMarkup.getName

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | getName(): *string*
   
   Gets the name of this measurement.
   
   **Returns**\ : *string*
   
      the measurement name
   
   



.. js:method:: Operators.Markup.CursorMarkup.getUnitMultiplier

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | getUnitMultiplier(): *number*
   
   Returns the unit multiplier incorporated into the measurement value. This number is a multiplier of millimeters (for example inches will be ``25.4``\ ). The default value is ``1.0``\ .
   
   **Returns**\ : *number*
   



.. js:method:: Operators.Markup.CursorMarkup.getVisibility

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | getVisibility(): *boolean*
   
   **Returns**\ : *boolean*
   



.. js:method:: Operators.Markup.CursorMarkup.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:: Operators.Markup.CursorMarkup.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:: Operators.Markup.CursorMarkup.isEnabled

   .. rst-class:: sig-pretty-signature
   
      | isEnabled(): *boolean*
   
   **Returns**\ : *boolean*
   



.. js:method:: Operators.Markup.CursorMarkup.isMarkupValid

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | isMarkupValid(): *boolean*
   
   Returns whether the measurement markup is valid. Override in subclasses when needed.
   
   **Returns**\ : *boolean*
   



.. js:method:: Operators.Markup.CursorMarkup.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:: Operators.Markup.CursorMarkup.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:: Operators.Markup.CursorMarkup.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:: Operators.Markup.CursorMarkup.setMeasurementText

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | setMeasurementText(**measurementText**\ : *string*\ ): *void*
   
   Sets the measurement text that is rendered with this measurement.
   
   **Parameters**
   
      **measurementText**\ : *string*
   
         the text to render with this measurement
   
   
   
   **Returns**\ : *void*
   



.. js:method:: Operators.Markup.CursorMarkup.setName

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | setName(**name**\ : *string*\ ): *void*
   
   Sets the name of this measurement
   
   **Parameters**
   
      **name**\ : *string*
   
         the name to set
   
   
   
   **Returns**\ : *void*
   



.. js:method:: Operators.Markup.CursorMarkup.setPosition

   .. rst-class:: sig-pretty-signature
   
      | setPosition(**point**\ : :js:class:`~Point2`\ ): *void*
   
   **Parameters**
   
      **point**\ : :js:class:`~Point2`
   
   
   **Returns**\ : *void*
   



.. js:method:: Operators.Markup.CursorMarkup.setVisibility

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | setVisibility(**visibility**\ : *boolean*\ ): *void*
   
   **Parameters**
   
      **visibility**\ : *boolean*
   
   
   **Returns**\ : *void*
   



.. js:method:: Operators.Markup.CursorMarkup.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.
   
   





