-
…or the observation Python module. The classname() method returns in a human readable format the class name. This method is needed for full automatic typecasting in Python. Full automatic typecasting has for the moment been implemented for the observation module.
-
The coding and design conventions (CDC) document was also updated.
-
…ement elements() method for defining variable-length column. A variable-length column is now constructued by passing a negative column vector length. The size of a row is specified using the elements() method that makes use of the resize_data() method implemented by the derived classes. The only column type that is not yet implemented is the Bit column. Also the string columns do not yet work properly for variable-length columns.
-
… a variable-length column. The generic GFitsTableCol::elements() method has been implemented that makes use of the virtual data_resize() method that should be implemented by all derived classes. This method has so far been implemented and tested for the GFitsTableShortCol class. A unit test has also been added for this class that uses the elements() method for setup of the variable-length column.
-
… the header file as inline methods. During the rework, a bug occured in the string column class that prevented from correct saving to the file. The bug was due to the fact that the wrong pointer was specified by the ptr_data() method, and then, also the GFitsTableCol::isloaded() method that worked on ptr_data() was not corrected. The ptr_data() method has been corrected for the string column class and the isloaded() method has been defined as pure virtual in GFitsTableCol, and now is implemented in the derived classes. We thus have full control over the definition of the loading state. To conform to the actual coding standards, all methods that are implemented by the table column classes in the header file are now declared inline.
-
…at and remove binary_format() method. Instead of handling the column format in the derived classes, the column format for binary tables is now handled in the base class. The format codes for variable-length columns are now also supported.
-
The GFitsTableCol has been extended to support reading of variable-length columns. A specific load method has been implemented for variable-length columns that determines for each row the number of elements and stores the information in a vector of row start indices. The GFitsTableCol::offset method has been modified to allow accessing elements in the variable-length storage. GFitsTable has been adapted to support allocating variable-length columns. Variable-length columns are recognised by a negative typecode.
-
Add GChatter argument to print() method. The print() method now takes an argument of type GChatter to control the chattiness of the output in a homogenous manner. Pass NORMAL chatter level in __str__ method. Add chatter argument to print() methods. Use GLog::chatter() method to control the chattiness of the log stream operator. Add chatter() methods and provide member access through const references. Add chatter() methods, provide member access through const references, and declare one liners as inline methods. The chatter() methods control the new m_chatter attribute that is used to control the chattiness of the object's print() methods. name() and version() methods return const references. logFileOpen() method now sets the chattiness from the applications's chatter parameter, and name() and version() methods now return a const reference.
-
I went over all .hpp to make sure that the GBase.hpp file is properly included, and no supoerfluous other includes remain. I also checked that no ostream and GLog friends are no longer available. I went over all .i files to make sure that classes are derived from GBase.
-
All classes our now derived from GBase. For this we had to define and to implement the clear() method for all classes. ostream and GLog friends have also been removed, as they are no implemented at the GBase level.