Main Page | Namespace List | Class Hierarchy | Compound List | File List | Namespace Members | Compound Members | File Members

BTreeOrientedPacking Class Reference

#include <btree.h>

Inheritance diagram for BTreeOrientedPacking:

Inheritance graph
[legend]
Collaboration diagram for BTreeOrientedPacking:

Collaboration graph
[legend]
List of all members.

Public Types

enum  ORIENT {
  N, E, S, W,
  FN, FE, FS, FW,
  UNDEFINED = -1
}

Public Member Functions

 BTreeOrientedPacking ()
 BTreeOrientedPacking (const BTree &bt)
void operator= (const BTree &bt)

Static Public Member Functions

ORIENT toOrient (char *orient)
char * toChar (ORIENT orient)
ORIENT flip (ORIENT orient)

Public Attributes

vector< ORIENTorient
vector< double > xloc
vector< double > yloc
vector< double > width
vector< double > height

Member Enumeration Documentation

enum OrientedPacking::ORIENT [inherited]
 

Enumeration values:
N 
E 
S 
W 
FN 
FE 
FS 
FW 
UNDEFINED 

Definition at line 59 of file basepacking.h.

Referenced by BTreeCompactor::BTreeCompactor(), BTreeOrientedPacking(), OrientedPacking::flip(), NetType::getHPWL(), BTreeCompactor::operator=(), operator=(), BTreeCompactor::slimAssign(), and OrientedPacking::toOrient().

00059 {N, E, S, W, FN, FE, FS, FW, UNDEFINED = -1};


Constructor & Destructor Documentation

BTreeOrientedPacking::BTreeOrientedPacking  )  [inline]
 

Definition at line 145 of file btree.h.

00145 {}

BTreeOrientedPacking::BTreeOrientedPacking const BTree bt  )  [inline]
 

Definition at line 274 of file btree.h.

References BTree::height(), BasePacking::height, BTree::NUM_BLOCKS, OrientedPacking::ORIENT, OrientedPacking::orient, BTree::tree, BTree::width(), BasePacking::width, BTree::xloc(), BasePacking::xloc, BTree::yloc(), and BasePacking::yloc.

00275 {
00276    int blocknum = bt.NUM_BLOCKS;
00277 
00278    xloc.resize(blocknum);
00279    yloc.resize(blocknum);
00280    width.resize(blocknum);
00281    height.resize(blocknum);
00282    orient.resize(blocknum);
00283    for (int i = 0; i < blocknum; i++)
00284    {
00285       xloc[i] = bt.xloc(i);
00286       yloc[i] = bt.yloc(i);
00287       width[i] = bt.width(i);
00288       height[i] = bt.height(i);
00289       orient[i] = OrientedPacking::ORIENT(bt.tree[i].orient);
00290    }
00291 }

Here is the call graph for this function:


Member Function Documentation

OrientedPacking::ORIENT OrientedPacking::flip ORIENT  orient  )  [inline, static, inherited]
 

Definition at line 214 of file basepacking.h.

References OrientedPacking::E, OrientedPacking::FE, OrientedPacking::FN, OrientedPacking::FS, OrientedPacking::FW, OrientedPacking::N, OrientedPacking::ORIENT, OrientedPacking::S, OrientedPacking::UNDEFINED, and OrientedPacking::W.

Referenced by BTreeCompactor::BTreeCompactor(), BTreeCompactor::operator=(), and BTreeCompactor::slimAssign().

00216 {
00217    switch(orient)
00218    {
00219    case N: return FE;
00220    case E: return FN;
00221    case S: return FW;
00222    case W: return FS;
00223    case FN: return E;
00224    case FE: return N;
00225    case FS: return W;
00226    case FW: return S;
00227    case UNDEFINED: return UNDEFINED;
00228    default:
00229       cout << "ERROR: invalid orientation: " << orient << endl;
00230       exit(1);
00231       break;
00232    }
00233 }

void BTreeOrientedPacking::operator= const BTree bt  )  [inline]
 

Definition at line 293 of file btree.h.

References BTree::height(), BasePacking::height, BTree::NUM_BLOCKS, OrientedPacking::ORIENT, OrientedPacking::orient, BTree::tree, BTree::width(), BasePacking::width, BTree::xloc(), BasePacking::xloc, BTree::yloc(), and BasePacking::yloc.

00294 {
00295    int blocknum = bt.NUM_BLOCKS;
00296 
00297    xloc.resize(blocknum);
00298    yloc.resize(blocknum);
00299    width.resize(blocknum);
00300    height.resize(blocknum);
00301    orient.resize(blocknum);
00302    for (int i = 0; i < blocknum; i++)
00303    {
00304       xloc[i] = bt.xloc(i);
00305       yloc[i] = bt.yloc(i);
00306       width[i] = bt.width(i);
00307       height[i] = bt.height(i);
00308       orient[i] = OrientedPacking::ORIENT(bt.tree[i].orient);
00309    }
00310 }  

Here is the call graph for this function:

char * OrientedPacking::toChar ORIENT  orient  )  [inline, static, inherited]
 

Definition at line 261 of file basepacking.h.

References OrientedPacking::E, OrientedPacking::FE, OrientedPacking::FN, OrientedPacking::FS, OrientedPacking::FW, OrientedPacking::N, OrientedPacking::S, OrientedPacking::UNDEFINED, and OrientedPacking::W.

00262 {
00263   if(orient == N)
00264      return("N"); 
00265   if(orient == E)
00266      return("E"); 
00267   if(orient == S)
00268      return("S"); 
00269   if(orient == W)
00270      return("W"); 
00271   if(orient == FN)
00272      return("FN"); 
00273   if(orient == FE)
00274      return("FE"); 
00275   if(orient == FS)
00276      return("FS"); 
00277   if(orient == FW)
00278      return("FW"); 
00279   if (orient == UNDEFINED)
00280      return("--");
00281   
00282   cout << "ERROR in converting ORIENT to char* " << endl;
00283   exit(1);
00284   return "--";
00285 }

OrientedPacking::ORIENT OrientedPacking::toOrient char *  orient  )  [inline, static, inherited]
 

Definition at line 235 of file basepacking.h.

References OrientedPacking::E, OrientedPacking::FE, OrientedPacking::FN, OrientedPacking::FS, OrientedPacking::FW, OrientedPacking::N, OrientedPacking::ORIENT, OrientedPacking::S, OrientedPacking::UNDEFINED, and OrientedPacking::W.

00236 {
00237    if(!strcmp(orient, "N"))
00238       return N;
00239    if(!strcmp(orient, "E"))
00240       return E;
00241    if(!strcmp(orient, "S"))
00242       return S;
00243    if(!strcmp(orient, "W"))
00244       return W;
00245    if(!strcmp(orient, "FN"))
00246       return FN;
00247    if(!strcmp(orient, "FE"))
00248       return FE;
00249    if(!strcmp(orient, "FS"))
00250       return FS;
00251    if(!strcmp(orient, "FW"))
00252       return FW;
00253    if (!strcmp(orient, "--"))
00254       return UNDEFINED;
00255    
00256    cout << "ERROR: in converting char* to ORIENT" << endl;
00257    exit(1);
00258    return UNDEFINED;
00259 }


Member Data Documentation

vector<double> BasePacking::height [inherited]
 

Definition at line 53 of file basepacking.h.

Referenced by BTreeOrientedPacking(), NetType::getHPWL(), operator=(), OutputPacking(), Read_bbb(), and Save_bbb().

vector<ORIENT> OrientedPacking::orient [inherited]
 

Definition at line 60 of file basepacking.h.

Referenced by BTreeOrientedPacking(), NetType::getHPWL(), operator=(), OutputPacking(), and Read_bbb().

vector<double> BasePacking::width [inherited]
 

Definition at line 52 of file basepacking.h.

Referenced by BTreeOrientedPacking(), NetType::getHPWL(), operator=(), OutputPacking(), Read_bbb(), and Save_bbb().

vector<double> BasePacking::xloc [inherited]
 

Definition at line 50 of file basepacking.h.

Referenced by BTreeOrientedPacking(), NetType::getHPWL(), operator=(), OutputPacking(), Read_bbb(), and Save_bbb().

vector<double> BasePacking::yloc [inherited]
 

Definition at line 51 of file basepacking.h.

Referenced by BTreeOrientedPacking(), NetType::getHPWL(), operator=(), OutputPacking(), Read_bbb(), and Save_bbb().


The documentation for this class was generated from the following file:
Generated on Mon Apr 25 01:14:03 2005 for Parquete by doxygen 1.3.2