# DataExchange
TKXSBase
IFSelect

# IFSelect_SelectSuite Class Reference

A SelectSuite can describe a suite of SelectDeduct as a unique
one : in other words, it can be seen as a "macro selection"
It works by applying each of its items (which is a
SelectDeduct) on the result computed by the previous one
(by using Alternate Input)
But each of these Selections used as items may be used
independently, it will then give its own result
Hence, SelectSuite gives a way of defining a new Selection
from existing ones, without having to do copies or saves
.

`#include <IFSelect_SelectSuite.hxx>`

Inheritance diagram for IFSelect_SelectSuite:

[legend]

## Public Member Functions

Standard_EXPORT | IFSelect_SelectSuite ()
| Creates an empty SelectSuite .
Standard_EXPORT Standard_Boolean | AddInput (const Handle(IFSelect_Selection)&item)
| Adds an input selection. I.E. : If <item> is a SelectDeduct, adds it as Previous, not as Input Else, sets it as Input Returns True when done Returns False and refuses to work if Input is already defined .
Standard_EXPORT void | AddPrevious (const Handle(IFSelect_SelectDeduct)&item)
| Adds a new first item (prepends to the list). The Input is not touched If <item> is null, does nothing .
Standard_EXPORT void | AddNext (const Handle(IFSelect_SelectDeduct)&item)
| Adds a new last item (prepends to the list) If <item> is null, does nothing .
Standard_EXPORT Standard_Integer | NbItems () const
| Returns the count of Items .
Standard_EXPORT Handle_IFSelect_SelectDeduct | Item (const Standard_Integer num) const
| Returns an item from its rank in the list (the Input is always apart) .
Standard_EXPORT void | SetLabel (const Standard_CString lab)
| Sets a value for the Label .
Standard_EXPORT Interface_EntityIterator | RootResult (const Interface_Graph &G) const
| Returns the list of selected entities To do this, once InputResult has been taken (if Input or Alternate has been defined, else the first Item gives it) : this result is set as alternate input for the first item, which computes its result : this result is set as alternate input for the second item, etc... .
Standard_EXPORT TCollection_AsciiString | Label () const
| Returns the Label Either it has been defined by SetLabel, or it will give "Suite of nn Selections" .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Attributes

TCollection_AsciiString | thelab
TColStd_SequenceOfTransient | thesel

## Constructor & Destructor Documentation

Standard_EXPORT IFSelect_SelectSuite::IFSelect_SelectSuite | ( |  | ) |

## Member Function Documentation

Standard_EXPORT Standard_Boolean IFSelect_SelectSuite::AddInput | ( | const Handle(IFSelect_Selection)& | item | ) |

Standard_EXPORT void IFSelect_SelectSuite::AddNext | ( | const Handle(IFSelect_SelectDeduct)& | item | ) |

Standard_EXPORT void IFSelect_SelectSuite::AddPrevious | ( | const Handle(IFSelect_SelectDeduct)& | item | ) |

Standard_EXPORT const IFSelect_SelectSuite::Handle | ( | Standard_Type |  | ) | const

| Reimplemented from IFSelect_SelectDeduct.

Standard_EXPORT Handle_IFSelect_SelectDeduct IFSelect_SelectSuite::Item | ( | const Standard_Integer | num | ) | const

Standard_EXPORT TCollection_AsciiString IFSelect_SelectSuite::Label | ( |  | ) | const`[virtual]`

| Implements IFSelect_Selection.

Standard_EXPORT Standard_Integer IFSelect_SelectSuite::NbItems | ( |  | ) | const

Standard_EXPORT Interface_EntityIterator IFSelect_SelectSuite::RootResult | ( | const Interface_Graph & | G | ) | const`[virtual]`

| Implements IFSelect_Selection.

Standard_EXPORT void IFSelect_SelectSuite::SetLabel | ( | const Standard_CString | lab | ) |

## Field Documentation

TCollection_AsciiString IFSelect_SelectSuite::thelab`[private]`

TColStd_SequenceOfTransient IFSelect_SelectSuite::thesel`[private]`

| Reimplemented from IFSelect_SelectDeduct.

The documentation for this class was generated from the following file:

- IFSelect_SelectSuite.hxx