# DataExchange
TKXSBase
IFSelect

# IFSelect_SelectExtract Class Reference

A SelectExtract determines a list of Entities from an Input
Selection, as a sub-list of the Input Result
It works by applying a sort criterium on each Entity of the
Input. This criterium can be applied Direct to Pick Items
(default case) or Reverse to Remove Item
Basic features (the unique Input) are inherited from SelectDeduct
.

`#include <IFSelect_SelectExtract.hxx>`

Inheritance diagram for IFSelect_SelectExtract:

[legend]

## Public Member Functions

Standard_EXPORT Standard_Boolean | IsDirect () const
| Returns True if Sort criterium is Direct, False if Reverse .
Standard_EXPORT void | SetDirect (const Standard_Boolean direct)
| Sets Sort criterium sense to a new value (True : Direct , False : Reverse) .
virtual Standard_EXPORT Interface_EntityIterator | RootResult (const Interface_Graph &G) const
| Returns the list of selected entities. Works by calling the method Sort on each input Entity : the Entity is kept as output if Sort returns the same value as Direct status .
virtual Standard_EXPORT Standard_Boolean | Sort (const Standard_Integer rank, const Handle(Standard_Transient)&ent, const Handle(Interface_InterfaceModel)&model) const =0
| Returns True for an Entity if it satisfies the Sort criterium It receives : - <rank>, the rank of the Entity in the Iteration, - <ent> , the Entity itself, and - <model>, the Starting Model Hence, the Entity to check is "model->Value(num)" (but an InterfaceModel allows other checks) This method is specific to each class of SelectExtract .
virtual Standard_EXPORT Standard_Boolean | SortInGraph (const Standard_Integer rank, const Handle(Standard_Transient)&ent, const Interface_Graph &G) const
| Works as Sort but works on the Graph Default directly calls Sort, but it can be redefined If SortInGraph is redefined, Sort should be defined even if not called (to avoid deferred methods in a final class) .
Standard_EXPORT TCollection_AsciiString | Label () const
| Returns a text saying "Picked" or "Removed", plus the specific criterium returned by ExtractLabel (see below) .
virtual Standard_EXPORT TCollection_AsciiString | ExtractLabel () const =0
| Returns a text defining the criterium for extraction .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Protected Member Functions

Standard_EXPORT | IFSelect_SelectExtract ()
| Initializes a SelectExtract : enforces the sort to be Direct .

## Private Attributes

Standard_Boolean | thesort

## Constructor & Destructor Documentation

Standard_EXPORT IFSelect_SelectExtract::IFSelect_SelectExtract | ( |  | ) | `[protected]`

## Member Function Documentation

virtual Standard_EXPORT TCollection_AsciiString IFSelect_SelectExtract::ExtractLabel | ( |  | ) | const`[pure virtual]`

| Implemented in IFSelect_SelectErrorEntities, IFSelect_SelectFlag, IFSelect_SelectRange, IFSelect_SelectRootComps, IFSelect_SelectRoots, IFSelect_SelectSent, IFSelect_SelectSignature, IFSelect_SelectType, IFSelect_SelectUnknownEntities, IGESSelect_SelectLevelNumber, IGESSelect_SelectName, IGESSelect_SelectSubordinate, IGESSelect_SelectVisibleStatus, and XSControl_SelectForTransfer.

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

Reimplemented from IFSelect_SelectDeduct.

Reimplemented in IFSelect_SelectAnyType, IFSelect_SelectErrorEntities, IFSelect_SelectFlag, IFSelect_SelectIncorrectEntities, IFSelect_SelectRange, IFSelect_SelectRootComps, IFSelect_SelectRoots, IFSelect_SelectSent, IFSelect_SelectSignature, IFSelect_SelectType, IFSelect_SelectUnknownEntities, IGESSelect_SelectLevelNumber, IGESSelect_SelectName, IGESSelect_SelectSubordinate, IGESSelect_SelectVisibleStatus, STEPSelections_SelectForTransfer, and XSControl_SelectForTransfer.

Standard_EXPORT Standard_Boolean IFSelect_SelectExtract::IsDirect | ( |  | ) | const

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

| Implements IFSelect_Selection.

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

| Implements IFSelect_Selection. Reimplemented in IFSelect_SelectFlag, IFSelect_SelectRootComps, IFSelect_SelectRoots, IFSelect_SelectSent, and STEPSelections_SelectForTransfer.

Standard_EXPORT void IFSelect_SelectExtract::SetDirect | ( | const Standard_Boolean | direct | ) |

virtual Standard_EXPORT Standard_Boolean IFSelect_SelectExtract::Sort | ( | const Standard_Integer | rank,
|  | const Handle(Standard_Transient)& | ent,
|  | const Handle(Interface_InterfaceModel)& | model
| ) | const`[pure virtual]`

| Implemented in IFSelect_SelectAnyType, IFSelect_SelectErrorEntities, IFSelect_SelectFlag, IFSelect_SelectRange, IFSelect_SelectRootComps, IFSelect_SelectRoots, IFSelect_SelectSent, IFSelect_SelectSignature, IFSelect_SelectUnknownEntities, IGESSelect_SelectLevelNumber, IGESSelect_SelectName, IGESSelect_SelectSubordinate, IGESSelect_SelectVisibleStatus, and XSControl_SelectForTransfer.

virtual Standard_EXPORT Standard_Boolean IFSelect_SelectExtract::SortInGraph | ( | const Standard_Integer | rank,
|  | const Handle(Standard_Transient)& | ent,
|  | const Interface_Graph & | G
| ) | const`[virtual]`

| Reimplemented in IFSelect_SelectSignature.

## Field Documentation

Standard_Boolean IFSelect_SelectExtract::thesort`[private]`

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

- IFSelect_SelectExtract.hxx