coriolis/hurricane/doc/hurricane/Technology.dox

92 lines
2.9 KiB
C++

// -*- C++ -*-
namespace Hurricane {
/*! \class Technology
* \brief Technological rules description (\b API).
*
* \section sTechnologyIntro Introduction
*
* The Technology object provides the description of all the technology
* rules needed by the tools, currently it is limited to the description
* of all layers available. This object must be created once within the
* DataBase, and, in principle never destroyed (this would destroy layers
* and all objects laying on them ...).
*
* \remark There is only one technology for the current DataBase, and only one
* Database object, so only one technology defined.
*/
/*! \name Constructors
*/
// \{
/*! \function Technology* Technology::create ( DataBase* dataBase, const Name& name );
* \Return a newly created technology named \c \<name\> for the data base \c \<dataBase\>.
*
* \caution Throws an exception if the \c dataBase is \NULL, if the name is empty or if
* the \c dataBase has already a technology.
*/
// \}
/*! \name Accessors
*/
// \{
/*! \function DataBase* Technology::getDataBase () const;
* \Return the DataBase owning the technology.
*/
/*! \function const Name& Technology::getName () const;
* \Return the technology name.
*/
/*! \function Layer* Technology::getLayer ( const Name& name ) const;
* \Return the Layer named \c \<name\> if it exists, else \NULL.
*/
/*! \function BasicLayer* Technology::getBasicLayer ( const Name& name ) const;
* \Return the Layer named \c \<name\> if it exists and is a BasicLayer, else \NULL.
*/
/*! \function Layers Technology::getLayers () const;
* \Return Returns the collection of layers of the technology.
*
* \remark The layers are traversed according to their
* creation order. This order is very important,
* notably for the graphical display. Therefore deeper
* basic layers must be created first and upper layers
* later (the order of composite layers has no
* importance).
*/
/*! \function BasicLayers Technology::getBasicLayers () const;
* \Return Returns the collection of basic layers of the technology
* (uses the same order).
*/
/*! \function BasicLayers Technology::getBasicLayers ( const Layer::Mask& mask ) const;
* \Return Returns the collection of basic layers of the technology
* which matches the Layer mask \c \<mask\> (uses the same order).
*/
// \}
/*! \name Modifiers
*/
// \{
/*! \function void Technology::setName ( const Name& name );
* Allows to change the technology name (if empty name, throws an exception).
*/
// \}
}