⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 oalefdefbase.h

📁 openaccess读def,lef文件所用的源代码
💻 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 + -