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

.. js:class:: wv.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:`~wv.Selection.CompositeSelectionItem.constructor`
   
   .. rubric:: Properties
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:data:`~wv.Selection.CompositeSelectionItem.faceItem`
   * :js:data:`~wv.Selection.CompositeSelectionItem.lineItem`
   * :js:data:`~wv.Selection.CompositeSelectionItem.pointItem`
   
   .. rubric:: Methods
   
   
   .. rst-class:: api-xref-list
   
   
   * :js:meth:`~wv.Selection.CompositeSelectionItem.fetchMostRelevant`
   
   



.. rst-class:: kind-group kind-constructors

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


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

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



.. rst-class:: kind-group kind-properties

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


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

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



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

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



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

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



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

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


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

      .. rst-class:: sig-pretty-signature
      
         | fetchMostRelevant(**mask**\ : :js:data:`SelectionMask <wv.SelectionMask>`\ ): (*None* | :js:class:`NodeEntitySelectionItem <wv.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 <wv.SelectionMask>`
      
      
            a selection mask used to indicate the relevancy of the item to retrieve.
      
      
      
      **Returns**\ : (*None* \| :js:class:`NodeEntitySelectionItem <wv.Selection.NodeEntitySelectionItem>`\ )
      
      
         the most relevant selection item if one exists.  If no relevant item is found, null is returned.
      
      




