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

📄 oalefingeom.h

📁 openaccess读def,lef文件所用的源代码
💻 H
字号:
// *****************************************************************************// *****************************************************************************// LefInGeom.h//// The LefInGeom class is constructed with a set of geometries// provided by the CAT parser, and creates shapes or blockages for// each of them.//// *****************************************************************************// 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.44 $//  $Date: 2005/08/05 01:41:34 $//  $State: Exp $// *****************************************************************************// *****************************************************************************#ifndef LefInGeom_P#define LefInGeom_PBEGIN_LEFDEF_NAMESPACE// *****************************************************************************// LefInGeom// *****************************************************************************class OA_LEFDEF_DLL_API	LefInGeom {  public:                            LefInGeom(LefIn	    &translator);    virtual		    ~LefInGeom();  protected:    virtual void	    parseGeometries(lefiGeometries    *geom);    virtual void	    parseGeom(oaInt4	itemNum);    virtual void	    parseLayer(const oaString	&layerName) = 0;    virtual void	    createRect(const oaBox  &box) = 0;    virtual void	    createPath(const oaPointArray   &pointArray) = 0;    virtual void	    createPolygon(const	oaPointArray	&pointArray) = 0;    virtual void	    createVia(oaVia	    *via,				      const oaPoint &point) = 0;    virtual void	    createDot(const oaPoint &point) = 0;    virtual void	    createLine(const oaPointArray   &pointArray) = 0;    virtual void	    createConstraints(oaFig *fig);    void		    createRect(lefiGeomRectIter	*lefRectIter);    void		    createRect(lefiGeomRect *rect,				       oaDouble	    offsetX = 0.0,				       oaDouble	    offsetY = 0.0);    void		    createPath(lefiGeomPathIter	*lefPathIter);    void		    createPath(lefiGeomPath *lefPath,				       oaDouble	    offsetX = 0.0,				       oaDouble	    offsetY = 0.0);    void		    createPolygon(lefiGeomPolygonIter	*lefPolygonIter);    void		    createPolygon(lefiGeomPolygon   *lefPolygon,					  oaDouble	    offsetX = 0.0,					  oaDouble	    offsetY = 0.0);    void		    createVia(lefiGeomViaIter	*lefViaIter);    void		    createVia(lefiGeomVia   *lefVia,				      oaDouble	    offsetX = 0.0,				      oaDouble	    offsetY = 0.0);    oaLayerNum		    getLayerNum();    oaLayerNum              currentLayerNum;    oaUInt4                 currentWidth;    oaUInt4                 currentSpacing;    oaUInt4		    currentEffectiveWidth;    oaBoolean               hasLayer;    lefiGeometries          *lefGeom;    LefIn		    &lefIn;};// *****************************************************************************// LefInGeomPin// *****************************************************************************class LefInGeomPin : public LefInGeom{  public:                            LefInGeomPin(LefIn		&translator,					 oaPurposeNum	purposeNumIn = oavPurposeNumberDrawing);    void		    parse(lefiGeometries    *geom,				  oaPin		    *pinIn);    oaBoolean		    isClassCore();  protected:    virtual void	    parseGeom(oaInt4	itemNum);    virtual void	    parseClass(const oaString	&c);    virtual void	    parseLayer(const oaString	&layerName);    virtual void	    createRect(const oaBox  &box);    virtual void	    createDot(const oaPoint &point);    virtual void	    createLine(const oaPointArray   &pointArray);    virtual void	    createPath(const oaPointArray   &pointArray);    virtual void	    createVia(oaVia	    *via,				      const oaPoint &point);    virtual void	    createPolygon(const	oaPointArray	&pointArray);    oaPurposeNum	    purposeNum;    oaBoolean               classCore;    oaPin		    *pin;};// *****************************************************************************// LefInGeomObs// *****************************************************************************class LefInGeomObs : public LefInGeom{  public:                            LefInGeomObs(LefIn	&translator);			       void		    parse(lefiGeometries    *geom);  protected:    virtual void	    parseLayer(const oaString	&layerName);    virtual void	    createRect(const oaBox  &box);    virtual void	    createDot(const oaPoint &point);    virtual void	    createLine(const oaPointArray   &pointArray);    virtual void	    createPath(const oaPointArray   &pointArray);    virtual void	    createVia(oaVia	    *via,				      const oaPoint &point);    virtual void	    createPolygon(const	oaPointArray	&pointArray);    virtual void	    createConstraints(oaFig *fig);    void		    createBlockage(const oaPointArray	&pointArray);    oaBoolean		    overlap;};            END_LEFDEF_NAMESPACE#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -