IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 26, 2009, 2:45:31 PM (17 years ago)
Author:
Paul Price
Message:

Reorganised the concepts files, moving the Write functions into pmConceptsWrite, and the Read functions into pmConceptsRead, which sort of makes sense. Added new type of concept property: copy. Most concepts use the default copy method (which is to simply copy the item), but for the TIMESYS concepts, we want to ensure that the target is of the correct type --- if it's already set (e.g., via the DEFAULTS), then we don't copy it. This will allow us to set the target TIMESYS using the DEFAULTS in the camera format, and have the output time be adjusted appropriately. Without this, the TIMESYS is simply copied, and specifying the TIMESYS in the DEFAULTS results in a warning ('values don't match'). Removed pmFPACopyConcepts, since it is pretty much the same as pmConceptsCopyFPA.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/psModules/src/concepts/pmConceptsWrite.h

    r18163 r22699  
    1111#ifndef PM_CONCEPTS_WRITE_H
    1212#define PM_CONCEPTS_WRITE_H
     13
     14#include <pslib.h>
     15#include <pmFPA.h>
     16#include <pmConfig.h>
     17#include <pmConcepts.h>
    1318
    1419/// @addtogroup Concepts Data Abstraction Concepts
     
    5863                                 const psMetadata *concepts ///< The concepts
    5964                                );
     65
     66
     67/// Write concepts for an FPA; optionally, write concepts at all lower levels.
     68///
     69/// This function writes all concepts for the FPA to the specified "source".  It also allows concepts to be
     70/// written for all lower levels by iterating over the components.
     71bool pmConceptsWriteFPA(const pmFPA *fpa,     ///< FPA for which to write concepts
     72                        pmConceptSource source, ///< Source for concepts
     73                        bool propagateDown, ///< Propagate to lower levels?
     74                        pmConfig *config        ///< Configuration
     75                       );
     76
     77/// Write concepts for a chip; optionally, write concepts at the FPA and cell levels.
     78///
     79/// This function writes all concepts for the chip to the specified "source".  It also allows concepts to be
     80/// written for the FPA, and the cell level by iterating over the components.
     81bool pmConceptsWriteChip(const pmChip *chip,  ///< Chip for which to write concepts
     82                         pmConceptSource source, ///< Source for concepts
     83                         bool propagateUp,///< Propagate to higher levels?
     84                         bool propagateDown, ///< Propagate to lower levels?
     85                         pmConfig *config       ///< Configuration
     86                        );
     87
     88/// Write concepts for a cell; optionally, write concepts for the parents.
     89///
     90/// This function writes all concepts for the chip to the specified "source".  It also allows concepts to be
     91/// written for the upper levels through the parents (note, it would not write concepts for all chips, but
     92/// only the parent of this cell).
     93bool pmConceptsWriteCell(const pmCell *cell,  ///< FPA for which to write concepts
     94                         pmConceptSource source, ///< Source for concepts
     95                         bool propagateUp, ///< Propagate to higher levels?
     96                         pmConfig *config ///< Configuration
     97                        );
     98
    6099/// @}
    61100#endif
Note: See TracChangeset for help on using the changeset viewer.