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


###################
EntitySelectionItem
###################

.. js:class:: wv.Selection.EntitySelectionItem

   A [[SelectionItem]] that is guaranteed to have a valid entity.
   
   
   Index
   =====
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~wv.Selection.EntitySelectionItem.equals`
   * :js:meth:`~wv.Selection.EntitySelectionItem.getFaceEntity`
   * :js:meth:`~wv.Selection.EntitySelectionItem.getInclusionKey`
   * :js:meth:`~wv.Selection.EntitySelectionItem.getLineEntity`
   * :js:meth:`~wv.Selection.EntitySelectionItem.getNodeId`
   * :js:meth:`~wv.Selection.EntitySelectionItem.getPointEntity`
   * :js:meth:`~wv.Selection.EntitySelectionItem.getPosition`
   * :js:meth:`~wv.Selection.EntitySelectionItem.getSelectionType`
   * :js:meth:`~wv.Selection.EntitySelectionItem.isEntitySelection`
   * :js:meth:`~wv.Selection.EntitySelectionItem.isFaceSelection`
   * :js:meth:`~wv.Selection.EntitySelectionItem.isLineSelection`
   * :js:meth:`~wv.Selection.EntitySelectionItem.isNodeEntitySelection`
   * :js:meth:`~wv.Selection.EntitySelectionItem.isNodeSelection`
   * :js:meth:`~wv.Selection.EntitySelectionItem.isPointSelection`
   * :js:meth:`~wv.Selection.EntitySelectionItem.overlayIndex`
   * :js:meth:`~wv.Selection.EntitySelectionItem.toJson`
   
   



.. rst-class:: kind-group kind-methods

.. rubric:: Methods
   :class: kind-group-title


.. js:method:: wv.Selection.EntitySelectionItem.equals

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | equals(**selectionItem**\ : :js:class:`SelectionItem <wv.Selection.SelectionItem>`\ ): *boolean*
      
      Determines if two selection items are equal.
      
      **Parameters**
      
      
         **selectionItem**\ : :js:class:`SelectionItem <wv.Selection.SelectionItem>`
      
      
            The selection item to test against.
      
      
      
      **Returns**\ : *boolean*
      
      
         whether or not the two items are equal.
      
      



.. js:method:: wv.Selection.EntitySelectionItem.getFaceEntity

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getFaceEntity(): (*None* | :js:class:`FaceEntity <wv.Selection.FaceEntity>`\ )
      
      Gets the face entity for this selection.
      
      **Returns**\ : (*None* \| :js:class:`FaceEntity <wv.Selection.FaceEntity>`\ )
      
      
         the face entity if one was selected, otherwise null
      
      



.. js:method:: wv.Selection.EntitySelectionItem.getInclusionKey

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getInclusionKey(): (*None* | :js:data:`InclusionKey <wv.Sc.InclusionKey>`\ )
      
      Gets the include id for this selection.
      
      **Returns**\ : (*None* \| :js:data:`InclusionKey <wv.Sc.InclusionKey>`\ )
      
      
         the inclusion key associated with this selection item
      
      



.. js:method:: wv.Selection.EntitySelectionItem.getLineEntity

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getLineEntity(): (*None* | :js:class:`LineEntity <wv.Selection.LineEntity>`\ )
      
      Gets the line entity for this selection.
      
      **Returns**\ : (*None* \| :js:class:`LineEntity <wv.Selection.LineEntity>`\ )
      
      
         the line entity if one was selected, otherwise null
      
      



.. js:method:: wv.Selection.EntitySelectionItem.getNodeId

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getNodeId(): *number*
      
      Gets the part id for this selection.
      
      **Returns**\ : *number*
      
      
         the part id associated with this selection item
      
      



.. js:method:: wv.Selection.EntitySelectionItem.getPointEntity

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getPointEntity(): (*None* | :js:class:`PointEntity <wv.Selection.PointEntity>`\ )
      
      Gets the point entity for this selection.
      
      **Returns**\ : (*None* \| :js:class:`PointEntity <wv.Selection.PointEntity>`\ )
      
      
         the point entity if one was selected, otherwise null
      
      



.. js:method:: wv.Selection.EntitySelectionItem.getPosition

      .. rst-class:: sig-pretty-signature
      
         | getPosition(): :js:class:`Point3 <wv.Point3>`
      
      Convenience method for getting the world space position of the selection point. [[SelectionItem]]s with a type of [[SelectionType.Part]] will not have a position and null will be returned.
      
      **Returns**\ : :js:class:`Point3 <wv.Point3>`
      
      
         World space position of the selection point if it can be determined.
      
      



.. js:method:: wv.Selection.EntitySelectionItem.getSelectionType

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | getSelectionType(): :js:data:`SelectionType <wv.SelectionType>`
      
      **Returns**\ : :js:data:`SelectionType <wv.SelectionType>`
      



.. js:method:: wv.Selection.EntitySelectionItem.isEntitySelection

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | isEntitySelection(): this *is* :js:class:`EntitySelectionItem <wv.Selection.EntitySelectionItem>`
      
      **Returns**\ : this *is* :js:class:`EntitySelectionItem <wv.Selection.EntitySelectionItem>`
      
      
         true if the object has the fields required for an [[EntitySelectionItem]]. This function can be used as a TypeScript `type guard <https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards>`__\ .
      
      



.. js:method:: wv.Selection.EntitySelectionItem.isFaceSelection

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | isFaceSelection(): this *is* :js:class:`FaceSelectionItem <wv.Selection.FaceSelectionItem>`
      
      **Returns**\ : this *is* :js:class:`FaceSelectionItem <wv.Selection.FaceSelectionItem>`
      
      
         true if the object has the fields required for a [[FaceSelectionItem]]. This function can be used as a TypeScript `type guard <https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards>`__\ .
      
      



.. js:method:: wv.Selection.EntitySelectionItem.isLineSelection

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | isLineSelection(): this *is* :js:class:`LineSelectionItem <wv.Selection.LineSelectionItem>`
      
      **Returns**\ : this *is* :js:class:`LineSelectionItem <wv.Selection.LineSelectionItem>`
      
      
         true if the object has the fields required for a [[LineSelectionItem]]. This function can be used as a TypeScript `type guard <https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards>`__\ .
      
      



.. js:method:: wv.Selection.EntitySelectionItem.isNodeEntitySelection

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | isNodeEntitySelection(): this *is* :js:class:`NodeEntitySelectionItem <wv.Selection.NodeEntitySelectionItem>`
      
      **Returns**\ : this *is* :js:class:`NodeEntitySelectionItem <wv.Selection.NodeEntitySelectionItem>`
      
      
         true if the object has the fields required for a [[NodeEntitySelectionItem]]. This function can be used as a TypeScript `type guard <https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards>`__\ .
      
      



.. js:method:: wv.Selection.EntitySelectionItem.isNodeSelection

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | isNodeSelection(): this *is* :js:class:`NodeSelectionItem <wv.Selection.NodeSelectionItem>`
      
      **Returns**\ : this *is* :js:class:`NodeSelectionItem <wv.Selection.NodeSelectionItem>`
      
      
         true if the object has the fields required for a [[NodeSelectionItem]]. This function can be used as a TypeScript `type guard <https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards>`__\ .
      
      



.. js:method:: wv.Selection.EntitySelectionItem.isPointSelection

      .. rst-class:: clio-flags
      
         :clio-inherited:`inherited`
      
      .. rst-class:: sig-pretty-signature
      
         | isPointSelection(): this *is* :js:class:`PointSelectionItem <wv.Selection.PointSelectionItem>`
      
      **Returns**\ : this *is* :js:class:`PointSelectionItem <wv.Selection.PointSelectionItem>`
      
      
         true if the object has the fields required for a [[PointSelectionItem]]. This function can be used as a TypeScript `type guard <https://www.typescriptlang.org/docs/handbook/advanced-types.html#user-defined-type-guards>`__\ .
      
      



.. js:method:: wv.Selection.EntitySelectionItem.overlayIndex

      .. rst-class:: sig-pretty-signature
      
         | overlayIndex(): *number*
      
      Gets the overlay index for this selection.
      
      **Returns**\ : *number*
      
      
         the overlay index associated with this selection item
      
      



.. js:method:: wv.Selection.EntitySelectionItem.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.
      
      




