# DataExchange
TKXSBase
IFSelect

# IFSelect_TransformStandard Class Reference

This class runs transformations made by Modifiers, as
the ModelCopier does when it produces files (the same set
of Modifiers can then be used, as to transform the starting
Model, as at file sending time).
First, considering the resulting model, two options :
- modifications are made directly on the starting model
(OnTheSpot option), or
- data are copied by the standard service Copy, only the
remaining (not yet sent in a file) entities are copied
(StandardCopy option)
If a Selection is set, it forces the list of Entities on which
the Modifiers are applied. Else, each Modifier is considered
its Selection. By default, it is for the whole Model
Then, the Modifiers are sequentially applied
If at least one Modifier "May Change Graph", or if the option
StandardCopy is selected, the graph will be recomputed
(by the WorkSession, see method RunTransformer)
Remark that a TransformStandard with option StandardCopy
and no Modifier at all has the effect of computing the
remaining data (those not yet sent in any output file).
Moreover, the Protocol is not changed
.

`#include <IFSelect_TransformStandard.hxx>`

Inheritance diagram for IFSelect_TransformStandard:

[legend]

## Public Member Functions

Standard_EXPORT | IFSelect_TransformStandard ()
| Creates a TransformStandard, option StandardCopy, no Modifier .
Standard_EXPORT void | SetCopyOption (const Standard_Boolean option)
| Sets the Copy option to a new value : - True for StandardCopy - False for OnTheSpot .
Standard_EXPORT Standard_Boolean | CopyOption () const
| Returns the Copy option .
Standard_EXPORT void | SetSelection (const Handle(IFSelect_Selection)&sel)
| Sets a Selection (or unsets if Null) This Selection then defines the list of entities on which the Modifiers will be applied If it is set, it has priority on Selections of Modifiers Else, for each Modifier its Selection is evaluated By default, all the Model is taken .
Standard_EXPORT Handle_IFSelect_Selection | Selection () const
| Returns the Selection, Null by default .
Standard_EXPORT Standard_Integer | NbModifiers () const
| Returns the count of recorded Modifiers .
Standard_EXPORT Handle_IFSelect_Modifier | Modifier (const Standard_Integer num) const
| Returns a Modifier given its rank in the list .
Standard_EXPORT Standard_Integer | ModifierRank (const Handle(IFSelect_Modifier)&modif) const
| Returns the rank of a Modifier in the list, 0 if unknown .
Standard_EXPORT Standard_Boolean | AddModifier (const Handle(IFSelect_Modifier)&modif, const Standard_Integer atnum=0)
| Adds a Modifier to the list : - <atnum> = 0 (default) : at the end of the list - <atnum> > 0 : at rank <atnum> Returns True if done, False if <atnum> is out of range .
Standard_EXPORT Standard_Boolean | RemoveModifier (const Handle(IFSelect_Modifier)&modif)
| Removes a Modifier from the list Returns True if done, False if <modif> not in the list .
Standard_EXPORT Standard_Boolean | RemoveModifier (const Standard_Integer num)
| Removes a Modifier from the list, given its rank Returns True if done, False if <num> is out of range .
Standard_EXPORT Standard_Boolean | Perform (const Interface_Graph &G, const Handle(Interface_Protocol)&protocol, Interface_CheckIterator &checks, Handle(Interface_InterfaceModel)&newmod)
| Performs the Standard Transformation, by calling Copy then ApplyModifiers (which can return an error status) .
Standard_EXPORT void | Copy (const Interface_Graph &G, Interface_CopyTool &TC, Handle(Interface_InterfaceModel)&newmod) const
| This the first operation. It calls StandardCopy or OnTheSpot according the option .
Standard_EXPORT void | StandardCopy (const Interface_Graph &G, Interface_CopyTool &TC, Handle(Interface_InterfaceModel)&newmod) const
| This is the standard action of Copy : its takes into account only the remaining entities (noted by Graph Status positive) and their proper dependances of course. Produces a new model. .
Standard_EXPORT void | OnTheSpot (const Interface_Graph &G, Interface_CopyTool &TC, Handle(Interface_InterfaceModel)&newmod) const
| This is the OnTheSpot action : each entity is bound with ... itself. The produced model is the same as the starting one. .
Standard_EXPORT Standard_Boolean | ApplyModifiers (const Interface_Graph &G, const Handle(Interface_Protocol)&protocol, Interface_CopyTool &TC, Interface_CheckIterator &checks, Handle(Interface_InterfaceModel)&newmod) const
| Applies the modifiers sequencially. For each one, prepares required data (if a Selection is associated as a filter). For the option OnTheSpot, it determines if the graph may be changed and updates <newmod> if required If a Modifier causes an error (check "HasFailed"), ApplyModifier stops : the following Modifiers are ignored .
Standard_EXPORT Standard_Boolean | Updated (const Handle(Standard_Transient)&entfrom, Handle(Standard_Transient)&entto) const
| This methods allows to know what happened to a starting entity after the last Perform. It reads result from the map which was filled by Perform. .
Standard_EXPORT TCollection_AsciiString | Label () const
| Returns a text which defines the way a Transformer works : "On the spot edition" or "Standard Copy" followed by "<nn> Modifiers" .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Private Attributes

Standard_Boolean | thecopy
Handle_IFSelect_Selection | thesel
IFSelect_SequenceOfGeneralModifier | themodifs
Handle_Interface_CopyControl | themap

## Constructor & Destructor Documentation

Standard_EXPORT IFSelect_TransformStandard::IFSelect_TransformStandard | ( |  | ) |

## Member Function Documentation

Standard_EXPORT Standard_Boolean IFSelect_TransformStandard::AddModifier | ( | const Handle(IFSelect_Modifier)& | modif,
|  | const Standard_Integer | atnum = `0`
| ) |

Standard_EXPORT Standard_Boolean IFSelect_TransformStandard::ApplyModifiers | ( | const Interface_Graph & | G,
|  | const Handle(Interface_Protocol)& | protocol,
|  | Interface_CopyTool & | TC,
|  | Interface_CheckIterator & | checks,
|  | Handle(Interface_InterfaceModel)& | newmod
| ) | const

Standard_EXPORT void IFSelect_TransformStandard::Copy | ( | const Interface_Graph & | G,
|  | Interface_CopyTool & | TC,
|  | Handle(Interface_InterfaceModel)& | newmod
| ) | const

Standard_EXPORT Standard_Boolean IFSelect_TransformStandard::CopyOption | ( |  | ) | const

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

| Reimplemented from IFSelect_Transformer.

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

| Implements IFSelect_Transformer.

Standard_EXPORT Handle_IFSelect_Modifier IFSelect_TransformStandard::Modifier | ( | const Standard_Integer | num | ) | const

Standard_EXPORT Standard_Integer IFSelect_TransformStandard::ModifierRank | ( | const Handle(IFSelect_Modifier)& | modif | ) | const

Standard_EXPORT Standard_Integer IFSelect_TransformStandard::NbModifiers | ( |  | ) | const

Standard_EXPORT void IFSelect_TransformStandard::OnTheSpot | ( | const Interface_Graph & | G,
|  | Interface_CopyTool & | TC,
|  | Handle(Interface_InterfaceModel)& | newmod
| ) | const

Standard_EXPORT Standard_Boolean IFSelect_TransformStandard::Perform | ( | const Interface_Graph & | G,
|  | const Handle(Interface_Protocol)& | protocol,
|  | Interface_CheckIterator & | checks,
|  | Handle(Interface_InterfaceModel)& | newmod
| ) | `[virtual]`

| Implements IFSelect_Transformer.

Standard_EXPORT Standard_Boolean IFSelect_TransformStandard::RemoveModifier | ( | const Standard_Integer | num | ) |

Standard_EXPORT Standard_Boolean IFSelect_TransformStandard::RemoveModifier | ( | const Handle(IFSelect_Modifier)& | modif | ) |

Standard_EXPORT Handle_IFSelect_Selection IFSelect_TransformStandard::Selection | ( |  | ) | const

Standard_EXPORT void IFSelect_TransformStandard::SetCopyOption | ( | const Standard_Boolean | option | ) |

Standard_EXPORT void IFSelect_TransformStandard::SetSelection | ( | const Handle(IFSelect_Selection)& | sel | ) |

Standard_EXPORT void IFSelect_TransformStandard::StandardCopy | ( | const Interface_Graph & | G,
|  | Interface_CopyTool & | TC,
|  | Handle(Interface_InterfaceModel)& | newmod
| ) | const

Standard_EXPORT Standard_Boolean IFSelect_TransformStandard::Updated | ( | const Handle(Standard_Transient)& | entfrom,
|  | Handle(Standard_Transient)& | entto
| ) | const`[virtual]`

| Implements IFSelect_Transformer.

## Field Documentation

Standard_Boolean IFSelect_TransformStandard::thecopy `[private]`

Handle_Interface_CopyControl IFSelect_TransformStandard::themap `[private]`

IFSelect_SequenceOfGeneralModifier IFSelect_TransformStandard::themodifs `[private]`

Handle_IFSelect_Selection IFSelect_TransformStandard::thesel `[private]`

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

- IFSelect_TransformStandard.hxx