Most classes defined in this chapter correspond to the same classes in ruby extension.
One class correspond to modules in ruby extension: the ``Application'' class described in section V.2.1 corresponds more or less to the ``FeResPost'' module in ruby extension, even though its purpose is not exactly the same. This class also inherits the methods defined in ``Post'' module of ruby extension.
The two classes ``Iterator'' and ``IterX'' correspond to the iterators defined in the different classes of the COM component. These classes are not described in this chapter. Indeed, one considers that the explanations given in section V.0.2.3 about the use of iterators is sufficient. Of course no corresponding class exists in the ruby extension.
This class corresponds to the ``IApplication'' interface. Only one object of the class Application can be created, even though several references to this object can be used in a program.
The ``Visible'' property can either be set or got. The value of this property specifies whether the Application main window is visible or not. The Application main window shows the number of FeResPost COM objects that have been created and the number of references to these object. This information is provided by class, and one also gives the summary for all classes in last ``TOTAL'' line.
Note that it is not because an Application is not ``Visible'' that it is not running.
The method ``newObject'' is used to create objects for the different classes of the COM component. Its argument is a String corresponding to the name of the class for which an object is requested. The created object is the return value. For example, when the following statement is used:
db=frpApp.newObject("NastranDb")creates a new Nastran DataBase object and a reference is stored in ``db'' variable.
All the methods which in ruby extension are defined in ``Post'' module, are defined in ``Application'' class for the COM component. Presently, these methods are
When working with ``FeResPost.exe'' out-of-proc solver, also called ``local server'' it may be interesting to change the working directory of the server, to match the one of the client, for example. Two methods have been added to the COM component:
For ``in-proc'' server (or dll server), these two methods have no effect.
This class corresponds to the generic DataBase class of ruby described in Chapter I.1. The class cannot be instantiated; only the interface ``IDataBase'' has been defined. The DataBase classes corresponding to the different solvers derive from the ``IDataBase'' interface.
The iterators of the DataBase class in ruby extension have also
been defined in COM component: ``iter_abbreviation'', ``iter_groupName'',
``iter_resultKey'', ``iter_resultKeyCaseId'', ``iter_resultKeySubCaseId'',
``iter_resultKeyLcScId'' and `iter_resultKeyResId'' properties in COM
component correspond to the ``each_abbreviation'', ``each_groupName'',
``each_resultKeyCaseId'', ``each_resultKeySubCaseId'', ``each_resultKeyLcScId'' and
``each_resultKeyResId'' iterators in ruby extension.
The four singleton methods ``enableLayeredResultsReading'', ``disableLayeredResultsReading'', ``enableSubLayersReading'' and ``disableSubLayersReading'' in the ruby extension generic DataBase class are defined as instance methods. This means that an instance of the derived class must be created to use these singleton methods.
The same is true for methods ``setStorageBufferMaxCapacity'' and ``getStorageBufferMaxCapacity''.
Most methods of the ``Group'' class are exactly the same as the ones defined in the Group class of ruby extension (Chapter I.3). Several methods or properties are different however:
Methods of the ``CoordSys'' class are the same as the ones defined in the CoordSys class in ruby extension. The ``makeCopy'' method that returns a copy of the object.
Most methods of the ``Result'' class are exactly the same as the ones defined in the Result class in ruby extension (Chapter I.4). Several methods or properties are different however:
Methods of the ``ResKeyList'' class are the same as the ones defined in the ResKeyList class in ruby extension. Only the single iterator is different: However: