00001 /*------------------------------------------------------------------- 00002 * Name: legoBB.H 00003 * 00004 * Designer: Willie Glover 00005 * 00006 * Created: 5/28/96 00007 * 00008 * Description: This file contains the LEGO header file which 00009 * defines the base block region derived class. 00010 * 00011 * Location: /ncsu/tinker/LEGO/src/derived/legoBB.H 00012 -------------------------------------------------------------------- 00013 * 5/28/96 WTG: Initial file creation. 00014 * 3/24/97 WAH: Added RefreshOps, RefreshEdges. 00015 * 6/11/97 WAH: Added GetOpCount method. 00016 * 3/3/98 WAH: Added include of legoOp.H. 00017 --------------------------------------------------------------------*/ 00018 00019 #ifndef LEGOBB_H 00020 #define LEGOBB_H 00021 00022 #include "legoMap.H" 00023 #include "legoOp.H" 00024 #include "region.H" 00025 00026 //--------------------------------------------------------------------------- 00027 00028 class legoBB : public legoRegion 00029 { 00030 00031 public: 00032 00033 legoBB () : legoRegion(RT_BB,0) 00034 { 00035 // fprintf(stderr,"Creating LEGOBB %p\n",this); 00036 } 00037 legoBB (unsigned rId = 0): legoRegion(RT_BB,rId) 00038 { 00039 // fprintf(stderr,"Creating LEGOBB %p\n",this); 00040 } 00041 legoBB (const legoBB &orig) : legoRegion ((legoRegion) orig) 00042 { 00043 // fprintf(stderr,"Creating LEGOBB %p\n",this); 00044 } 00045 00046 ~legoBB () 00047 { 00048 OpKiller(); 00049 // fprintf(stderr,"Deleting LEGOBB %p\n",this); 00050 } 00051 int GetOpCount (void) 00052 { 00053 legoOp *op; 00054 int opct = 0, realopct; 00055 00056 realopct = GetCount(); 00057 for (int i = 0; i < realopct; i++) 00058 { 00059 op = (legoOp *) GetItem(i); 00060 if (!(op->IsDummy())) opct++; 00061 } // end for 00062 return opct; 00063 } 00064 00065 void RefreshOps (void); 00066 void RefreshEdges (void); 00067 }; 00068 00069 #endif // LEGOBB_H
1.3.2