📄 oalefdefbase.h
字号:
// *****************************************************************************// *****************************************************************************// LefDefBase.h//// This file contains the definition of the LefDefBase class. The LefDefBase// class implements a base class for the LEF and DEF translator objects. //// LefDefBase// This class supports common functionality used in all LEF/DEF// translators. This functionality includes storing lib, cell, and view// names, the name of the library containing the technology database,// collecting LEF/DEF properties, managing the log file, and base methods// for error and warning reporting.//// *****************************************************************************// Except as specified in the OpenAccess terms of use of Cadence or Silicon// Integration Initiative, this material may not be copied, modified,// re-published, uploaded, executed, or distributed in any way, in any medium,// in whole or in part, without prior written permission from Cadence.//// Copyright 2002-2005 Cadence Design Systems, Inc.// All Rights Reserved.//// $Author: sailajad $// $Revision: 1.25 $// $Date: 2005/08/05 01:41:34 $// $State: Exp $// *****************************************************************************// *****************************************************************************#ifndef LefDefBase_P#define LefDefBase_PBEGIN_LEFDEF_NAMESPACE#define vRoot2 1.4142135623730951// *****************************************************************************// LefDefBase// *****************************************************************************class OA_LEFDEF_DLL_API LefDefBase { public: LefDefBase(oaUtil::MsgAdapter &msgAdapterIn, oaLefNS &nsIn); virtual ~LefDefBase(); oaLefNS &getNS() {return ns;} oaInt4 orthoToDiagDBU(double x); oaInt4 diagToOrthoDBU(double x); oaBoolean isValidLayer(oaPhysicalLayer *layer); oaLayerNum getLayerNum(const oaString &layerName); oaPhysicalLayer *getLayer(const oaString &layerName); oaPhysicalLayer *getLayer(oaLayerNum layerNum); oaUInt4 getLayerWidth(const oaConstraintGroup *cg, oaLayerNum layerNum); oaUInt4 getLayerExt(const oaConstraintGroup *cg, oaLayerNum layerNumlayer); oaUInt4 getDirection(const oaPoint &start, const oaPoint &end); oaConstraintGroup *getRules(const oaObject *object); oaConstraintGroup *getFoundryRules() {return tech()->getFoundryRules();} oaConstraintGroup *getDefaultRules(); oaValue *getConstraint(const oaConstraintGroup *group, oaSimpleConstraintType type, oaConstraintParamArray *params = NULL, oaBoolean foundry = true, oaBoolean hard = true); oaValue *getConstraint(const oaConstraintGroup *group, oaLayerConstraintType type, oaLayerNum layerNum, oaConstraintParamArray *params = NULL, oaBoolean foundry = true, oaBoolean hard = true); oaValue *getConstraint(const oaConstraintGroup *group, oaLayerPairConstraintType type, oaLayerNum layer1, oaLayerNum layer2, oaConstraintParamArray *params = NULL, oaBoolean foundry = true, oaBoolean hard = true); LefDefProp *findProp(const oaString &name, LefDefObjectType objectType); LefDefProp *getProp(const oaString &name, LefDefObjectType objectType); void addProp(LefDefProp *propIn); oaBoolean hasProp(LefDefObjectType objectType) const; void clearProps(); virtual void init(); virtual void close(); LefDefProp *getProps() {return props;} oaLib *lib() const {return libObj;} oaLib *&lib() {return libObj;} oaTech *tech() const {return techObj;} oaTech *&tech() {return techObj;} oaConstraintGroup *&defRules() {return defRulesObj;} oaDesign *design() const {return designObj;} oaDesign *&design() {return designObj;} oaBlock *topBlock() const {return designObj->getTopBlock();} virtual void error(LefDefMsgIds msgId, ...); virtual void warn(LefDefMsgIds msgId, ...); protected: LefDefProp *props; LefDefProp *lastProp; oaLib *libObj; oaTech *techObj; oaConstraintGroup *defRulesObj; oaDesign *designObj; oaBlock *blockObj; oaLefNS &ns; oaUtil::MsgAdapter &msgAdapter;};END_LEFDEF_NAMESPACE#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -