.. role:: ts-api-decorator

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

.. js:module:: Selection
   :noindex:

.. container:: ts-api-section

   .. js:class:: CompositeSelectionItem

      This class is used to represent the result of a composite picking operation.  Each of its fields may be populated with a [[NodeEntitySelectionItem]].



.. container:: api-index-section

   .. rubric:: Constructors

   .. rst-class:: api-index-list-item api-kind-constructor api-parent-kind-class

   * :js:meth:`~Selection.CompositeSelectionItem.constructor`



.. container:: api-index-section

   .. rubric:: Properties

   .. rst-class:: api-index-list-item api-kind-property api-parent-kind-class

   * :js:attr:`~Selection.CompositeSelectionItem.faceItem`
   * :js:attr:`~Selection.CompositeSelectionItem.lineItem`
   * :js:attr:`~Selection.CompositeSelectionItem.pointItem`



.. container:: api-index-section

   .. rubric:: Methods

   .. rst-class:: api-index-list-item api-kind-method api-parent-kind-class

   * :js:meth:`~Selection.CompositeSelectionItem.fetchMostRelevant`





------------

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

.. container:: ts-api-section

   .. js:function:: CompositeSelectionItem.constructor( faceItem, lineItem, pointItem)

      :param faceItem: None
      :type faceItem: null | FaceSelectionItem
      :param lineItem: None
      :type lineItem: null | LineSelectionItem
      :param pointItem: None
      :type pointItem: null | PointSelectionItem


      :rtype: CompositeSelectionItem



Properties
==========

.. container:: ts-api-section

   .. js:attribute:: CompositeSelectionItem.faceItem

      :type: null | FaceSelectionItem





.. container:: ts-api-section

   .. js:attribute:: CompositeSelectionItem.lineItem

      :type: null | LineSelectionItem





.. container:: ts-api-section

   .. js:attribute:: CompositeSelectionItem.pointItem

      :type: null | PointSelectionItem





Methods
=======

.. rst-class:: ts-api-section

fetchMostRelevant
-----------------

.. js:method:: CompositeSelectionItem.fetchMostRelevant( mask)

   :param mask: a selection mask used to indicate the relevancy of the item to retrieve.
   :type mask: SelectionMask


   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.

   :returns: the most relevant selection item if one exists.  If no relevant item is found, null is returned.


   :rtype: null | NodeEntitySelectionItem

