00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaLayerPairConstraint.h 00004 // 00005 // This file contains the definitions for the oaLayerPairConstraint class. 00006 // 00007 // ***************************************************************************** 00008 // Except as specified in the OpenAccess terms of use of Cadence or Silicon 00009 // Integration Initiative, this material may not be copied, modified, 00010 // re-published, uploaded, executed, or distributed in any way, in any medium, 00011 // in whole or in part, without prior written permission from Cadence. 00012 // 00013 // Copyright 2002-2005 Cadence Design Systems, Inc. 00014 // All Rights Reserved. 00015 // 00016 // $Author: icftcm $ 00017 // $Revision: #1 $ 00018 // $Date: 2010/08/09 $ 00019 // $State: Exp $ 00020 // ***************************************************************************** 00021 // ***************************************************************************** 00022 00023 00024 00025 #if !defined(oaLayerPairConstraint_P) 00026 #define oaLayerPairConstraint_P 00027 00028 00029 00030 // ***************************************************************************** 00031 // Nested includes 00032 // ***************************************************************************** 00033 #include "oaConstraintGroup.h" 00034 #include "oaTechDBTypes.h" 00035 00036 00037 00038 // ***************************************************************************** 00039 // Declare and define types in the OpenAccess namespace. 00040 // ***************************************************************************** 00041 BEGIN_OA_NAMESPACE 00042 00043 00044 00045 // ***************************************************************************** 00046 // oaLayerPairConstraint 00047 // ***************************************************************************** 00048 class OA_TECH_DLL_API oaLayerPairConstraint : public oaConstraint { 00049 public: 00050 static oaLayerPairConstraint *create(oaLayerNum layer1, 00051 oaLayerNum layer2, 00052 const oaLayerPairConstraintDef *def, 00053 oaValue *value, 00054 oaBoolean isHard = true, 00055 const oaConstraintParamArray *params = NULL); 00056 static oaLayerPairConstraint *create(oaLayerNum layer1, 00057 oaLayerNum layer2, 00058 const oaLayerPairConstraintDef *def, 00059 const oaString &name, 00060 oaValue *value, 00061 oaBoolean isHard = true, 00062 const oaConstraintParamArray *params = NULL); 00063 static oaLayerPairConstraint *create(oaLayerNum layer1, 00064 oaPurposeNum purpose1, 00065 oaLayerNum layer2, 00066 oaPurposeNum purpose2, 00067 const oaLayerPairConstraintDef *def, 00068 oaValue *value, 00069 oaBoolean isHard = true, 00070 const oaConstraintParamArray *params = NULL); 00071 static oaLayerPairConstraint *create(oaLayerNum layer1, 00072 oaPurposeNum purpose1, 00073 oaLayerNum layer2, 00074 oaPurposeNum purpose2, 00075 const oaLayerPairConstraintDef *def, 00076 const oaString &name, 00077 oaValue *value, 00078 oaBoolean isHard = true, 00079 const oaConstraintParamArray *params = NULL); 00080 00081 static oaLayerPairConstraint *find(const oaConstraintGroup *group, 00082 oaLayerNum layer1, 00083 oaLayerNum layer2, 00084 const oaLayerPairConstraintDef *def, 00085 oaBoolean hardOnly = false); 00086 static oaLayerPairConstraint *find(const oaConstraintGroup *group, 00087 oaLayerNum layer1, 00088 oaPurposeNum purpose1, 00089 oaLayerNum layer2, 00090 oaPurposeNum purpose2, 00091 const oaLayerPairConstraintDef *def, 00092 oaBoolean hardOnly = false); 00093 00094 static oaCollection<oaLayerPairConstraint, oaConstraintGroup> getConstraints(const oaConstraintGroup *group, 00095 oaLayerNum layer1, 00096 oaLayerNum layer2, 00097 const oaLayerPairConstraintDef *def = NULL); 00098 00099 oaLayerNum getLayer1() const; 00100 oaLayerNum getLayer2() const; 00101 oaPurposeNum getPurpose1() const; 00102 oaPurposeNum getPurpose2() const; 00103 }; 00104 00105 00106 00107 // ***************************************************************************** 00108 // Tech objects derived from oaConstraint 00109 // ***************************************************************************** 00110 template<> 00111 class oaTraits<oaLayerPairConstraint> { 00112 public: 00113 typedef oaConstraintModTypeEnum modTypeType; 00114 typedef oaConstraint parentType; 00115 enum {domain = oacNoDomain}; 00116 enum {isMultiDomain = false}; 00117 enum {dbType = oacBaseDBType}; 00118 enum {dtIndex = oacTechConstraintDataType}; 00119 enum {isConcrete = true}; 00120 enum {objectTypeEnumVal = oacLayerPairConstraintType}; 00121 enum {dataTypeEnumVal = oacTechConstraintDataType}; 00122 }; 00123 00124 00125 00126 END_OA_NAMESPACE 00127 00128 #endif 00129
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.