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


##################
PointSelectionItem
##################

.. js:class:: Selection.PointSelectionItem

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




Methods
=======

.. js:method:: Selection.PointSelectionItem.equals

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



.. js:method:: Selection.PointSelectionItem.getFaceEntity

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



.. js:method:: Selection.PointSelectionItem.getInclusionKey

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



.. js:method:: Selection.PointSelectionItem.getLineEntity

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



.. js:method:: Selection.PointSelectionItem.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:: Selection.PointSelectionItem.getPointEntity

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



.. js:method:: Selection.PointSelectionItem.getPosition

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | getPosition(): :js:class:`~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`
   
      World space position of the selection point if it can be determined.
   
   



.. js:method:: Selection.PointSelectionItem.getSelectionType

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



.. js:method:: Selection.PointSelectionItem.isEntitySelection

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | isEntitySelection(): this *is* :js:class:`EntitySelectionItem <Selection.EntitySelectionItem>`
   
   **Returns**\ : this *is* :js:class:`EntitySelectionItem <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:: Selection.PointSelectionItem.isFaceSelection

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | isFaceSelection(): this *is* :js:class:`FaceSelectionItem <Selection.FaceSelectionItem>`
   
   **Returns**\ : this *is* :js:class:`FaceSelectionItem <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:: Selection.PointSelectionItem.isLineSelection

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | isLineSelection(): this *is* :js:class:`LineSelectionItem <Selection.LineSelectionItem>`
   
   **Returns**\ : this *is* :js:class:`LineSelectionItem <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:: Selection.PointSelectionItem.isNodeEntitySelection

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | isNodeEntitySelection(): this *is* :js:class:`NodeEntitySelectionItem <Selection.NodeEntitySelectionItem>`
   
   **Returns**\ : this *is* :js:class:`NodeEntitySelectionItem <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:: Selection.PointSelectionItem.isNodeSelection

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | isNodeSelection(): this *is* :js:class:`NodeSelectionItem <Selection.NodeSelectionItem>`
   
   **Returns**\ : this *is* :js:class:`NodeSelectionItem <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:: Selection.PointSelectionItem.isPointSelection

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. rst-class:: sig-pretty-signature
   
      | isPointSelection(): this *is* :js:class:`PointSelectionItem <Selection.PointSelectionItem>`
   
   **Returns**\ : this *is* :js:class:`PointSelectionItem <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:: Selection.PointSelectionItem.overlayIndex

   .. rst-class:: clio-flags
   
      :clio-inherited:`inherited`
   
   .. 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:: Selection.PointSelectionItem.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.
   
   





