Open CASCADE Technology  6.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions
IFSelect_ShareOut Class Reference

This class gathers the informations required to produce one or
several file(s) from the content of an InterfaceModel (passing
through the creation of intermediate Models).

It can correspond to a complete Divide up of a set of Entities
intended to be exhaustive and to limit duplications. Or to a
simple Extraction of some Entities, in order to work on them.

A ShareOut is composed of a list of Dispatches.
To Each Dispatch in the ShareOut, is bound an Id. Number
This Id. Number allows to identify a Display inside the
ShareOut in a stable way (for instance, to attach file names)

ShareOut can be seen as a "passive" description, activated
through a ShareOutResult, which gives the InterfaceModel on
which to work, as a unique source. Thus it is easy to change
it without coherence problems

Services about it are provided by the class ShareOutResult
which is a service class : simulation (list of files and of
entities per file; "forgotten" entities; duplicated entities),
exploitation (generation of derivated Models, each of them
generating an output file)
More...

#include <IFSelect_ShareOut.hxx>

Inheritance diagram for IFSelect_ShareOut:
Inheritance graph
[legend]

Public Member Functions

 IFSelect_ShareOut ()
 Creates an empty ShareOut
More...
 
void Clear (const Standard_Boolean onlydisp)
 Removes in one operation all the Dispatches with their Idents
Also clears all informations about Names, and all Results but
naming informations which are :
More...
 
void ClearResult (const Standard_Boolean alsoname)
 Clears all data produced (apart from Dispatches, etc...)
if <alsoname> is True, all is cleared. Else, informations
about produced Names are kept (to maintain unicity of naming
across clearings)
More...
 
Standard_Boolean RemoveItem (const Handle< Standard_Transient > &item)
 Removes an item, which can be, either a Dispatch (removed from
the list of Dispatches), or a GeneralModifier (removed from
the list of Model Modifiers or from the list of File Modifiers
according to its type).
Returns True if done, False if has not been found or if it is
neither a Dispatch, nor a Modifier.
More...
 
Standard_Integer LastRun () const
 Returns the rank of last run item (ClearResult resets it to 0)
More...
 
void SetLastRun (const Standard_Integer last)
 Records a new alue for the rank of last run item
More...
 
Standard_Integer NbDispatches () const
 Returns the count of Dispatches
More...
 
Standard_Integer DispatchRank (const Handle< IFSelect_Dispatch > &disp) const
 Returns the Rank of a Dispatch, given its Value (Handle).
Returns 0 if the Dispatch is unknown in the ShareOut
More...
 
const Handle_IFSelect_Dispatch & Dispatch (const Standard_Integer num) const
 Returns a Dispatch, given its rank in the list
More...
 
void AddDispatch (const Handle< IFSelect_Dispatch > &disp)
 Adds a Dispatch to the list
More...
 
Standard_Boolean RemoveDispatch (const Standard_Integer rank)
 Removes a Dispatch, given its rank in the list
Returns True if done, False if rank is not between
(LastRun + 1) and (NbDispatches)
More...
 
void AddModifier (const Handle< IFSelect_GeneralModifier > &modifier, const Standard_Integer atnum)
 Sets a Modifier to be applied on all Dispatches to be run
If <modifier> is a ModelModifier, adds it to the list of
Model Modifiers; else to the list of File Modifiers
By default (atnum = 0) at the end of the list, else at <atnum>
Each Modifier is used, after each copy of a packet of Entities
into a Model : its criteria are checked and if they are OK,
the method Perform of this Modifier is run.
More...
 
void AddModifier (const Handle< IFSelect_GeneralModifier > &modifier, const Standard_Integer dispnum, const Standard_Integer atnum)
 Sets a Modifier to be applied on the Dispatch <dispnum>
If <modifier> is a ModelModifier, adds it to the list of
Model Modifiers; else to the list of File Modifiers
This is the same list as for all Dispatches, but the
Modifier is qualified to be applied to one Dispatch only
Then, <atnum> refers to the entire list
By default (atnum = 0) at the end of the list, else at <atnum>
Remark : if the Modifier was already in the list and if
<atnum> = 0, the Modifier is not moved, but only qualified
for a Dispatch
More...
 
void AddModif (const Handle< IFSelect_GeneralModifier > &modifier, const Standard_Boolean formodel, const Standard_Integer atnum=0)
 Adds a Modifier to the list of Modifiers : Model Modifiers if
<formodel> is True, File Modifiers else (internal).
More...
 
Standard_Integer NbModifiers (const Standard_Boolean formodel) const
 Returns count of Modifiers (which apply to complete Models) :
Model Modifiers if <formodel> is True, File Modifiers else
More...
 
Handle_IFSelect_GeneralModifier GeneralModifier (const Standard_Boolean formodel, const Standard_Integer num) const
 Returns a Modifier of the list, given its rank :
Model Modifiers if <formodel> is True, File Modifiers else
More...
 
Handle_IFSelect_Modifier ModelModifier (const Standard_Integer num) const
 Returns a Modifier of the list of Model Modifiers, duely casted
More...
 
Standard_Integer ModifierRank (const Handle< IFSelect_GeneralModifier > &modifier) const
 Gives the rank of a Modifier in the list, 0 if not in the list
Model Modifiers if <modifier> is kind of ModelModifer,
File Modifiers else
More...
 
Standard_Boolean RemoveModifier (const Standard_Boolean formodel, const Standard_Integer num)
 Removes a Modifier, given it rank in the list :
Model Modifiers if <formodel> is True, File Modifiers else
Returns True if done, False if <num> is out of range
More...
 
Standard_Boolean ChangeModifierRank (const Standard_Boolean formodel, const Standard_Integer befor, const Standard_Integer after)
 Changes the rank of a modifier in the list :
Model Modifiers if <formodel> is True, File Modifiers else
from <before> to <after>
Returns True if done, False else (before or after out of range)
More...
 
Standard_Boolean SetRootName (const Standard_Integer num, const Handle< TCollection_HAsciiString > &name)
 Attaches a Root Name to a Dispatch given its rank, as an
HAsciiString (standard form). A Null Handle resets this name.
Returns True if OK, False if this Name is already attached,
for a Dispatch or for Default, or <num> out of range
More...
 
Standard_Boolean HasRootName (const Standard_Integer num) const
 Returns True if the Dispatch of rank <num> has an attached
Root Name. False else, or if num is out of range
More...
 
Handle_TCollection_HAsciiString RootName (const Standard_Integer num) const
 Returns the Root bound to a Dispatch, given its rank
Returns a Null Handle if not defined
More...
 
Standard_Integer RootNumber (const Handle< TCollection_HAsciiString > &name) const
 Returns an integer value about a given root name :
More...
 
void SetPrefix (const Handle< TCollection_HAsciiString > &pref)
 Defines or Changes the general Prefix (which is prepended to
complete file name generated). If this method is not call,
Prefix remains empty
More...
 
Standard_Boolean SetDefaultRootName (const Handle< TCollection_HAsciiString > &defrt)
 Defines or Changes the Default Root Name to a new value (which
is used for dispatches which have no attached root name).
If this method is not called, DefaultRootName remains empty
Returns True if OK, False if this Name is already attached,
for a Dispatch or for Default
More...
 
void SetExtension (const Handle< TCollection_HAsciiString > &ext)
 Defines or Changes the general Extension (which is appended to
complete file name generated). If this method is not call,
Extension remains empty
More...
 
Handle_TCollection_HAsciiString Prefix () const
 Returns the general Prefix. Can be empty.
More...
 
Handle_TCollection_HAsciiString DefaultRootName () const
 Returns the Default Root Name. Can be empty.
More...
 
Handle_TCollection_HAsciiString Extension () const
 Returns the general Extension. Can be empty (not recommanded)
More...
 
TCollection_AsciiString FileName (const Standard_Integer dnum, const Standard_Integer pnum, const Standard_Integer nbpack=0)
 
 Computes the complete file name for a Packet of a Dispatch, <br>
      given Dispatch Number (Rank), Packet Number, and Count of <br>
      Packets generated by this Dispatch (0 if unknown) <br>


File Name is made of following strings, concatenated :
General Prefix, Root Name for Dispatch, Packet Suffix, and
General Extension. If no Root Name is specified for a
Dispatch, DefaultRootName is considered (and pnum is not used,
but <thenbdefs> is incremented and used
Error if no Root is defined for this <idnum>
More...

 
- Public Member Functions inherited from MMgt_TShared
virtual void Delete () const
 Memory deallocator for transient classes. More...
 
- Public Member Functions inherited from Standard_Transient
 Standard_Transient ()
 Empty constructor. More...
 
 Standard_Transient (const Standard_Transient &)
 Copy constructor – does nothing. More...
 
Standard_Transientoperator= (const Standard_Transient &)
 Assignment operator, needed to avoid copying reference counter. More...
 
virtual ~Standard_Transient ()
 Destructor must be virtual. More...
 
virtual void ShallowDump (Standard_OStream &) const
 
virtual const
Handle_Standard_Type & 
DynamicType () const
 Returns a type information object about this object. More...
 
Standard_Boolean IsInstance (const 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 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...
 
virtual Handle_Standard_Transient This () const
 Returns a Handle which references this object. Must never be called to objects created in stack. More...
 
Standard_Integer GetRefCount () const
 Get the reference counter of this object. More...
 

Detailed Description

This class gathers the informations required to produce one or
several file(s) from the content of an InterfaceModel (passing
through the creation of intermediate Models).

It can correspond to a complete Divide up of a set of Entities
intended to be exhaustive and to limit duplications. Or to a
simple Extraction of some Entities, in order to work on them.

A ShareOut is composed of a list of Dispatches.
To Each Dispatch in the ShareOut, is bound an Id. Number
This Id. Number allows to identify a Display inside the
ShareOut in a stable way (for instance, to attach file names)

ShareOut can be seen as a "passive" description, activated
through a ShareOutResult, which gives the InterfaceModel on
which to work, as a unique source. Thus it is easy to change
it without coherence problems

Services about it are provided by the class ShareOutResult
which is a service class : simulation (list of files and of
entities per file; "forgotten" entities; duplicated entities),
exploitation (generation of derivated Models, each of them
generating an output file)

Constructor & Destructor Documentation

IFSelect_ShareOut::IFSelect_ShareOut ( )

Creates an empty ShareOut

Member Function Documentation

void IFSelect_ShareOut::AddDispatch ( const Handle< IFSelect_Dispatch > &  disp)

Adds a Dispatch to the list

void IFSelect_ShareOut::AddModif ( const Handle< IFSelect_GeneralModifier > &  modifier,
const Standard_Boolean  formodel,
const Standard_Integer  atnum = 0 
)

Adds a Modifier to the list of Modifiers : Model Modifiers if
<formodel> is True, File Modifiers else (internal).

void IFSelect_ShareOut::AddModifier ( const Handle< IFSelect_GeneralModifier > &  modifier,
const Standard_Integer  atnum 
)

Sets a Modifier to be applied on all Dispatches to be run
If <modifier> is a ModelModifier, adds it to the list of
Model Modifiers; else to the list of File Modifiers
By default (atnum = 0) at the end of the list, else at <atnum>
Each Modifier is used, after each copy of a packet of Entities
into a Model : its criteria are checked and if they are OK,
the method Perform of this Modifier is run.

void IFSelect_ShareOut::AddModifier ( const Handle< IFSelect_GeneralModifier > &  modifier,
const Standard_Integer  dispnum,
const Standard_Integer  atnum 
)

Sets a Modifier to be applied on the Dispatch <dispnum>
If <modifier> is a ModelModifier, adds it to the list of
Model Modifiers; else to the list of File Modifiers
This is the same list as for all Dispatches, but the
Modifier is qualified to be applied to one Dispatch only
Then, <atnum> refers to the entire list
By default (atnum = 0) at the end of the list, else at <atnum>
Remark : if the Modifier was already in the list and if
<atnum> = 0, the Modifier is not moved, but only qualified
for a Dispatch

Standard_Boolean IFSelect_ShareOut::ChangeModifierRank ( const Standard_Boolean  formodel,
const Standard_Integer  befor,
const Standard_Integer  after 
)

Changes the rank of a modifier in the list :
Model Modifiers if <formodel> is True, File Modifiers else
from <before> to <after>
Returns True if done, False else (before or after out of range)

void IFSelect_ShareOut::Clear ( const Standard_Boolean  onlydisp)

Removes in one operation all the Dispatches with their Idents
Also clears all informations about Names, and all Results but
naming informations which are :

  • kept if <onlydisp> is True.
  • cleared if <onlydisp> is False (complete clearing)
    If <onlydisp> is True, that's all. Else, clears also Modifiers
void IFSelect_ShareOut::ClearResult ( const Standard_Boolean  alsoname)

Clears all data produced (apart from Dispatches, etc...)
if <alsoname> is True, all is cleared. Else, informations
about produced Names are kept (to maintain unicity of naming
across clearings)

Handle_TCollection_HAsciiString IFSelect_ShareOut::DefaultRootName ( ) const

Returns the Default Root Name. Can be empty.

const Handle_IFSelect_Dispatch& IFSelect_ShareOut::Dispatch ( const Standard_Integer  num) const

Returns a Dispatch, given its rank in the list

Standard_Integer IFSelect_ShareOut::DispatchRank ( const Handle< IFSelect_Dispatch > &  disp) const

Returns the Rank of a Dispatch, given its Value (Handle).
Returns 0 if the Dispatch is unknown in the ShareOut

Handle_TCollection_HAsciiString IFSelect_ShareOut::Extension ( ) const

Returns the general Extension. Can be empty (not recommanded)

TCollection_AsciiString IFSelect_ShareOut::FileName ( const Standard_Integer  dnum,
const Standard_Integer  pnum,
const Standard_Integer  nbpack = 0 
)

 Computes the complete file name for a Packet of a Dispatch, <br>
      given Dispatch Number (Rank), Packet Number, and Count of <br>
      Packets generated by this Dispatch (0 if unknown) <br>


File Name is made of following strings, concatenated :
General Prefix, Root Name for Dispatch, Packet Suffix, and
General Extension. If no Root Name is specified for a
Dispatch, DefaultRootName is considered (and pnum is not used,
but <thenbdefs> is incremented and used
Error if no Root is defined for this <idnum>

Handle_IFSelect_GeneralModifier IFSelect_ShareOut::GeneralModifier ( const Standard_Boolean  formodel,
const Standard_Integer  num 
) const

Returns a Modifier of the list, given its rank :
Model Modifiers if <formodel> is True, File Modifiers else

Standard_Boolean IFSelect_ShareOut::HasRootName ( const Standard_Integer  num) const

Returns True if the Dispatch of rank <num> has an attached
Root Name. False else, or if num is out of range

Standard_Integer IFSelect_ShareOut::LastRun ( ) const

Returns the rank of last run item (ClearResult resets it to 0)

Handle_IFSelect_Modifier IFSelect_ShareOut::ModelModifier ( const Standard_Integer  num) const

Returns a Modifier of the list of Model Modifiers, duely casted

Standard_Integer IFSelect_ShareOut::ModifierRank ( const Handle< IFSelect_GeneralModifier > &  modifier) const

Gives the rank of a Modifier in the list, 0 if not in the list
Model Modifiers if <modifier> is kind of ModelModifer,
File Modifiers else

Standard_Integer IFSelect_ShareOut::NbDispatches ( ) const

Returns the count of Dispatches

Standard_Integer IFSelect_ShareOut::NbModifiers ( const Standard_Boolean  formodel) const

Returns count of Modifiers (which apply to complete Models) :
Model Modifiers if <formodel> is True, File Modifiers else

Handle_TCollection_HAsciiString IFSelect_ShareOut::Prefix ( ) const

Returns the general Prefix. Can be empty.

Standard_Boolean IFSelect_ShareOut::RemoveDispatch ( const Standard_Integer  rank)

Removes a Dispatch, given its rank in the list
Returns True if done, False if rank is not between
(LastRun + 1) and (NbDispatches)

Standard_Boolean IFSelect_ShareOut::RemoveItem ( const Handle< Standard_Transient > &  item)

Removes an item, which can be, either a Dispatch (removed from
the list of Dispatches), or a GeneralModifier (removed from
the list of Model Modifiers or from the list of File Modifiers
according to its type).
Returns True if done, False if has not been found or if it is
neither a Dispatch, nor a Modifier.

Standard_Boolean IFSelect_ShareOut::RemoveModifier ( const Standard_Boolean  formodel,
const Standard_Integer  num 
)

Removes a Modifier, given it rank in the list :
Model Modifiers if <formodel> is True, File Modifiers else
Returns True if done, False if <num> is out of range

Handle_TCollection_HAsciiString IFSelect_ShareOut::RootName ( const Standard_Integer  num) const

Returns the Root bound to a Dispatch, given its rank
Returns a Null Handle if not defined

Standard_Integer IFSelect_ShareOut::RootNumber ( const Handle< TCollection_HAsciiString > &  name) const

Returns an integer value about a given root name :

  • positive : it's the rank of the Dispatch which has this name
  • null : this root name is unknown
  • negative (-1) : this root name is the default root name
Standard_Boolean IFSelect_ShareOut::SetDefaultRootName ( const Handle< TCollection_HAsciiString > &  defrt)

Defines or Changes the Default Root Name to a new value (which
is used for dispatches which have no attached root name).
If this method is not called, DefaultRootName remains empty
Returns True if OK, False if this Name is already attached,
for a Dispatch or for Default

void IFSelect_ShareOut::SetExtension ( const Handle< TCollection_HAsciiString > &  ext)

Defines or Changes the general Extension (which is appended to
complete file name generated). If this method is not call,
Extension remains empty

void IFSelect_ShareOut::SetLastRun ( const Standard_Integer  last)

Records a new alue for the rank of last run item

void IFSelect_ShareOut::SetPrefix ( const Handle< TCollection_HAsciiString > &  pref)

Defines or Changes the general Prefix (which is prepended to
complete file name generated). If this method is not call,
Prefix remains empty

Standard_Boolean IFSelect_ShareOut::SetRootName ( const Standard_Integer  num,
const Handle< TCollection_HAsciiString > &  name 
)

Attaches a Root Name to a Dispatch given its rank, as an
HAsciiString (standard form). A Null Handle resets this name.
Returns True if OK, False if this Name is already attached,
for a Dispatch or for Default, or <num> out of range


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