
######################
CompositeSelectionItem
######################

.. js:class:: Selection.CompositeSelectionItem

   This class is used to represent the result of a composite picking operation.  Each of its fields may be populated with a [[NodeEntitySelectionItem]].
   
   
   Index
   =====
   
   .. rubric:: Constructors
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:func:`~Selection.CompositeSelectionItem.constructor`
   
   .. rubric:: Properties
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~Selection.CompositeSelectionItem.faceItem`
   * :js:data:`~Selection.CompositeSelectionItem.lineItem`
   * :js:data:`~Selection.CompositeSelectionItem.pointItem`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~Selection.CompositeSelectionItem.fetchMostRelevant`
   
   




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

.. js:method:: Selection.CompositeSelectionItem.constructor

   .. rst-class:: sig-pretty-signature
   
      | CompositeSelectionItem(**faceItem**\ : (*None* \| :js:class:`FaceSelectionItem <Selection.FaceSelectionItem>`\ ), **lineItem**\ : (*None* \| :js:class:`LineSelectionItem <Selection.LineSelectionItem>`\ ), **pointItem**\ : (*None* \| :js:class:`PointSelectionItem <Selection.PointSelectionItem>`\ )): :js:class:`CompositeSelectionItem <Selection.CompositeSelectionItem>`
   
   **Parameters**
   
      **faceItem**\ : (*None* \| :js:class:`FaceSelectionItem <Selection.FaceSelectionItem>`\ )
   
      **lineItem**\ : (*None* \| :js:class:`LineSelectionItem <Selection.LineSelectionItem>`\ )
   
      **pointItem**\ : (*None* \| :js:class:`PointSelectionItem <Selection.PointSelectionItem>`\ )
   
   
   **Returns**\ : :js:class:`CompositeSelectionItem <Selection.CompositeSelectionItem>`
   





Properties
==========

.. js:data:: Selection.CompositeSelectionItem.faceItem

   .. rst-class:: sig-pretty-signature
   
      | faceItem: (*None* \| :js:class:`FaceSelectionItem <Selection.FaceSelectionItem>`\ )
   



.. js:data:: Selection.CompositeSelectionItem.lineItem

   .. rst-class:: sig-pretty-signature
   
      | lineItem: (*None* \| :js:class:`LineSelectionItem <Selection.LineSelectionItem>`\ )
   



.. js:data:: Selection.CompositeSelectionItem.pointItem

   .. rst-class:: sig-pretty-signature
   
      | pointItem: (*None* \| :js:class:`PointSelectionItem <Selection.PointSelectionItem>`\ )
   





Methods
=======

.. js:method:: Selection.CompositeSelectionItem.fetchMostRelevant

   .. rst-class:: sig-pretty-signature
   
      | fetchMostRelevant(**mask**\ : :js:data:`~SelectionMask`\ ): (*None* \| :js:class:`NodeEntitySelectionItem <Selection.NodeEntitySelectionItem>`\ )
   
   Returns the most relevant selection item for the provided selection mask. The priority used by this method is points -> lines -> faces. For example, if your selection mask was Faces \| Lines and this item contained and all fields were populated, this method would return its lineItem.
   
   **Parameters**
   
      **mask**\ : :js:data:`~SelectionMask`
   
         a selection mask used to indicate the relevancy of the item to retrieve.
   
   
   
   **Returns**\ : (*None* \| :js:class:`NodeEntitySelectionItem <Selection.NodeEntitySelectionItem>`\ )
   
      the most relevant selection item if one exists.  If no relevant item is found, null is returned.
   
   





