00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaLayerConstraint.h 00004 // 00005 // This file contains the definitions for the oaLayerConstraint 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(oaLayerConstraint_P) 00026 #define oaLayerConstraint_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 // oaLayerConstraint 00047 // ***************************************************************************** 00048 class OA_TECH_DLL_API oaLayerConstraint : public oaConstraint { 00049 public: 00050 static oaLayerConstraint *create(oaLayerNum layer, 00051 const oaLayerConstraintDef *def, 00052 oaValue *value, 00053 oaBoolean isHard = true, 00054 const oaConstraintParamArray *params = NULL); 00055 static oaLayerConstraint *create(oaLayerNum layer, 00056 const oaLayerConstraintDef *def, 00057 const oaString &name, 00058 oaValue *value, 00059 oaBoolean isHard = true, 00060 const oaConstraintParamArray *params = NULL); 00061 00062 static oaLayerConstraint *create(oaLayerNum layer, 00063 oaPurposeNum purpose, 00064 const oaLayerConstraintDef *def, 00065 oaValue *value, 00066 oaBoolean isHard = true, 00067 const oaConstraintParamArray *params = NULL); 00068 static oaLayerConstraint *create(oaLayerNum layer, 00069 oaPurposeNum purpose, 00070 const oaLayerConstraintDef *def, 00071 const oaString &name, 00072 oaValue *value, 00073 oaBoolean isHard = true, 00074 const oaConstraintParamArray *params = NULL); 00075 00076 static oaLayerConstraint *find(const oaConstraintGroup *group, 00077 oaLayerNum layer, 00078 const oaLayerConstraintDef *def, 00079 oaBoolean hardOnly = false); 00080 static oaLayerConstraint *find(const oaConstraintGroup *group, 00081 oaLayerNum layer, 00082 oaPurposeNum purpose, 00083 const oaLayerConstraintDef *def, 00084 oaBoolean hardOnly = false); 00085 00086 static oaCollection<oaLayerConstraint, oaConstraintGroup> getConstraints(const oaConstraintGroup *group, 00087 oaLayerNum layer, 00088 const oaLayerConstraintDef *def = NULL); 00089 00090 oaLayerNum getLayer() const; 00091 oaPurposeNum getPurpose() const; 00092 }; 00093 00094 00095 00096 // ***************************************************************************** 00097 // Tech. Traits 00098 // ***************************************************************************** 00099 template<> 00100 class oaTraits<oaLayerConstraint> { 00101 public: 00102 typedef oaConstraintModTypeEnum modTypeType; 00103 typedef oaConstraint parentType; 00104 enum {domain = oacNoDomain}; 00105 enum {isMultiDomain = false}; 00106 enum {dbType = oacBaseDBType}; 00107 enum {dtIndex = oacTechConstraintDataType}; 00108 enum {isConcrete = true}; 00109 enum {objectTypeEnumVal = oacLayerConstraintType}; 00110 enum {dataTypeEnumVal = oacTechConstraintDataType}; 00111 }; 00112 00113 00114 00115 END_OA_NAMESPACE 00116 00117 #endif 00118
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.