00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaImage.h 00004 // 00005 // This file contains the definition for the oaImage class and its public 00006 // supporting classes. 00007 // 00008 // ***************************************************************************** 00009 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00010 // Integration Initiative, this material may not be copied, modified, 00011 // re-published, uploaded, executed, or distributed in any way, in any medium, 00012 // in whole or in part, without prior written permission from Cadence. 00013 // 00014 // Copyright 2003-2005 Cadence Design Systems, Inc. 00015 // All Rights Reserved. 00016 // 00017 // $Author: icftcm $ 00018 // $Revision: #1 $ 00019 // $Date: 2010/08/09 $ 00020 // $State: Exp $ 00021 // ***************************************************************************** 00022 // ***************************************************************************** 00023 00024 00025 00026 #if !defined(oaImage_P) 00027 #define oaImage_P 00028 00029 00030 00031 // ***************************************************************************** 00032 // Nested includes 00033 // ***************************************************************************** 00034 #include "oaTechDBTypes.h" 00035 #include "oaReticle.h" 00036 #include "oaReticleRef.h" 00037 #include "oaStepperMap.h" 00038 00039 00040 00041 // ***************************************************************************** 00042 // Declare and define types in the OpenAccess namespace. 00043 // ***************************************************************************** 00044 BEGIN_OA_NAMESPACE 00045 00046 00047 00048 // ***************************************************************************** 00049 // oaMfgLayerArray 00050 // ***************************************************************************** 00051 class OA_WAFER_DLL_API oaMfgLayerArray : public oaArray<oaLayerNum> { 00052 public: 00053 oaMfgLayerArray(oaUInt4 sizeIn = 0); 00054 }; 00055 00056 00057 00058 // ***************************************************************************** 00059 // oaImage 00060 // ***************************************************************************** 00061 class OA_WAFER_DLL_API oaImage : public oaWaferObject { 00062 public: 00063 static oaImage *create(oaReticle *reticle, 00064 const oaString &name, 00065 const oaPointArray &boundary); 00066 static oaImage *create(oaReticleRef *reticleRef, 00067 const oaString &name, 00068 const oaPointArray &boundary); 00069 00070 static oaImage *find(const oaWafer *wafer, 00071 const oaString &name); 00072 00073 void destroy(); 00074 00075 oaWaferObject *getOwner() const; 00076 void getName(oaString &name) const; 00077 void getBoundary(oaPointArray &points) const; 00078 void getMfgLayers(oaMfgLayerArray &mfgLayers) const; 00079 oaStepperMap *getStepperMap() const; 00080 00081 void setName(const oaString &name); 00082 void setBoundary(const oaPointArray &points); 00083 void setMfgLayers(const oaMfgLayerArray &mfgLayers); 00084 00085 enum {dtIndex = oacImageWaferDataType}; 00086 }; 00087 00088 00089 00090 // ***************************************************************************** 00091 // Wafer traits. 00092 // ***************************************************************************** 00093 template<> 00094 class oaTraits<oaImage> { 00095 public: 00096 typedef oaWaferObject parentType; 00097 typedef oaImageModTypeEnum modTypeType; 00098 enum {dbType = oacWaferDBType}; 00099 enum {domain = oacNoDomain}; 00100 enum {isMultiDomain = false}; 00101 enum {dtIndex = oacImageWaferDataType}; 00102 enum {isConcrete = true}; 00103 enum {objectTypeEnumVal = oacImageType}; 00104 enum {dataTypeEnumVal = oacImageWaferDataType}; 00105 }; 00106 00107 00108 00109 END_OA_NAMESPACE 00110 00111 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.