00001 // ***************************************************************************** 00002 // ***************************************************************************** 00003 // oaParasiticNetwork.h 00004 // 00005 // This file contains the definition for the oaParasiticNetwork class, which 00006 // represents the parasitic elements for a particular net as a graph. 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 2002-2006 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(oaParasiticNetwork_P) 00027 #define oaParasiticNetwork_P 00028 00029 00030 00031 // ***************************************************************************** 00032 // Nested includes 00033 // ***************************************************************************** 00034 #include "oaBox.h" 00035 #include "oaAnalysisPoint.h" 00036 00037 00038 00039 // ***************************************************************************** 00040 // Declare and define types in the OpenAccess namespace. 00041 // ***************************************************************************** 00042 BEGIN_OA_NAMESPACE 00043 00044 00045 00046 // ***************************************************************************** 00047 // oaParasiticNetwork 00048 // ***************************************************************************** 00049 class OA_DESIGN_DLL_API oaParasiticNetwork : public oaDesignObject { 00050 public: 00051 static oaParasiticNetwork *create(oaDesignObject *net, 00052 oaAnalysisPoint *ap); 00053 00054 static oaParasiticNetwork *create(oaDesignObject *net, 00055 const oaAnalysisPointArray &aps); 00056 #if !defined(OA_DEPRECATED) 00057 static oaParasiticNetwork *create(oaDesignObject *net, 00058 oaUInt4 numAPs, 00059 oaAnalysisPoint **aps); 00060 #endif 00061 00062 static oaParasiticNetwork *create(oaParasiticNetwork *parent); 00063 static oaParasiticNetwork *create(oaParasiticNetwork *parent, 00064 const oaString &name); 00065 00066 static oaParasiticNetwork *load(const oaDesignObject *net, 00067 const oaAnalysisPoint *ap, 00068 oaBoolean allPartitions = false); 00069 00070 static oaParasiticNetwork *find(const oaDesignObject *net, 00071 const oaAnalysisPoint *ap); 00072 00073 static oaParasiticNetwork *find(const oaParasiticNetwork *parent, 00074 const oaString &name); 00075 00076 static oaBoolean exists(const oaDesignObject *net, 00077 const oaAnalysisPoint *ap); 00078 00079 static void destroy(oaDesignObject *net, 00080 const oaAnalysisPoint *ap); 00081 static void destroy(oaDesign *design, 00082 const oaAnalysisPoint *ap); 00083 static void destroy(oaDesignObject *net); 00084 static void destroy(oaDesign *design); 00085 00086 void load(oaBoolean allPartitions = false); 00087 00088 void destroy(); 00089 void unload(); 00090 00091 void setName(const oaString &name); 00092 void getName(oaString &name) const; 00093 00094 void setBBox(const oaBox &bBox); 00095 void getBBox(oaBox &bBox) const; 00096 00097 oaBoolean isLoaded(); 00098 oaBoolean isParent(); 00099 oaParasiticNetwork *getParent(); 00100 00101 oaDomain getDomain() const; 00102 oaDesignObject *getNet() const; 00103 00104 oaCollection<oaNode, oaParasiticNetwork> getNodes() const; 00105 oaCollection<oaDevice, oaParasiticNetwork> getDevices() const; 00106 oaCollection<oaAnalysisPoint, oaParasiticNetwork> getAnalysisPoints() const; 00107 oaCollection<oaDesignObject, oaParasiticNetwork> getCoupledNets() const; 00108 oaCollection<oaNode, oaParasiticNetwork> getConnNodes(const oaDesignObject *conn) const; 00109 oaCollection<oaSubNetwork, oaParasiticNetwork> getSubNetworks() const; 00110 oaCollection<oaParasiticNetwork, oaParasiticNetwork> getPartitions() const; 00111 00112 00113 enum {dtIndex = oacParasiticNetworkDataType}; 00114 enum {domain = oacNoDomain}; 00115 }; 00116 00117 00118 00119 // ***************************************************************************** 00120 // Design Traits. 00121 // ***************************************************************************** 00122 template<> 00123 class oaTraits<oaParasiticNetwork> { 00124 public: 00125 typedef oaDesignObject parentType; 00126 typedef oaParasiticNetworkModTypeEnum modTypeType; 00127 enum {dbType = oacDesignDBType}; 00128 enum {domain = oacNoDomain}; 00129 enum {isMultiDomain = false}; 00130 enum {dtIndex = oacParasiticNetworkDataType}; 00131 enum {isConcrete = true}; 00132 enum {objectTypeEnumVal = oacParasiticNetworkType}; 00133 enum {dataTypeEnumVal = oacParasiticNetworkDataType}; 00134 }; 00135 00136 00137 00138 END_OA_NAMESPACE 00139 00140 #endif
Copyright © 2002 - 2010 Cadence Design Systems, Inc.
All Rights Reserved.