OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    IFSelect_SessionPilot Class Reference

    A SessionPilot is intended to make easier the use of a WorkSession. It receives commands, under alphanumeric form, then calls a library of Activators to interpret and run them. More...

    #include <IFSelect_SessionPilot.hxx>

    Inheritance diagram for IFSelect_SessionPilot:

    Public Member Functions

     IFSelect_SessionPilot (const char *const prompt="")
     Creates an empty SessionPilot, with a prompt which will be displayed on querying commands. If not precised (""), this prompt is set to "Test-XSTEP>".
    occ::handle< IFSelect_WorkSessionSession () const
     Returns the WorkSession which is worked on.
    occ::handle< IFSelect_WorkLibraryLibrary () const
     Returns the WorKlibrary (Null if not set). WorkLibrary is used to Read and Write Files, according to the Norm.
    bool RecordMode () const
     Returns the Record Mode for Commands. Default is False.
    void SetSession (const occ::handle< IFSelect_WorkSession > &WS)
     Sets a WorkSession to be worked on.
    void SetLibrary (const occ::handle< IFSelect_WorkLibrary > &WL)
     Sets a WorkLibrary.
    void SetRecordMode (const bool modemode)
     Changes the RecordMode.
    void SetCommandLine (const TCollection_AsciiString &command)
     Sets the value of the Command Line to be interpreted Also prepares the interpretation (splitting by blanks).
    const TCollection_AsciiStringCommandLine () const
     Returns the Command Line to be interpreted.
    const char * CommandPart (const int numarg=0) const
     Returns the part of the command line which begins at argument <numarg> between 0 and NbWords-1 (by default, all the line) Empty string if out of range.
    int NbWords () const
     Returns the count of words of the Command Line, separated by blanks : 0 if empty, one if a command without args, else it gives the count of args minus one. Warning : limited to 10 (command title + 9 args).
    const TCollection_AsciiStringWord (const int numnum) const
     Returns a word given its rank in the Command Line. Begins at 0 which is the Command Title, 1 is the 1st arg., etc...
    const char * Arg (const int numnum) const
     Returns a word given its rank, as a CString. As for Word, begins at 0 (the command name), etc...
    bool RemoveWord (const int numnum)
     Removes a word given its rank. Returns True if Done, False if <num> is out of range.
    int NbCommands () const
     Returns the count of recorded Commands.
    const TCollection_AsciiStringCommand (const int numnum) const
     Returns a recorded Command, given its rank (from 1).
    IFSelect_ReturnStatus RecordItem (const occ::handle< Standard_Transient > &item)
     Allows to associate a Transient Value with the last execution as a partial result Returns RetDone if item is not Null, RetFail if item is Null Remark : it is nullified for each Perform.
    occ::handle< Standard_TransientRecordedItem () const
     Returns the Transient Object which was recorded with the current Line Command. If none was, returns a Null Handle.
    void Clear ()
     Clears the recorded information (commands, objects).
    IFSelect_ReturnStatus ReadScript (const char *const file="")
     Reads commands from a Script File, named <file>. By default (file = ""), reads from standard input with a prompt Else (reading from a file), the read commands are displayed onto standard output. Allows nested reads. Reading is stopped either by command x or exit, or by reaching end of file Return Value follows the rules of Do : RetEnd for normal end, RetFail if script could not be opened.
    IFSelect_ReturnStatus Perform ()
     Executes the Command, itself (for built-in commands, which have priority) or by using the list of Activators. The value returned is : RetVoid if nothing done (void command) RetDone if execution OK, RetEnd if END OF SESSION, RetError if command unknown or incorrect, RetFail if error on execution If execution is OK and RecordMode is set, this Command Line is recorded to the list (see below).
    IFSelect_ReturnStatus ExecuteAlias (const TCollection_AsciiString &aliasname)
     Executes the Commands, except that the command name (word 0) is aliased. The rest of the command line is unchanged If <alias> is empty, Executes with no change.
    IFSelect_ReturnStatus Execute (const TCollection_AsciiString &command)
     Sets the Command then tries to execute it. Return value : same as for Perform.
    IFSelect_ReturnStatus ExecuteCounter (const occ::handle< IFSelect_SignCounter > &countercounter, const int numword, const IFSelect_PrintCount modemode=IFSelect_CountByItem)
     Executes a Counter in a general way If <numword> is greater than count of command words, it counts all the model. Else it considers the word <numword> as the identifier of a Selection <mode> gives the mode of printing results, default is CountByItem.
    int Number (const char *const valval) const
     Interprets a string value as an entity number : if it gives an integer, returns its value else, considers it as ENtityLabel (preferably case sensitive) in case of failure, returns 0.
    IFSelect_ReturnStatus Do (const int number, const occ::handle< IFSelect_SessionPilot > &session) override
     Processes specific commands, which are : x or exit for end of session ? or help for help messages xcommand to control command lines (Record Mode, List, Clear, File Output ...) xsource to execute a command file (no nesting allowed), in case of error, source is stopped and keyword recovers xstep is a simple prefix (useful in a wider environment, to avoid conflicts on command names) xset control commands which create items with names.
    const char * Help (const int number) const override
     Help for specific commands (apart from general command help).
    Public Member Functions inherited from IFSelect_Activator
    void Add (const int number, const char *const command) const
     Allows a self-definition by an Activator of the Commands it processes, call the class method Adding (mode 0).
    void AddSet (const int number, const char *const command) const
     Same as Add but specifies that this command is candidate for xset (creation of items, xset : named items; mode 1).
    const char * Group () const
    const char * File () const
    void SetForGroup (const char *const groupgroup, const char *const file="")
     Group and SetGroup define a "Group of commands" which correspond to an Activator. Default is "XSTEP" Also a file may be attached.
    Public Member Functions inherited from Standard_Transient
     Standard_Transient ()
     Empty constructor.
     Standard_Transient (const Standard_Transient &)
     Copy constructor – does nothing.
    Standard_Transientoperator= (const Standard_Transient &)
     Assignment operator, needed to avoid copying reference counter.
    virtual ~Standard_Transient ()=default
     Destructor must be virtual.
    virtual const opencascade::handle< Standard_Type > & DynamicType () const
     Returns a type descriptor about this object.
    bool IsInstance (const opencascade::handle< Standard_Type > &theType) const
     Returns a true value if this is an instance of Type.
    bool IsInstance (const char *const theTypeName) const
     Returns a true value if this is an instance of TypeName.
    bool 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.
    bool IsKind (const char *const 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.
    Standard_TransientThis () 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.
    int GetRefCount () const noexcept
     Get the reference counter of this object.
    void IncrementRefCounter () noexcept
     Increments the reference counter of this object. Uses relaxed memory ordering since incrementing only requires atomicity, not synchronization with other memory operations.
    int DecrementRefCounter () noexcept
     Decrements the reference counter of this object; returns the decremented value. Uses release ordering for the decrement to ensure all writes to the object are visible before the count reaches zero. An acquire fence is added only when the count reaches zero, ensuring proper synchronization before deletion. This is more efficient than using acq_rel for every decrement.
    virtual void Delete () const
     Memory deallocator for transient classes.

    Additional Inherited Members

    typedef void base_type
     Returns a type descriptor about this object.
    Static Public Member Functions inherited from IFSelect_Activator
    static void Adding (const occ::handle< IFSelect_Activator > &actor, const int number, const char *const command, const int modemode)
     Records, in a Dictionary available for all the Activators, the command title an Activator can process, attached with its number, proper for this Activator <mode> allows to distinguish various execution modes 0: default mode; 1 : for xset.
    static void Remove (const char *const command)
     Removes a Command, if it is recorded (else, does nothing).
    static bool Select (const char *const command, int &number, occ::handle< IFSelect_Activator > &actor)
     Selects, for a Command given by its title, an actor with its command number. Returns True if found, False else.
    static int Mode (const char *const command)
     Returns mode recorded for a command. -1 if not found.
    static occ::handle< NCollection_HSequence< TCollection_AsciiString > > Commands (const int modemode=-1, const char *const command="")
     Returns, for a root of command title, the list of possible commands. <mode> : -1 (D) for all commands if <commands> is empty -1 + command : about a Group , >= 0 see Adding By default, it returns the whole list of known commands.
    static constexpr const char * get_type_name ()
     Returns a type descriptor about this object.
    static const opencascade::handle< Standard_Type > & get_type_descriptor ()
     Returns type descriptor of Standard_Transient class.
    Protected Member Functions inherited from IFSelect_Activator
     IFSelect_Activator ()
     Sets the default values.

    Detailed Description

    A SessionPilot is intended to make easier the use of a WorkSession. It receives commands, under alphanumeric form, then calls a library of Activators to interpret and run them.

    Then, WorkSession just records data required to work : Rules for Selection, Dispatch ... ; File Data (InterfaceModel and results of Evaluations and Transfer as required). SessionPilot records and works with alphanumeric commands and their results (under a very simple form). It calls a list of Activators to perform the actions.

    A Command can have several forms :

    • classic execution, to list, evaluate, or enrich the session
    • command which creates a new item (a Selection for instance) such a command should not add it to the session, but make it recorded by the Pilot (method RecordItem). The Pilot will add the item in the session, with no name -> such a command may be called :
    • directly, it will add an item with no name
    • by command xset, in the following form : xset name command ... calls the command and adds the item to the session under the specified name (if not yet known)

    Thus, to a specific Norm or way of working, only Activators change. A specific Initialisation can be done by starting with a specific set of commands.

    In addition, SessionPilot is a sub-type of Activator, to recognize some built-in commands : exit/x, help/?, control of command line, and commands xstep xset ... See method Do

    At least, empty lines and comment lines (beginning by '#') are skipped (comment lines are display if read from file)

    Constructor & Destructor Documentation

    ◆ IFSelect_SessionPilot()

    IFSelect_SessionPilot::IFSelect_SessionPilot ( const char *const prompt = "")

    Creates an empty SessionPilot, with a prompt which will be displayed on querying commands. If not precised (""), this prompt is set to "Test-XSTEP>".

    Member Function Documentation

    ◆ Arg()

    const char * IFSelect_SessionPilot::Arg ( const int num) const

    Returns a word given its rank, as a CString. As for Word, begins at 0 (the command name), etc...

    ◆ Clear()

    void IFSelect_SessionPilot::Clear ( )

    Clears the recorded information (commands, objects).

    ◆ Command()

    const TCollection_AsciiString & IFSelect_SessionPilot::Command ( const int num) const

    Returns a recorded Command, given its rank (from 1).

    ◆ CommandLine()

    const TCollection_AsciiString & IFSelect_SessionPilot::CommandLine ( ) const

    Returns the Command Line to be interpreted.

    ◆ CommandPart()

    const char * IFSelect_SessionPilot::CommandPart ( const int numarg = 0) const

    Returns the part of the command line which begins at argument <numarg> between 0 and NbWords-1 (by default, all the line) Empty string if out of range.

    ◆ Do()

    IFSelect_ReturnStatus IFSelect_SessionPilot::Do ( const int number,
    const occ::handle< IFSelect_SessionPilot > & session )
    overridevirtual

    Processes specific commands, which are : x or exit for end of session ? or help for help messages xcommand to control command lines (Record Mode, List, Clear, File Output ...) xsource to execute a command file (no nesting allowed), in case of error, source is stopped and keyword recovers xstep is a simple prefix (useful in a wider environment, to avoid conflicts on command names) xset control commands which create items with names.

    Implements IFSelect_Activator.

    ◆ Execute()

    IFSelect_ReturnStatus IFSelect_SessionPilot::Execute ( const TCollection_AsciiString & command)

    Sets the Command then tries to execute it. Return value : same as for Perform.

    ◆ ExecuteAlias()

    IFSelect_ReturnStatus IFSelect_SessionPilot::ExecuteAlias ( const TCollection_AsciiString & aliasname)

    Executes the Commands, except that the command name (word 0) is aliased. The rest of the command line is unchanged If <alias> is empty, Executes with no change.

    Error status is returned if the alias is unknown as command

    ◆ ExecuteCounter()

    IFSelect_ReturnStatus IFSelect_SessionPilot::ExecuteCounter ( const occ::handle< IFSelect_SignCounter > & counter,
    const int numword,
    const IFSelect_PrintCount mode = IFSelect_CountByItem )

    Executes a Counter in a general way If <numword> is greater than count of command words, it counts all the model. Else it considers the word <numword> as the identifier of a Selection <mode> gives the mode of printing results, default is CountByItem.

    ◆ Help()

    const char * IFSelect_SessionPilot::Help ( const int number) const
    overridevirtual

    Help for specific commands (apart from general command help).

    Implements IFSelect_Activator.

    ◆ Library()

    occ::handle< IFSelect_WorkLibrary > IFSelect_SessionPilot::Library ( ) const

    Returns the WorKlibrary (Null if not set). WorkLibrary is used to Read and Write Files, according to the Norm.

    ◆ NbCommands()

    int IFSelect_SessionPilot::NbCommands ( ) const

    Returns the count of recorded Commands.

    ◆ NbWords()

    int IFSelect_SessionPilot::NbWords ( ) const

    Returns the count of words of the Command Line, separated by blanks : 0 if empty, one if a command without args, else it gives the count of args minus one. Warning : limited to 10 (command title + 9 args).

    ◆ Number()

    int IFSelect_SessionPilot::Number ( const char *const val) const

    Interprets a string value as an entity number : if it gives an integer, returns its value else, considers it as ENtityLabel (preferably case sensitive) in case of failure, returns 0.

    ◆ Perform()

    IFSelect_ReturnStatus IFSelect_SessionPilot::Perform ( )

    Executes the Command, itself (for built-in commands, which have priority) or by using the list of Activators. The value returned is : RetVoid if nothing done (void command) RetDone if execution OK, RetEnd if END OF SESSION, RetError if command unknown or incorrect, RetFail if error on execution If execution is OK and RecordMode is set, this Command Line is recorded to the list (see below).

    ◆ ReadScript()

    IFSelect_ReturnStatus IFSelect_SessionPilot::ReadScript ( const char *const file = "")

    Reads commands from a Script File, named <file>. By default (file = ""), reads from standard input with a prompt Else (reading from a file), the read commands are displayed onto standard output. Allows nested reads. Reading is stopped either by command x or exit, or by reaching end of file Return Value follows the rules of Do : RetEnd for normal end, RetFail if script could not be opened.

    ◆ RecordedItem()

    occ::handle< Standard_Transient > IFSelect_SessionPilot::RecordedItem ( ) const

    Returns the Transient Object which was recorded with the current Line Command. If none was, returns a Null Handle.

    ◆ RecordItem()

    IFSelect_ReturnStatus IFSelect_SessionPilot::RecordItem ( const occ::handle< Standard_Transient > & item)

    Allows to associate a Transient Value with the last execution as a partial result Returns RetDone if item is not Null, RetFail if item is Null Remark : it is nullified for each Perform.

    ◆ RecordMode()

    bool IFSelect_SessionPilot::RecordMode ( ) const

    Returns the Record Mode for Commands. Default is False.

    ◆ RemoveWord()

    bool IFSelect_SessionPilot::RemoveWord ( const int num)

    Removes a word given its rank. Returns True if Done, False if <num> is out of range.

    ◆ Session()

    occ::handle< IFSelect_WorkSession > IFSelect_SessionPilot::Session ( ) const

    Returns the WorkSession which is worked on.

    ◆ SetCommandLine()

    void IFSelect_SessionPilot::SetCommandLine ( const TCollection_AsciiString & command)

    Sets the value of the Command Line to be interpreted Also prepares the interpretation (splitting by blanks).

    ◆ SetLibrary()

    void IFSelect_SessionPilot::SetLibrary ( const occ::handle< IFSelect_WorkLibrary > & WL)

    Sets a WorkLibrary.

    ◆ SetRecordMode()

    void IFSelect_SessionPilot::SetRecordMode ( const bool mode)

    Changes the RecordMode.

    ◆ SetSession()

    void IFSelect_SessionPilot::SetSession ( const occ::handle< IFSelect_WorkSession > & WS)

    Sets a WorkSession to be worked on.

    ◆ Word()

    const TCollection_AsciiString & IFSelect_SessionPilot::Word ( const int num) const

    Returns a word given its rank in the Command Line. Begins at 0 which is the Command Title, 1 is the 1st arg., etc...


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