# DataExchange
TKXSBase
IFSelect

# IFSelect_SelectDeduct Class Reference

A SelectDeduct determines a list of Entities from an Input
Selection, by a computation : Output list is not obliged to be
a sub-list of Input list
(for more specific, see SelectExtract for filtered sub-lists,
and SelectExplore for recurcive exploration)
A SelectDeduct may use an alternate input for one shot
This allows to use an already existing definition, by
overloading the input selection by an alternate list,
already defined, for one use :
If this alternate list is set, InputResult queries it instead
of calling the input selection, then clears it immediately
.

`#include <IFSelect_SelectDeduct.hxx>`

Inheritance diagram for IFSelect_SelectDeduct:

[legend]

## Public Member Functions

Standard_EXPORT void | SetInput (const Handle(IFSelect_Selection)&sel)
| Defines or Changes the Input Selection .
Standard_EXPORT Handle_IFSelect_Selection | Input () const
| Returns the Input Selection .
Standard_EXPORT Standard_Boolean | HasInput () const
| Returns True if the Input Selection is defined, False else .
Standard_EXPORT Standard_Boolean | HasAlternate () const
| Tells if an Alternate List has been set, i.e. : the Alternate Definition is present and set .
Standard_EXPORT Handle_IFSelect_SelectPointed & | Alternate ()
| Returns the Alternate Definition It is returned modifiable, hence an already defined SelectPointed can be used But if it was not yet defined, it is created the first time It is exploited by InputResult .
Standard_EXPORT Interface_EntityIterator | InputResult (const Interface_Graph &G) const
| Returns the Result determined by Input Selection, as Unique if Input Selection is not defined, returns an empty list. If Alternate is set, InputResult takes its definition instead of calling the Input Selection, then clears it .
Standard_EXPORT void | FillIterator (IFSelect_SelectionIterator &iter) const
| Puts in an Iterator the Selections from which "me" depends This list contains one Selection : the InputSelection .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Attributes

Handle_IFSelect_Selection | thesel
Handle_IFSelect_SelectPointed | thealt

## Member Function Documentation

Standard_EXPORT Handle_IFSelect_SelectPointed& IFSelect_SelectDeduct::Alternate | ( |  | ) |

Standard_EXPORT void IFSelect_SelectDeduct::FillIterator | ( | IFSelect_SelectionIterator & | iter | ) | const`[virtual]`

| Implements IFSelect_Selection.

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

Reimplemented from IFSelect_Selection.

Reimplemented in IFSelect_SelectAnyList, IFSelect_SelectAnyType, IFSelect_SelectErrorEntities, IFSelect_SelectExplore, IFSelect_SelectExtract, IFSelect_SelectFlag, IFSelect_SelectIncorrectEntities, IFSelect_SelectInList, IFSelect_SelectRange, IFSelect_SelectRootComps, IFSelect_SelectRoots, IFSelect_SelectSent, IFSelect_SelectShared, IFSelect_SelectSharing, IFSelect_SelectSignature, IFSelect_SelectSignedShared, IFSelect_SelectSignedSharing, IFSelect_SelectSuite, IFSelect_SelectType, IFSelect_SelectUnknownEntities, IGESSelect_SelectBasicGeom, IGESSelect_SelectBypassGroup, IGESSelect_SelectBypassSubfigure, IGESSelect_SelectDrawingFrom, IGESSelect_SelectFaces, IGESSelect_SelectFromDrawing, IGESSelect_SelectFromSingleView, IGESSelect_SelectLevelNumber, IGESSelect_SelectName, IGESSelect_SelectPCurves, IGESSelect_SelectSingleViewFrom, IGESSelect_SelectSubordinate, IGESSelect_SelectVisibleStatus, STEPSelections_SelectAssembly, STEPSelections_SelectFaces, STEPSelections_SelectForTransfer, STEPSelections_SelectGSCurves, STEPSelections_SelectInstances, XSControl_ConnectedShapes, and XSControl_SelectForTransfer.

Standard_EXPORT Standard_Boolean IFSelect_SelectDeduct::HasAlternate | ( |  | ) | const

Standard_EXPORT Standard_Boolean IFSelect_SelectDeduct::HasInput | ( |  | ) | const

Standard_EXPORT Handle_IFSelect_Selection IFSelect_SelectDeduct::Input | ( |  | ) | const

Standard_EXPORT Interface_EntityIterator IFSelect_SelectDeduct::InputResult | ( | const Interface_Graph & | G | ) | const

Standard_EXPORT void IFSelect_SelectDeduct::SetInput | ( | const Handle(IFSelect_Selection)& | sel | ) |

## Field Documentation

Handle_IFSelect_SelectPointed IFSelect_SelectDeduct::thealt `[private]`

Handle_IFSelect_Selection IFSelect_SelectDeduct::thesel `[private]`

| Reimplemented in IFSelect_SelectSuite.

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

- IFSelect_SelectDeduct.hxx