📄 oalefingeom.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 + -