oalefingeom.h

来自「openaccess读def,lef文件所用的源代码」· C头文件 代码 · 共 149 行

H
149
字号
// *****************************************************************************// *****************************************************************************// 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 + =
减小字号Ctrl + -
显示快捷键?