@@ -178,6 +178,11 @@ class dbTechLayerTwoWiresForbiddenSpcRule;
178178class dbTechLayerVoltageSpacing ;
179179class dbTechLayerWidthTableRule ;
180180class dbTechLayerWrongDirSpacingRule ;
181+ class dbUnfoldedChipBumpInst ;
182+ class dbUnfoldedChipConn ;
183+ class dbUnfoldedChipInst ;
184+ class dbUnfoldedChipNet ;
185+ class dbUnfoldedChipRegionInst ;
181186// Generator Code End ClassDeclarations
182187
183188// Extraction Objects
@@ -186,8 +191,6 @@ class dbExtControl;
186191// Custom iterators
187192class dbModuleBusPortModBTermItr ;
188193
189- class UnfoldedModel ;
190-
191194// /////////////////////////////////////////////////////////////////////////////
192195// /
193196// / A box is the element used to represent layout shapes.
@@ -7620,6 +7623,16 @@ class dbDatabase : public dbObject
76207623
76217624 dbSet<dbChipNet> getChipNets () const ;
76227625
7626+ dbSet<dbUnfoldedChipInst> getUnfoldedChipInsts () const ;
7627+
7628+ dbSet<dbUnfoldedChipRegionInst> getUnfoldedChipRegionInsts () const ;
7629+
7630+ dbSet<dbUnfoldedChipBumpInst> getUnfoldedChipBumpInsts () const ;
7631+
7632+ dbSet<dbUnfoldedChipConn> getUnfoldedChipConns () const ;
7633+
7634+ dbSet<dbUnfoldedChipNet> getUnfoldedChipNets () const ;
7635+
76237636 // User Code Begin dbDatabase
76247637
76257638 void setHierarchy (bool value);
@@ -7670,7 +7683,6 @@ class dbDatabase : public dbObject
76707683
76717684 void constructUnfoldedModel ();
76727685
7673- UnfoldedModel* getUnfoldedModel () const ;
76747686 // //////////////////////
76757687 // / DEPRECATED
76767688 // //////////////////////
@@ -7800,6 +7812,12 @@ class dbDatabase : public dbObject
78007812 // / Translate a database-id back to a pointer.
78017813 // /
78027814 static dbDatabase* getDatabase (uint32_t oid);
7815+
7816+ // /
7817+ // / Find an unfolded chip by its full path name (slash-joined chip-inst
7818+ // / names). Returns nullptr if no match.
7819+ // /
7820+ dbUnfoldedChipInst* findUnfoldedChip (const std::string& path) const ;
78037821 // User Code End dbDatabase
78047822};
78057823
@@ -11392,6 +11410,96 @@ class dbTechLayerWrongDirSpacingRule : public dbObject
1139211410 // User Code End dbTechLayerWrongDirSpacingRule
1139311411};
1139411412
11413+ class dbUnfoldedChipBumpInst : public dbObject
11414+ {
11415+ public:
11416+ dbChipBumpInst* getChipBumpInst () const ;
11417+
11418+ dbUnfoldedChipRegionInst* getParentRegion () const ;
11419+
11420+ // User Code Begin dbUnfoldedChipBumpInst
11421+ Point3D getGlobalPosition () const ;
11422+ // User Code End dbUnfoldedChipBumpInst
11423+ };
11424+
11425+ class dbUnfoldedChipConn : public dbObject
11426+ {
11427+ public:
11428+ dbChipConn* getChipConn () const ;
11429+
11430+ dbUnfoldedChipRegionInst* getTopRegion () const ;
11431+
11432+ dbUnfoldedChipRegionInst* getBottomRegion () const ;
11433+ };
11434+
11435+ class dbUnfoldedChipInst : public dbObject
11436+ {
11437+ public:
11438+ const std::string& getName () const ;
11439+
11440+ dbTransform getTransform () const ;
11441+
11442+ // User Code Begin dbUnfoldedChipInst
11443+ Cuboid getCuboid () const ;
11444+
11445+ dbSet<dbUnfoldedChipRegionInst> getRegions () const ;
11446+
11447+ // /
11448+ // / Return the chip-instance path that uniquely identifies this unfolded
11449+ // / chip in the folded hierarchy (top-most chip inst first, leaf last).
11450+ // /
11451+ std::vector<dbChipInst*> getChipInstPath () const ;
11452+
11453+ // /
11454+ // / Find the unfolded region within this chip whose source region instance
11455+ // / matches `source`. Returns nullptr if no match.
11456+ // /
11457+ dbUnfoldedChipRegionInst* findRegion (dbChipRegionInst* source) const ;
11458+ // User Code End dbUnfoldedChipInst
11459+ };
11460+
11461+ class dbUnfoldedChipNet : public dbObject
11462+ {
11463+ public:
11464+ dbChipNet* getChipNet () const ;
11465+
11466+ // User Code Begin dbUnfoldedChipNet
11467+ std::vector<dbUnfoldedChipBumpInst*> getConnectedBumps () const ;
11468+ // User Code End dbUnfoldedChipNet
11469+ };
11470+
11471+ class dbUnfoldedChipRegionInst : public dbObject
11472+ {
11473+ public:
11474+ enum class EffectiveSide
11475+ {
11476+ TOP ,
11477+ BOTTOM ,
11478+ INTERNAL ,
11479+ INTERNAL_EXT
11480+ };
11481+
11482+ dbChipRegionInst* getChipRegionInst () const ;
11483+
11484+ dbUnfoldedChipInst* getParentChip () const ;
11485+
11486+ // User Code Begin dbUnfoldedChipRegionInst
11487+ Cuboid getCuboid () const ;
11488+
11489+ EffectiveSide getEffectiveSide () const ;
11490+ void setEffectiveSide (EffectiveSide side);
11491+
11492+ bool isTop () const ;
11493+ bool isBottom () const ;
11494+ bool isInternal () const ;
11495+ bool isInternalExt () const ;
11496+
11497+ int getSurfaceZ () const ;
11498+
11499+ dbSet<dbUnfoldedChipBumpInst> getBumps () const ;
11500+ // User Code End dbUnfoldedChipRegionInst
11501+ };
11502+
1139511503// Generator Code End ClassDefinition
1139611504// /
1139711505// / dbProperty - Boolean property.
0 commit comments