# DataExchange
TKXSBase
IFSelect

# IFSelect_GeneralModifier Class Reference

This class gives a frame for Actions which modify the effect
of a Dispatch, i.e. :
By Selections and Dispatches, an original Model can be
splitted into one or more "target" Models : these Models
contain Entities copied from the original one (that is, a
part of it). Basically, these dispatched Entities are copied
as identical to their original counterparts. Also the copied
Models reproduce the Header of the original one.
Modifiers allow to change this copied content : this is the
way to be used for any kind of alterations, adaptations ...
They are exploited by a ModelCopier, which firstly performs
the copy operation described by Dispatches, then invokes the
Modifiers to work on the result.
Each GeneralModifier can be attached to :
- all the Models produced
- a Dispatch (it will be applied to all the Models obtained
from this Dispatch) designated by its Ident in a ShareOut
- in addition, to a Selection (facultative) : this adds a
criterium, the Modifier is invoked on a produced Model only
if this Model contains an Entity copied from one of the
Entities designated by this Selection.
(for special Modifiers from IFAdapt, while they must work on
definite Entities, this Selection is mandatory to run)
Remark : this class has no action attached, it only provides
a frame to work on criteria. Then, sub-classes will define
their kind of action, which can be applied at a precise step
of the production of a File : see Modifier, and in the
package IFAdapt, EntityModifier and EntityCopier
.

`#include <IFSelect_GeneralModifier.hxx>`

Inheritance diagram for IFSelect_GeneralModifier:

[legend]

## Public Member Functions

Standard_EXPORT Standard_Boolean | MayChangeGraph () const
| Returns True if this modifier may change the graph of dependences (aknowledged at creation time) .
Standard_EXPORT void | SetDispatch (const Handle(IFSelect_Dispatch)&disp)
| Attaches to a Dispatch. If <disp> is Null, Resets it (to apply the Modifier on every Dispatch) .
Standard_EXPORT Handle_IFSelect_Dispatch | Dispatch () const
| Returns the Dispatch to be matched, Null if not set .
Standard_EXPORT Standard_Boolean | Applies (const Handle(IFSelect_Dispatch)&disp) const
| Returns True if a Model obtained from the Dispatch <disp> is to be treated (apart from the Selection criterium) If Dispatch(me) is Null, returns True. Else, checks <disp> .
Standard_EXPORT void | SetSelection (const Handle(IFSelect_Selection)&sel)
| Sets a Selection : a Model is treated if it contains one or more Entities designated by the Selection .
Standard_EXPORT void | ResetSelection ()
| Resets the Selection : this criterium is not longer active .
Standard_EXPORT Standard_Boolean | HasSelection () const
| Returns True if a Selection is set as an additionnal criterium .
Standard_EXPORT Handle_IFSelect_Selection | Selection () const
| Returns the Selection, or a Null Handle if not set .
virtual Standard_EXPORT TCollection_AsciiString | Label () const =0
| Returns a short text which defines the operation performed .
Standard_EXPORT const | Handle (Standard_Type)&DynamicType() const

## Protected Member Functions

Standard_EXPORT | IFSelect_GeneralModifier (const Standard_Boolean maychangegraph)
| Sets the Modifier criteria to default Values (i.e. "always applies") <maychangegraph> must be provided at creation time, to : - False if this GeneralModifier surely lets the graph of dependencies unchanged (NO edition of any reference, BUT also NO entity added or replaced or removed) - True if there is a possibility of changing the graph of dependencies when this modifier is applied .

## Private Attributes

Handle_IFSelect_Selection | thesel
Handle_IFSelect_Dispatch | thedisp
Standard_Boolean | thechgr

## Constructor & Destructor Documentation

Standard_EXPORT IFSelect_GeneralModifier::IFSelect_GeneralModifier | ( | const Standard_Boolean | maychangegraph | ) | `[protected]`

## Member Function Documentation

Standard_EXPORT Standard_Boolean IFSelect_GeneralModifier::Applies | ( | const Handle(IFSelect_Dispatch)& | disp | ) | const

Standard_EXPORT Handle_IFSelect_Dispatch IFSelect_GeneralModifier::Dispatch | ( |  | ) | const

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

Reimplemented in IFSelect_ModifEditForm, IFSelect_Modifier, IFSelect_ModifReorder, IGESSelect_AddFileComment, IGESSelect_AddGroup, IGESSelect_AutoCorrect, IGESSelect_ChangeLevelList, IGESSelect_ChangeLevelNumber, IGESSelect_ComputeStatus, IGESSelect_FileModifier, IGESSelect_FloatFormat, IGESSelect_ModelModifier, IGESSelect_RebuildDrawings, IGESSelect_RebuildGroups, IGESSelect_RemoveCurves, IGESSelect_SetGlobalParameter, IGESSelect_SetLabel, IGESSelect_SetVersion5, IGESSelect_UpdateCreationDate, IGESSelect_UpdateFileName, IGESSelect_UpdateLastChange, StepSelect_FileModifier, StepSelect_FloatFormat, and StepSelect_ModelModifier.

Standard_EXPORT Standard_Boolean IFSelect_GeneralModifier::HasSelection | ( |  | ) | const

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

Implemented in IFSelect_ModifEditForm, IFSelect_ModifReorder, IGESSelect_AddFileComment, IGESSelect_AddGroup, IGESSelect_AutoCorrect, IGESSelect_ChangeLevelList, IGESSelect_ChangeLevelNumber, IGESSelect_ComputeStatus, IGESSelect_FloatFormat, IGESSelect_RebuildDrawings, IGESSelect_RebuildGroups, IGESSelect_RemoveCurves, IGESSelect_SetGlobalParameter, IGESSelect_SetLabel, IGESSelect_SetVersion5, IGESSelect_UpdateCreationDate, IGESSelect_UpdateFileName, IGESSelect_UpdateLastChange, and StepSelect_FloatFormat.

Standard_EXPORT Standard_Boolean IFSelect_GeneralModifier::MayChangeGraph | ( |  | ) | const

Standard_EXPORT void IFSelect_GeneralModifier::ResetSelection | ( |  | ) |

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

Standard_EXPORT void IFSelect_GeneralModifier::SetDispatch | ( | const Handle(IFSelect_Dispatch)& | disp | ) |

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

## Field Documentation

Standard_Boolean IFSelect_GeneralModifier::thechgr `[private]`

Handle_IFSelect_Dispatch IFSelect_GeneralModifier::thedisp `[private]`

Handle_IFSelect_Selection IFSelect_GeneralModifier::thesel `[private]`

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

- IFSelect_GeneralModifier.hxx