// This file is generated by WOK (CPPExt). // Please do not edit this file; modify original file instead. // The copyright and license terms as defined for the original file apply to // this header file considered to be the "object code" form of the original source. #ifndef _IFSelect_ShareOutResult_HeaderFile #define _IFSelect_ShareOutResult_HeaderFile #ifndef _Standard_HeaderFile #include #endif #ifndef _Standard_Macro_HeaderFile #include #endif #ifndef _Handle_IFSelect_ShareOut_HeaderFile #include #endif #ifndef _Handle_IFSelect_Dispatch_HeaderFile #include #endif #ifndef _Standard_Boolean_HeaderFile #include #endif #ifndef _Standard_Integer_HeaderFile #include #endif #ifndef _TColStd_SequenceOfInteger_HeaderFile #include #endif #ifndef _Interface_Graph_HeaderFile #include #endif #ifndef _IFGraph_SubPartsIterator_HeaderFile #include #endif #ifndef _Handle_Interface_InterfaceModel_HeaderFile #include #endif #ifndef _Handle_IFSelect_PacketList_HeaderFile #include #endif class IFSelect_ShareOut; class IFSelect_Dispatch; class Standard_NoSuchObject; class Interface_InterfaceError; class Interface_InterfaceModel; class Interface_Graph; class IFSelect_PacketList; class Interface_EntityIterator; class TCollection_AsciiString; //! This class gives results computed from a ShareOut : simulation
//! before transfer, helps to list entities ...
//! Transfer itself will later be performed, either by a
//! TransferCopy to simply divide up a file, or a TransferDispatch
//! which can be parametred with more details
class IFSelect_ShareOutResult { public: void* operator new(size_t,void* anAddress) { return anAddress; } void* operator new(size_t size) { return Standard::Allocate(size); } void operator delete(void *anAddress) { if (anAddress) Standard::Free((Standard_Address&)anAddress); } //! Creates a ShareOutResult from a ShareOut, to work on a Model
//! (without any more precision; uses Active Protocol)
Standard_EXPORT IFSelect_ShareOutResult(const Handle(IFSelect_ShareOut)& sho,const Handle(Interface_InterfaceModel)& mod); //! Creates a ShareOutResult from a ShareOut, to work on a Graph
//! already computed, which defines the Input Model and can
//! specialize some Entities
Standard_EXPORT IFSelect_ShareOutResult(const Handle(IFSelect_ShareOut)& sho,const Interface_Graph& G); //! Creates a ShareOutResult from a unique Dispatch, to work on
//! a Model. As if it was a ShareOut with only one Dispatch
//! (without any more precision; uses Active Protocol)
//! Allows to compute the effect of a single Dispatch
Standard_EXPORT IFSelect_ShareOutResult(const Handle(IFSelect_Dispatch)& disp,const Handle(Interface_InterfaceModel)& mod); //! Creates a ShareOutResult from a unique Dispatch, to work on
//! a Graph. As if it was a ShareOut with only one Dispatch
//! Allows to compute the effect of a single Dispatch
Standard_EXPORT IFSelect_ShareOutResult(const Handle(IFSelect_Dispatch)& disp,const Interface_Graph& G); //! Returns the ShareOut used to create the ShareOutResult
//! if creation from a Dispatch, returns a Null Handle
Standard_EXPORT Handle_IFSelect_ShareOut ShareOut() const; //! Returns the Graph used to create theShareOutResult
Standard_EXPORT const Interface_Graph& Graph() const; //! Erases computed data, in order to command a new Evaluation
Standard_EXPORT void Reset() ; //! Evaluates the result of a ShareOut : determines Entities to be
//! forgotten by the ShareOut, Entities to be transferred several
//! times (duplicated), prepares an iteration on the packets to be
//! produced
//! Called the first time anyone question is asked, or after a
//! call to Reset. Works by calling the method Prepare.
Standard_EXPORT void Evaluate() ; //! Returns the list of recorded Packets, under two modes :
//! - = False, the strict definition of Packets, i.e.
//! for each one, the Root Entities, to be explicitely sent
//! - = True (Default), the completely evaluated list,
//! i.e. which really gives the destination of each entity :
//! this mode allows to evaluate duplications
//! Remark that to send packets, iteration remains preferable
//! (file names are managed)
Standard_EXPORT Handle_IFSelect_PacketList Packets(const Standard_Boolean complete = Standard_True) ; //! Returns the total count of produced non empty packets
//! (in out : calls Evaluate as necessary)
Standard_EXPORT Standard_Integer NbPackets() ; //! Prepares the iteration on the packets
//! This method is called by Evaluate, but can be called anytime
//! The iteration consists in taking each Dispatch of the ShareOut
//! beginning by the first one, compute its packets, then iterate
//! on these packets. Once all these packets are iterated, the
//! iteration passes to the next Dispatch, or stops.
//! For a creation from a unique Dispatch, same but with only
//! this Dispatch.
//! Each packet can be listed, or really transferred (producing
//! a derived Model, from which a file can be generated)
//!
//! Prepare sets the iteration to the first Dispatch, first Packet
Standard_EXPORT void Prepare() ; //! Returns True if there is more packets in the current Dispatch,
//! else if there is more Dispatch in the ShareOut
Standard_EXPORT Standard_Boolean More() ; //! Passes to the next Packet in the current Dispatch, or if there
//! is none, to the next Dispatch in the ShareOut
Standard_EXPORT void Next() ; //! Passes to the next Dispatch, regardless about remaining packets
Standard_EXPORT void NextDispatch() ; //! Returns the current Dispatch
Standard_EXPORT Handle_IFSelect_Dispatch Dispatch() const; //! Returns the Rank of the current Dispatch in the ShareOut
//! Returns Zero if there is none (iteration finished)
Standard_EXPORT Standard_Integer DispatchRank() const; //! Returns Number (rank) of current Packet in current Dispatch,
//! and total count of Packets in current Dispatch, as arguments
Standard_EXPORT void PacketsInDispatch(Standard_Integer& numpack,Standard_Integer& nbpacks) const; //! Returns the list of Roots of the current Packet (never empty)
//! (i.e. the Entities to be themselves asked for transfer)
//! Error if there is none (iteration finished)
Standard_EXPORT Interface_EntityIterator PacketRoot() ; //! Returns the complete content of the current Packet (i.e.
//! with shared entities, which will also be put in the file)
Standard_EXPORT Interface_EntityIterator PacketContent() ; //! Returns the File Name which corresponds to current Packet
//! (computed by ShareOut)
//! If current Packet has no associated name (see ShareOut),
//! the returned value is Null
Standard_EXPORT TCollection_AsciiString FileName() const; protected: Interface_Graph thegraph; IFGraph_SubPartsIterator thedispres; private: Handle_IFSelect_ShareOut theshareout; Handle_IFSelect_Dispatch thedispatch; Standard_Boolean theeval; Standard_Integer thedispnum; Standard_Integer thepacknum; Standard_Integer thepackdisp; Standard_Integer thenbindisp; TColStd_SequenceOfInteger thedisplist; }; // other Inline functions and methods (like "C++: function call" methods) #endif