Open CASCADE Technology
7.4.0
|
This class performs the Copy operations involved by the description of a ShareOut (evaluated by a ShareOutResult) plus, if there are, the Modifications on the results, with the help of Modifiers. Each Modifier can work on one or more resulting packets, accoding its criteria : it operates on a Model once copied and filled with the content of the packet. More...
#include <IFSelect_ModelCopier.hxx>
Public Member Functions | |
IFSelect_ModelCopier () | |
Creates an empty ModelCopier. More... | |
void | SetShareOut (const Handle< IFSelect_ShareOut > &sho) |
Sets the ShareOut, which is used to define Modifiers to apply. More... | |
void | ClearResult () |
Clears the list of produced Models. More... | |
Standard_Boolean | AddFile (const TCollection_AsciiString &filename, const Handle< Interface_InterfaceModel > &content) |
Records a new File to be sent, as a couple (Name as AsciiString, Content as InterfaceModel) Returns True if Done, False if <filename> is already attached to another File. More... | |
Standard_Boolean | NameFile (const Standard_Integer num, const TCollection_AsciiString &filename) |
Changes the Name attached to a File which was formerly defined by a call to AddFile Returns True if Done, False else : if <num> out of range or if the new <filename> is already attached to another File Remark : Giving an empty File Name is equivalent to ClearFile. More... | |
Standard_Boolean | ClearFile (const Standard_Integer num) |
Clears the Name attached to a File which was formerly defined by a call to AddFile. This Clearing can be undone by a call to NameFile (with same <num>) Returns True if Done, False else : if <num> is out of range. More... | |
Standard_Boolean | SetAppliedModifiers (const Standard_Integer num, const Handle< IFSelect_AppliedModifiers > &applied) |
Sets a list of File Modifiers to be applied on a file. More... | |
Standard_Boolean | ClearAppliedModifiers (const Standard_Integer num) |
Clears the list of File Modifiers to be applied on a file. More... | |
Interface_CheckIterator | Copy (IFSelect_ShareOutResult &eval, const Handle< IFSelect_WorkLibrary > &WL, const Handle< Interface_Protocol > &protocol) |
Performs the Copy Operations, which include the Modifications defined by the list of Modifiers. Memorizes the result, as a list of InterfaceModels with the corresponding FileNames They can then be sent, by the method Send, or queried Copy calls internal method Copying. Returns the produced CheckList. More... | |
Interface_CheckIterator | SendCopied (const Handle< IFSelect_WorkLibrary > &WL, const Handle< Interface_Protocol > &protocol) |
Sends the formerly defined results (see method Copy) to files, then clears it Remark : A Null File Name cause file to be not produced. More... | |
Interface_CheckIterator | Send (IFSelect_ShareOutResult &eval, const Handle< IFSelect_WorkLibrary > &WL, const Handle< Interface_Protocol > &protocol) |
Performs the Copy Operations (which include the Modifications) and Sends the result on files, without memorizing it. (the memorized result is ignored : neither queried not filled) More... | |
Interface_CheckIterator | SendAll (const Standard_CString filename, const Interface_Graph &G, const Handle< IFSelect_WorkLibrary > &WL, const Handle< Interface_Protocol > &protocol) |
Sends a model (defined in <G>) into one file, without managing remaining data, already sent files, etc. Applies the Model and File Modifiers. Returns True if well done, False else. More... | |
Interface_CheckIterator | SendSelected (const Standard_CString filename, const Interface_Graph &G, const Handle< IFSelect_WorkLibrary > &WL, const Handle< Interface_Protocol > &protocol, const Interface_EntityIterator &iter) |
Sends a part of a model into one file. Model is gotten from <G>, the part is defined in <iter>. Remaining data are managed and can be later be worked on. Returns True if well done, False else. More... | |
void | CopiedRemaining (const Interface_Graph &G, const Handle< IFSelect_WorkLibrary > &WL, Interface_CopyTool &TC, Handle< Interface_InterfaceModel > &newmod) |
Produces a Model copied from the Remaining List as <newmod> <newmod> is a Null Handle if this list is empty <WL> performs the copy by using <TC> <TC> is assumed to have been defined with the starting model same as defined by <G>. More... | |
Standard_Boolean | SetRemaining (Interface_Graph &CG) const |
Updates Graph status for remaining data, for each entity : More... | |
Standard_Integer | NbFiles () const |
Returns the count of Files produced, i.e. the count of Models memorized (produced by the mmethod Copy) with their file names. More... | |
TCollection_AsciiString | FileName (const Standard_Integer num) const |
Returns the File Name for a file given its rank It is empty after a call to ClearFile on same <num> More... | |
Handle< Interface_InterfaceModel > | FileModel (const Standard_Integer num) const |
Returns the content of a file before sending, under the form of an InterfaceModel, given its rank. More... | |
Handle< IFSelect_AppliedModifiers > | AppliedModifiers (const Standard_Integer num) const |
Returns the list of File Modifiers to be applied on a file when it will be sent, as computed by CopiedModel : If it is a null handle, no File Modifier has to be applied. More... | |
void | BeginSentFiles (const Handle< IFSelect_ShareOut > &sho, const Standard_Boolean record) |
Begins a sequence of recording the really sent files <sho> : the default file numbering is cleared If <record> is False, clears the list and stops recording If <record> is True, clears the list and commands recording Creation time corresponds to "stop recording". More... | |
void | AddSentFile (const Standard_CString filename) |
Adds the name of a just sent file, if BeginSentFiles has commanded recording; else does nothing It is called by methods SendCopied Sending. More... | |
Handle< TColStd_HSequenceOfHAsciiString > | SentFiles () const |
Returns the list of recorded names of sent files. Can be empty (if no file has been sent). Returns a Null Handle if BeginSentFiles has stopped recording. More... | |
Public Member Functions inherited from Standard_Transient | |
Standard_Transient () | |
Empty constructor. More... | |
Standard_Transient (const Standard_Transient &) | |
Copy constructor – does nothing. More... | |
Standard_Transient & | operator= (const Standard_Transient &) |
Assignment operator, needed to avoid copying reference counter. More... | |
virtual | ~Standard_Transient () |
Destructor must be virtual. More... | |
virtual void | Delete () const |
Memory deallocator for transient classes. More... | |
virtual const opencascade::handle< Standard_Type > & | DynamicType () const |
Returns a type descriptor about this object. More... | |
Standard_Boolean | IsInstance (const opencascade::handle< Standard_Type > &theType) const |
Returns a true value if this is an instance of Type. More... | |
Standard_Boolean | IsInstance (const Standard_CString theTypeName) const |
Returns a true value if this is an instance of TypeName. More... | |
Standard_Boolean | IsKind (const opencascade::handle< Standard_Type > &theType) const |
Returns true if this is an instance of Type or an instance of any class that inherits from Type. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Boolean | IsKind (const Standard_CString theTypeName) const |
Returns true if this is an instance of TypeName or an instance of any class that inherits from TypeName. Note that multiple inheritance is not supported by OCCT RTTI mechanism. More... | |
Standard_Transient * | This () const |
Returns non-const pointer to this object (like const_cast). For protection against creating handle to objects allocated in stack or call from constructor, it will raise exception Standard_ProgramError if reference counter is zero. More... | |
Standard_Integer | GetRefCount () const |
Get the reference counter of this object. More... | |
void | IncrementRefCounter () const |
Increments the reference counter of this object. More... | |
Standard_Integer | DecrementRefCounter () const |
Decrements the reference counter of this object; returns the decremented value. More... | |
Protected Member Functions | |
Interface_CheckIterator | Copying (IFSelect_ShareOutResult &eval, const Handle< IFSelect_WorkLibrary > &WL, const Handle< Interface_Protocol > &protocol, Interface_CopyTool &TC) |
Internal routine which does the effective Copy. It allows to work, either with a standard CopyTool, or a specialised one Copying itself is done by <WL> which uses a CopyTool. More... | |
Interface_CheckIterator | Sending (IFSelect_ShareOutResult &eval, const Handle< IFSelect_WorkLibrary > &WL, const Handle< Interface_Protocol > &protocol, Interface_CopyTool &TC) |
Internal routine which does the effective Send. It allows to work, either with a standard CopyTool, or a specialised one. More... | |
void | CopiedModel (const Interface_Graph &G, const Handle< IFSelect_WorkLibrary > &WL, const Handle< Interface_Protocol > &protocol, const Interface_EntityIterator &topcopy, const TCollection_AsciiString &filename, const Standard_Integer dispnum, const Standard_Integer numod, Interface_CopyTool &TC, Handle< Interface_InterfaceModel > &newmod, Handle< IFSelect_AppliedModifiers > &applied, Interface_CheckIterator &checks) const |
Performs the Copy of a unitary Packet Input parameters are : <G> is the graph which defines the starting entities, it contains the original InterfaceModel <WL> performs the copy by using <TC> <protocol> is the used protocol (can be usefull for Modifiers) <topcopy> is the list of Entities which are the Roots of the packet to be copied <filename> is the name of the file which will receive it <dispid> is the Identifier of the Dispatch which have produced this packet, <numod> is the rank of the packet for this Dispatch <TC> is a CopyTool, which performs the copy. More... | |
Additional Inherited Members | |
Public Types inherited from Standard_Transient | |
typedef void | base_type |
Returns a type descriptor about this object. More... | |
Static Public Member Functions inherited from Standard_Transient | |
static const char * | get_type_name () |
Returns a type descriptor about this object. More... | |
static const opencascade::handle< Standard_Type > & | get_type_descriptor () |
Returns type descriptor of Standard_Transient class. More... | |
This class performs the Copy operations involved by the description of a ShareOut (evaluated by a ShareOutResult) plus, if there are, the Modifications on the results, with the help of Modifiers. Each Modifier can work on one or more resulting packets, accoding its criteria : it operates on a Model once copied and filled with the content of the packet.
Modifiers can be :
The Copy operations can be :
In addition, a list of really written files is managed : A first call to BeginSentFiles clears the list and commands, either to begin a new list, or to stop recording it. A call to SentFiles returns the list (if recording has been required) This list allows to globally exploit the set of produced files
Remark : For operations which concern specific Entities, see also in package IFAdapt : a sub-class of ModelCopier allows to work with EntityModifier, in addition to Modifier itself which still applies to a whole copied Model.
IFSelect_ModelCopier::IFSelect_ModelCopier | ( | ) |
Creates an empty ModelCopier.
Standard_Boolean IFSelect_ModelCopier::AddFile | ( | const TCollection_AsciiString & | filename, |
const Handle< Interface_InterfaceModel > & | content | ||
) |
Records a new File to be sent, as a couple (Name as AsciiString, Content as InterfaceModel) Returns True if Done, False if <filename> is already attached to another File.
void IFSelect_ModelCopier::AddSentFile | ( | const Standard_CString | filename | ) |
Adds the name of a just sent file, if BeginSentFiles has commanded recording; else does nothing It is called by methods SendCopied Sending.
Handle< IFSelect_AppliedModifiers > IFSelect_ModelCopier::AppliedModifiers | ( | const Standard_Integer | num | ) | const |
Returns the list of File Modifiers to be applied on a file when it will be sent, as computed by CopiedModel : If it is a null handle, no File Modifier has to be applied.
void IFSelect_ModelCopier::BeginSentFiles | ( | const Handle< IFSelect_ShareOut > & | sho, |
const Standard_Boolean | record | ||
) |
Begins a sequence of recording the really sent files <sho> : the default file numbering is cleared If <record> is False, clears the list and stops recording If <record> is True, clears the list and commands recording Creation time corresponds to "stop recording".
Standard_Boolean IFSelect_ModelCopier::ClearAppliedModifiers | ( | const Standard_Integer | num | ) |
Clears the list of File Modifiers to be applied on a file.
Standard_Boolean IFSelect_ModelCopier::ClearFile | ( | const Standard_Integer | num | ) |
Clears the Name attached to a File which was formerly defined by a call to AddFile. This Clearing can be undone by a call to NameFile (with same <num>) Returns True if Done, False else : if <num> is out of range.
void IFSelect_ModelCopier::ClearResult | ( | ) |
Clears the list of produced Models.
|
protected |
Performs the Copy of a unitary Packet Input parameters are : <G> is the graph which defines the starting entities, it contains the original InterfaceModel <WL> performs the copy by using <TC> <protocol> is the used protocol (can be usefull for Modifiers) <topcopy> is the list of Entities which are the Roots of the packet to be copied <filename> is the name of the file which will receive it <dispid> is the Identifier of the Dispatch which have produced this packet, <numod> is the rank of the packet for this Dispatch <TC> is a CopyTool, which performs the copy.
Returned values (as arguments) are : <newmod> is the result of the copy, as a new InterfaceModel on which Model Modifiers have already been applied (if there are) <applied> determines the File Modifiers which remain to be applied (when the file itself will be output) : for each File Modifier recorded in <me>, <applied>'s Value is :
Warning : File Modifiers are evaluated at the time of Copy itself If their list is changed between this Copy and the Sending itself of the file, these changes are ignored
void IFSelect_ModelCopier::CopiedRemaining | ( | const Interface_Graph & | G, |
const Handle< IFSelect_WorkLibrary > & | WL, | ||
Interface_CopyTool & | TC, | ||
Handle< Interface_InterfaceModel > & | newmod | ||
) |
Produces a Model copied from the Remaining List as <newmod> <newmod> is a Null Handle if this list is empty <WL> performs the copy by using <TC> <TC> is assumed to have been defined with the starting model same as defined by <G>.
Interface_CheckIterator IFSelect_ModelCopier::Copy | ( | IFSelect_ShareOutResult & | eval, |
const Handle< IFSelect_WorkLibrary > & | WL, | ||
const Handle< Interface_Protocol > & | protocol | ||
) |
Performs the Copy Operations, which include the Modifications defined by the list of Modifiers. Memorizes the result, as a list of InterfaceModels with the corresponding FileNames They can then be sent, by the method Send, or queried Copy calls internal method Copying. Returns the produced CheckList.
|
protected |
Internal routine which does the effective Copy. It allows to work, either with a standard CopyTool, or a specialised one Copying itself is done by <WL> which uses a CopyTool.
Handle< Interface_InterfaceModel > IFSelect_ModelCopier::FileModel | ( | const Standard_Integer | num | ) | const |
Returns the content of a file before sending, under the form of an InterfaceModel, given its rank.
TCollection_AsciiString IFSelect_ModelCopier::FileName | ( | const Standard_Integer | num | ) | const |
Returns the File Name for a file given its rank It is empty after a call to ClearFile on same <num>
Standard_Boolean IFSelect_ModelCopier::NameFile | ( | const Standard_Integer | num, |
const TCollection_AsciiString & | filename | ||
) |
Changes the Name attached to a File which was formerly defined by a call to AddFile Returns True if Done, False else : if <num> out of range or if the new <filename> is already attached to another File Remark : Giving an empty File Name is equivalent to ClearFile.
Standard_Integer IFSelect_ModelCopier::NbFiles | ( | ) | const |
Returns the count of Files produced, i.e. the count of Models memorized (produced by the mmethod Copy) with their file names.
Interface_CheckIterator IFSelect_ModelCopier::Send | ( | IFSelect_ShareOutResult & | eval, |
const Handle< IFSelect_WorkLibrary > & | WL, | ||
const Handle< Interface_Protocol > & | protocol | ||
) |
Performs the Copy Operations (which include the Modifications) and Sends the result on files, without memorizing it. (the memorized result is ignored : neither queried not filled)
Interface_CheckIterator IFSelect_ModelCopier::SendAll | ( | const Standard_CString | filename, |
const Interface_Graph & | G, | ||
const Handle< IFSelect_WorkLibrary > & | WL, | ||
const Handle< Interface_Protocol > & | protocol | ||
) |
Sends a model (defined in <G>) into one file, without managing remaining data, already sent files, etc. Applies the Model and File Modifiers. Returns True if well done, False else.
Interface_CheckIterator IFSelect_ModelCopier::SendCopied | ( | const Handle< IFSelect_WorkLibrary > & | WL, |
const Handle< Interface_Protocol > & | protocol | ||
) |
Sends the formerly defined results (see method Copy) to files, then clears it Remark : A Null File Name cause file to be not produced.
|
protected |
Internal routine which does the effective Send. It allows to work, either with a standard CopyTool, or a specialised one.
Interface_CheckIterator IFSelect_ModelCopier::SendSelected | ( | const Standard_CString | filename, |
const Interface_Graph & | G, | ||
const Handle< IFSelect_WorkLibrary > & | WL, | ||
const Handle< Interface_Protocol > & | protocol, | ||
const Interface_EntityIterator & | iter | ||
) |
Sends a part of a model into one file. Model is gotten from <G>, the part is defined in <iter>. Remaining data are managed and can be later be worked on. Returns True if well done, False else.
Handle< TColStd_HSequenceOfHAsciiString > IFSelect_ModelCopier::SentFiles | ( | ) | const |
Returns the list of recorded names of sent files. Can be empty (if no file has been sent). Returns a Null Handle if BeginSentFiles has stopped recording.
Standard_Boolean IFSelect_ModelCopier::SetAppliedModifiers | ( | const Standard_Integer | num, |
const Handle< IFSelect_AppliedModifiers > & | applied | ||
) |
Sets a list of File Modifiers to be applied on a file.
Standard_Boolean IFSelect_ModelCopier::SetRemaining | ( | Interface_Graph & | CG | ) | const |
Updates Graph status for remaining data, for each entity :
void IFSelect_ModelCopier::SetShareOut | ( | const Handle< IFSelect_ShareOut > & | sho | ) |
Sets the ShareOut, which is used to define Modifiers to apply.