Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BFLWingedEdge Class Reference

#include <BFLWingedEdge.h>

List of all members.

Public Member Functions

 BFLWingedEdge (Long_t ngens=0)
 ~BFLWingedEdge ()
virtual void SetGenerators (TObjArray *gens)
Long_t Size (void)
void Load (const Char_t *filename)
void Save (const Char_t *filename="default.vor")
void LoadNodalSet (const Char_t *filename)
void SaveNodalSet (const Char_t *filename="default-nodes.vor")
void LoadANSYSLookupTable (BfldGrid::Grid_t grid)
virtual TObjArray * GetGenerators (void)
virtual Int_t GetEdgeID (Int_t EdgeSlot) const
virtual Int_t GetRightPolyg (Int_t EdgeSlot) const
virtual Int_t GetLeftPolyg (Int_t EdgeSlot) const
virtual Int_t GetStartVtx (Int_t EdgeSlot) const
virtual Int_t GetEndVtx (Int_t EdgeSlot) const
virtual Int_t GetCwPredecessor (Int_t EdgeSlot) const
virtual Int_t GetCcwPredecessor (Int_t EdgeSlot) const
virtual Int_t GetCwSuccessor (Int_t EdgeSlot) const
virtual Int_t GetCcwSuccessor (Int_t EdgeSlot) const
virtual Int_t GetPolygID (Int_t PolySlot) const
virtual Int_t GetEdgeAroundPolyg (Int_t PolySlot) const
virtual BFLNodeGetVtx (Int_t VtxSlot) const
virtual Int_t GetVtxID (Int_t VtxSlot) const
virtual Int_t GetEdgeAroundVtx (Int_t VtxSlot) const
virtual Bool_t GetWeight (Int_t VtxSlot) const
virtual Float_t GetX (Int_t VtxSlot) const
virtual Float_t GetY (Int_t VtxSlot) const
virtual Int_t GetNofPolygons (void)
virtual Int_t GetNofVertices (void)
virtual Int_t GetNofEdges (void)
virtual TObjArray * GetPolygons (void)
virtual TObjArray * GetVertices (void)
virtual TObjArray * GetEdges (void)
virtual BFLPolygGetPolygObj (Int_t slot)
virtual BFLVtxGetVtxObj (Int_t slot)
virtual BFLEdgeGetEdgeObj (Int_t slot)
virtual BFLAnsysLookup GetAnsysLookupTable (void)
virtual Int_t GetLastPolygID (void)
virtual Int_t GetLastVtxID (void)
virtual Int_t GetLastEdgeID (void)
virtual Int_t PolygonToGenerator (Int_t polygon) const
virtual Int_t GeneratorToPolygon (Int_t generator) const
virtual Float_t GetGeneratorX (Int_t igen) const
virtual Float_t GetGeneratorY (Int_t igen) const
virtual Int_t GetGeneratorID (Int_t igen) const
void SetEdge (Int_t edge)
virtual void SetPolyg (Int_t polyg)
virtual void SetVtx (Int_t vtx)
virtual void SetEdgeID (Int_t EdgeSlot, Int_t EdgeID)
virtual void SetRightPolyg (Int_t EdgeSlot, Int_t rpolyg)
virtual void SetLeftPolyg (Int_t EdgeSlot, Int_t lpolyg)
virtual void SetStartVtx (Int_t EdgeSlot, Int_t svtx)
virtual void SetEndVtx (Int_t EdgeSlot, Int_t evtx)
virtual void SetCwPredecessor (Int_t EdgeSlot, Int_t cwpred)
virtual void SetCcwPredecessor (Int_t EdgeSlot, Int_t ccwpred)
virtual void SetCwSuccessor (Int_t EdgeSlot, Int_t cwsucc)
virtual void SetCcwSuccessor (Int_t EdgeSlot, Int_t ccwsucc)
virtual void SetPolygID (Int_t PolySlot, Int_t PolyID)
virtual void SetEdgeAroundPolyg (Int_t PolySlot, Int_t edge)
virtual void SetVtxID (Int_t VtxSlot, Int_t VtxID)
virtual void SetEdgeAroundVtx (Int_t VtxSlot, Int_t edge)
virtual void SetWeight (Int_t VtxSlot, Bool_t weight)
virtual void SetX (Int_t VtxSlot, Float_t x)
virtual void SetY (Int_t VtxSlot, Float_t y)
virtual void SetPolygObj (BFLPolyg *polyg, Int_t slot)
virtual void SetVtxObj (BFLVtx *vtx, Int_t slot)
virtual void SetEdgeObj (BFLEdge *edge, Int_t slot)
void AddEdge (Int_t EdgeSlot)
void AddPolyg (Int_t PolySlot)
void AddVtx (Int_t VtxSlot)
virtual void DeleteVtx (Int_t vtx)
virtual void DeleteEdge (Int_t edge)
virtual void DeletePolygon (Int_t polyg)
void PrintVoronoi (Int_t PrintWhat)
void PrintPolygons (void)
void PrintVertices (void)
void PrintEdges (void)
void Plot (void)
void AddAvailableEdgeID (Int_t id)
void AddAvailableVtxID (Int_t id)
Int_t FirstAvailableVtxID (void) const
Int_t FirstAvailableEdgeID (void) const
void DeleteFirstAvailableVtxID (void)
void DeleteFirstAvailableEdgeID (void)
Int_t MaxAvailableEdgeID (void) const
Int_t MaxAvailableVtxID (void) const

Private Attributes

Int_t fNEdges
Int_t fNVertices
Int_t fNPolygons
TObjArray * fEdges
TObjArray * fVertices
TObjArray * fPolygons
TObjArray * fGenerators
TIntListfAvailableVtxIDs
TIntListfAvailableEdgeIDs
BFLAnsysLookupfANSYSTable


Constructor & Destructor Documentation

BFLWingedEdge::BFLWingedEdge Long_t  ngens = 0  ) 
 

Definition at line 21 of file BFLWingedEdge.cxx.

00021                                         :
00022 fNPolygons(0)
00023 { 
00024  
00025   // number of edges/vertices/polygons is estimated from 
00026   //Euler's formula. --See Okabe/Boots/Sugihara p. 217.
00027 
00028 
00029   //fEdges    = new TObjArray(3*ngens + 10);
00030   //fVertices = new TObjArray(2*ngens + 10);
00031   //fPolygons = new TObjArray(ngens + 10);
00032   // Apparently this is not large enough in some cases, although it's
00033   // hard to see why this should be so, except perhaps in a truly
00034   // pathological case. Nonetheless, here goes...
00035 
00036   fEdges    = new TObjArray(3*ngens + 100);
00037   fVertices = new TObjArray(2*ngens + 100);
00038   fPolygons = new TObjArray(ngens + 100);
00039 
00040 
00041   fAvailableVtxIDs  = new TIntList();
00042   fAvailableEdgeIDs = new TIntList(); 
00043 
00044   fGenerators = 0;
00045 
00046   fANSYSTable = 0;
00047 }

BFLWingedEdge::~BFLWingedEdge  ) 
 

Definition at line 50 of file BFLWingedEdge.cxx.

References fEdges, fGenerators, fPolygons, and fVertices.

00051 { 
00052   fEdges->Delete();    
00053   delete fEdges;
00054 
00055   fVertices->Delete();
00056   delete fVertices;
00057 
00058   fPolygons->Delete(); 
00059   delete fPolygons;
00060 
00061   if(fGenerators) {
00062     fGenerators->Delete();
00063     delete fGenerators;
00064   }
00065   
00066   delete fAvailableVtxIDs;
00067   delete fAvailableEdgeIDs;  
00068 }


Member Function Documentation

void BFLWingedEdge::AddAvailableEdgeID Int_t  id  ) 
 

Definition at line 148 of file BFLWingedEdge.cxx.

References fAvailableEdgeIDs.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), and BFLVoronoiMaker::DeleteSubstructure().

00149 {
00150   fAvailableEdgeIDs -> Add(id); // if it doesn't already exists
00151   fAvailableEdgeIDs -> Sort();
00152 }

void BFLWingedEdge::AddAvailableVtxID Int_t  id  ) 
 

Definition at line 101 of file BFLWingedEdge.cxx.

References fAvailableVtxIDs.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), and BFLVoronoiMaker::DeleteSubstructure().

00102 {
00103   fAvailableVtxIDs -> Add(id);
00104   fAvailableVtxIDs -> Sort();
00105 }

void BFLWingedEdge::AddEdge Int_t  EdgeSlot  ) 
 

Definition at line 71 of file BFLWingedEdge.cxx.

References fEdges, and SetEdgeID().

Referenced by BFLVoronoiMaker::AddDistantGenerators(), and BFLVoronoiMaker::AddNewEdge().

00071                                           { 
00072 
00073   fEdges->AddAtAndExpand(new BFLEdge(EdgeSlot), EdgeSlot); 
00074   
00075   // The slot of this object at its container is by default its EdgeID  
00076   Int_t EdgeID = EdgeSlot;
00077   SetEdgeID(EdgeSlot,EdgeID);
00078 }  

void BFLWingedEdge::AddPolyg Int_t  PolySlot  ) 
 

Definition at line 81 of file BFLWingedEdge.cxx.

References fPolygons, and SetPolygID().

Referenced by BFLVoronoiMaker::AddDistantGenerators(), and BFLVoronoiMaker::AddNewPolyg().

00081                                            { 
00082 
00083   fPolygons->AddAtAndExpand(new BFLPolyg(PolySlot), PolySlot); 
00084 
00085   // The slot of this object at its container is by default its PolyID  
00086   Int_t PolyID = PolySlot;
00087   SetPolygID(PolySlot,PolyID);
00088 }  

void BFLWingedEdge::AddVtx Int_t  VtxSlot  ) 
 

Definition at line 91 of file BFLWingedEdge.cxx.

References fVertices, and SetVtxID().

Referenced by BFLVoronoiMaker::AddDistantGenerators(), and BFLVoronoiMaker::AddNewVtx().

00091                                         { 
00092 
00093   fVertices->AddAtAndExpand(new BFLVtx(VtxSlot), VtxSlot); 
00094 
00095   // The slot of this object at its container is by default its VtxID  
00096   Int_t VtxID = VtxSlot;
00097   SetVtxID(VtxSlot,VtxID);
00098 }  

virtual void BFLWingedEdge::DeleteEdge Int_t  edge  )  [inline, virtual]
 

Definition at line 230 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::DeleteSubstructure().

00231   { 
00232     delete (BFLEdge *) fEdges->At(edge);
00233     fEdges->RemoveAt(edge); 
00234   } 

void BFLWingedEdge::DeleteFirstAvailableEdgeID void   ) 
 

Definition at line 178 of file BFLWingedEdge.cxx.

References TIntList::AddAt(), fAvailableEdgeIDs, TIntList::First(), TIntList::NumberOfElements(), TIntList::Remove(), and TIntList::Sort().

Referenced by BFLVoronoiMaker::AddNewEdge().

00179 {
00180 // Removes the first available vtx id
00181 
00182   Int_t NextID;
00183   
00184   fAvailableEdgeIDs->Sort();
00185   if(fAvailableEdgeIDs->NumberOfElements() == 1) {
00186     NextID = fAvailableEdgeIDs->First() + 1;
00187     fAvailableEdgeIDs->AddAt(NextID,1);
00188   }  
00189   fAvailableEdgeIDs->Remove( fAvailableEdgeIDs->First() );
00190 }

void BFLWingedEdge::DeleteFirstAvailableVtxID void   ) 
 

Definition at line 132 of file BFLWingedEdge.cxx.

References TIntList::AddAt(), fAvailableVtxIDs, TIntList::First(), TIntList::NumberOfElements(), TIntList::Remove(), and TIntList::Sort().

Referenced by BFLVoronoiMaker::AddNewVtx().

00133 {
00134 // Removes the first available vtx id
00135 
00136   Int_t NextID;
00137 
00138   fAvailableVtxIDs->Sort();
00139   if(fAvailableVtxIDs->NumberOfElements() == 1) {
00140     NextID = fAvailableVtxIDs->First() + 1;
00141     fAvailableVtxIDs->AddAt(NextID,1);
00142   }
00143   fAvailableVtxIDs->Remove( fAvailableVtxIDs->First() );
00144 }

virtual void BFLWingedEdge::DeletePolygon Int_t  polyg  )  [inline, virtual]
 

Definition at line 235 of file BFLWingedEdge.h.

References fPolygons.

00236   {
00237     delete (BFLPolyg *) fPolygons->At(polyg);
00238     fPolygons->RemoveAt(polyg); 
00239   }

virtual void BFLWingedEdge::DeleteVtx Int_t  vtx  )  [inline, virtual]
 

Definition at line 225 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVoronoiMaker::DeleteSubstructure().

00226   {
00227     delete (BFLVtx *) fVertices->At(vtx); 
00228     fVertices->RemoveAt(vtx); 
00229   }

Int_t BFLWingedEdge::FirstAvailableEdgeID void   )  const
 

Definition at line 155 of file BFLWingedEdge.cxx.

References fAvailableEdgeIDs, TIntList::First(), and TIntList::Sort().

Referenced by BFLVoronoiMaker::AddNewEdge().

00156 {
00157 // Returns the first available edge id to be assigned to a newly
00158 // added edge. The commends of the FirstAvailableVtxID() are 
00159 // relevant.
00160 
00161   Int_t edge;
00162 
00163   fAvailableEdgeIDs->Sort();
00164   edge = fAvailableEdgeIDs->First();
00165   //fAvailableEdgeIDs->Remove(edge); ????
00166 
00167   return edge;
00168 }

Int_t BFLWingedEdge::FirstAvailableVtxID void   )  const
 

Definition at line 108 of file BFLWingedEdge.cxx.

References fAvailableVtxIDs, TIntList::First(), and TIntList::Sort().

Referenced by BFLVoronoiMaker::AddNewVtx().

00109 {
00110 // Returns the first availabe vertex id to be assigned to a newly
00111 // added vertex. This can not simply accomodated with a counter of
00112 // existing vertices because when we delete a Voronoi substructure,
00113 // vertices are deleted so unwanted gaps are introduced. We must
00114 // refill these gaps before assigning new vertex ids.
00115 
00116   Int_t vtx;
00117 
00118   fAvailableVtxIDs->Sort();
00119   vtx = fAvailableVtxIDs->First();
00120 
00121   return vtx;
00122 }

virtual Int_t BFLWingedEdge::GeneratorToPolygon Int_t  generator  )  const [inline, virtual]
 

Definition at line 138 of file BFLWingedEdge.h.

Referenced by BFLVorOperator::FindCurrentPolygon(), BFLVorOperator::FindNewVtx(), and BFLInterpolation::PlanarInterpolation().

00138 { return generator; }

virtual BFLAnsysLookup BFLWingedEdge::GetAnsysLookupTable void   )  [inline, virtual]
 

Definition at line 131 of file BFLWingedEdge.h.

Referenced by BFLInterpolation::BilinearInterpolation().

00131 { return *fANSYSTable; }

virtual Int_t BFLWingedEdge::GetCcwPredecessor Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 79 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVorOperator::RetrieveEdgesIncidentToVtx(), and BFLVorOperator::RetrievePolygonsIncidentToVtx().

00079                                                         {
00080     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetCcwPredecessor(); 
00081   }  

virtual Int_t BFLWingedEdge::GetCcwSuccessor Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 85 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVorOperator::RetrieveEdgesIncidentToVtx(), and BFLVorOperator::RetrievePolygonsIncidentToVtx().

00085                                                       {
00086     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetCcwSuccessor(); 
00087   }  

virtual Int_t BFLWingedEdge::GetCwPredecessor Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 76 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVorOperator::RetrieveEdgesSurrPolygon(), and BFLVorOperator::RetrieveVtxSurrPolygon().

00076                                                        {
00077     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetCwPredecessor();
00078   }  

virtual Int_t BFLWingedEdge::GetCwSuccessor Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 82 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVorOperator::RetrieveEdgesSurrPolygon(), and BFLVorOperator::RetrieveVtxSurrPolygon().

00082                                                      {
00083     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetCwSuccessor(); 
00084   }  

virtual Int_t BFLWingedEdge::GetEdgeAroundPolyg Int_t  PolySlot  )  const [inline, virtual]
 

Definition at line 91 of file BFLWingedEdge.h.

References fPolygons.

Referenced by BFLVoronoiMaker::RemoveRefsToDeletedEdges(), BFLVorOperator::RetrieveEdgesSurrPolygon(), and BFLVorOperator::RetrieveVtxSurrPolygon().

00091                                                          {
00092     return ((BFLPolyg *)fPolygons->At(PolySlot))->GetEdgeAroundPolyg(); 
00093   }  

virtual Int_t BFLWingedEdge::GetEdgeAroundVtx Int_t  VtxSlot  )  const [inline, virtual]
 

Definition at line 100 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVorOperator::RetrieveEdgesIncidentToVtx(), and BFLVorOperator::RetrievePolygonsIncidentToVtx().

00100                                                       {
00101     return ((BFLVtx *)fVertices->At(VtxSlot))->GetEdgeAroundVtx(); 
00102   }  

virtual Int_t BFLWingedEdge::GetEdgeID Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 61 of file BFLWingedEdge.h.

References fEdges.

00061                                                 {
00062     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetEdgeID();
00063   }

virtual BFLEdge* BFLWingedEdge::GetEdgeObj Int_t  slot  )  [inline, virtual]
 

Definition at line 127 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::WingedEdgePatch().

00127                                            {
00128      return (BFLEdge *) fEdges->At(slot);
00129   }

virtual TObjArray* BFLWingedEdge::GetEdges void   )  [inline, virtual]
 

Definition at line 119 of file BFLWingedEdge.h.

Referenced by BFLVoronoiMaker::MergeDataStructures().

00119 { return fEdges; }

virtual Int_t BFLWingedEdge::GetEndVtx Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 73 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::DeleteSubstructure(), BFLVorOperator::EdgeHasNewVtx(), BFLVorOperator::EdgeIsInsideNewPolygon(), BFLVoronoiMaker::MarkVerticesToDelete(), BFLVorOperator::RetrieveVtxSurrPolygon(), and BFLVoronoiMaker::WingedEdgePatch().

00073                                                 {
00074     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetEndVtx(); 
00075   }  

virtual Int_t BFLWingedEdge::GetGeneratorID Int_t  igen  )  const [inline, virtual]
 

Definition at line 146 of file BFLWingedEdge.h.

References fGenerators.

Referenced by BFLInterpolation::CNInterpolation(), BFLInterpolation::NNInterpolation(), and BFLInterpolation::PlanarInterpolation().

00146                                                  {
00147     return ((BFLNode *)(fGenerators->At(igen-1)))->GetNodeID();
00148   }

virtual TObjArray* BFLWingedEdge::GetGenerators void   )  [inline, virtual]
 

Definition at line 59 of file BFLWingedEdge.h.

00059 { return fGenerators; } 

virtual Float_t BFLWingedEdge::GetGeneratorX Int_t  igen  )  const [inline, virtual]
 

Definition at line 140 of file BFLWingedEdge.h.

References fGenerators.

Referenced by BFLVorOperator::DistanceFrom(), BFLVorOperator::FindNewVtx(), BFLVorOperator::GeneratorsDist(), BFLInterpolation::PlanarInterpolation(), and BFLVorOperator::VtxIsInsideNewPolyg().

00140                                                   {
00141     return ((BFLNode *)(fGenerators->At(igen-1)))->GetX();
00142   }

virtual Float_t BFLWingedEdge::GetGeneratorY Int_t  igen  )  const [inline, virtual]
 

Definition at line 143 of file BFLWingedEdge.h.

References fGenerators.

Referenced by BFLVorOperator::DistanceFrom(), BFLVorOperator::FindNewVtx(), BFLVorOperator::GeneratorsDist(), BFLInterpolation::PlanarInterpolation(), and BFLVorOperator::VtxIsInsideNewPolyg().

00143                                                   {
00144     return ((BFLNode *)(fGenerators->At(igen-1)))->GetY();
00145   }

virtual Int_t BFLWingedEdge::GetLastEdgeID void   )  [inline, virtual]
 

Definition at line 135 of file BFLWingedEdge.h.

References fEdges.

00135 { return fEdges->GetLast(); }    

virtual Int_t BFLWingedEdge::GetLastPolygID void   )  [inline, virtual]
 

Definition at line 133 of file BFLWingedEdge.h.

References fPolygons.

00133 { return fPolygons->GetLast(); }

virtual Int_t BFLWingedEdge::GetLastVtxID void   )  [inline, virtual]
 

Definition at line 134 of file BFLWingedEdge.h.

References fVertices.

00134 { return fVertices->GetLast(); }

virtual Int_t BFLWingedEdge::GetLeftPolyg Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 67 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVorOperator::FindNewVtx(), BFLVorOperator::MoveToNextPolygon(), BFLInterpolation::PlanarInterpolation(), BFLVoronoiMaker::RemoveRefsToDeletedEdges(), BFLVorOperator::RetrieveEdgesSurrPolygon(), BFLVorOperator::RetrievePolygonsIncidentToVtx(), and BFLVorOperator::RetrieveVtxSurrPolygon().

00067                                                    {
00068     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetLeftPolyg(); 
00069   }  

virtual Int_t BFLWingedEdge::GetNofEdges void   )  [inline, virtual]
 

Definition at line 115 of file BFLWingedEdge.h.

References fEdges.

00115 { return fEdges->GetEntries(); }

virtual Int_t BFLWingedEdge::GetNofPolygons void   )  [inline, virtual]
 

Definition at line 113 of file BFLWingedEdge.h.

References fPolygons.

Referenced by BFLInterpolation::BFLInterpolation(), and SaveNodalSet().

00113 { return fPolygons->GetEntries(); }

virtual Int_t BFLWingedEdge::GetNofVertices void   )  [inline, virtual]
 

Definition at line 114 of file BFLWingedEdge.h.

References fVertices.

00114 { return fVertices->GetEntries(); }

virtual Int_t BFLWingedEdge::GetPolygID Int_t  PolySlot  )  const [inline, virtual]
 

Definition at line 88 of file BFLWingedEdge.h.

References fPolygons.

00088                                                  {
00089     return ((BFLPolyg *)fPolygons->At(PolySlot))->GetPolygID();
00090   }

virtual BFLPolyg* BFLWingedEdge::GetPolygObj Int_t  slot  )  [inline, virtual]
 

Definition at line 121 of file BFLWingedEdge.h.

References fPolygons.

00121                                              { 
00122      return (BFLPolyg *) fPolygons->At(slot);
00123   }

virtual TObjArray* BFLWingedEdge::GetPolygons void   )  [inline, virtual]
 

Definition at line 117 of file BFLWingedEdge.h.

Referenced by BFLVoronoiMaker::MergeDataStructures().

00117 { return fPolygons; }

virtual Int_t BFLWingedEdge::GetRightPolyg Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 64 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVorOperator::FindNewVtx(), BFLVorOperator::MoveToNextPolygon(), BFLInterpolation::PlanarInterpolation(), BFLVoronoiMaker::RemoveRefsToDeletedEdges(), and BFLVorOperator::RetrievePolygonsIncidentToVtx().

00064                                                     {
00065     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetRightPolyg(); 
00066   }  

virtual Int_t BFLWingedEdge::GetStartVtx Int_t  EdgeSlot  )  const [inline, virtual]
 

Definition at line 70 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::DeleteSubstructure(), BFLVorOperator::EdgeHasNewVtx(), BFLVorOperator::EdgeIsInsideNewPolygon(), BFLVoronoiMaker::MarkVerticesToDelete(), BFLVorOperator::RetrieveEdgesIncidentToVtx(), BFLVorOperator::RetrievePolygonsIncidentToVtx(), BFLVorOperator::RetrieveVtxSurrPolygon(), and BFLVoronoiMaker::WingedEdgePatch().

00070                                                   {
00071     return ((BFLEdge *)fEdges->At(EdgeSlot))->GetStartVtx(); 
00072   }  

virtual TObjArray* BFLWingedEdge::GetVertices void   )  [inline, virtual]
 

Definition at line 118 of file BFLWingedEdge.h.

Referenced by BFLVoronoiMaker::MergeDataStructures().

00118 { return fVertices; }

virtual BFLNode* BFLWingedEdge::GetVtx Int_t  VtxSlot  )  const [inline, virtual]
 

Definition at line 94 of file BFLWingedEdge.h.

References GetX(), and GetY().

Referenced by BFLInterpolation::NNInterpolation().

00094                                                 {
00095     return new BFLNode(GetX(VtxSlot),GetY(VtxSlot));
00096   }

virtual Int_t BFLWingedEdge::GetVtxID Int_t  VtxSlot  )  const [inline, virtual]
 

Definition at line 97 of file BFLWingedEdge.h.

References fVertices.

00097                                               {
00098     return ((BFLVtx *)fVertices->At(VtxSlot))->GetVtxID();
00099   }

virtual BFLVtx* BFLWingedEdge::GetVtxObj Int_t  slot  )  [inline, virtual]
 

Definition at line 124 of file BFLWingedEdge.h.

References fVertices.

Referenced by Plot().

00124                                          {
00125      return (BFLVtx *) fVertices->At(slot);
00126   }

virtual Bool_t BFLWingedEdge::GetWeight Int_t  VtxSlot  )  const [inline, virtual]
 

Definition at line 103 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVorOperator::VtxIsInsideNewPolyg().

00103                                                 {
00104     return ((BFLVtx *)fVertices->At(VtxSlot))->GetWeight(); 
00105   }  

virtual Float_t BFLWingedEdge::GetX Int_t  VtxSlot  )  const [inline, virtual]
 

Definition at line 106 of file BFLWingedEdge.h.

References fVertices, and BFLNode::GetX().

Referenced by GetVtx().

00106                                             {
00107     return ((BFLVtx *)fVertices->At(VtxSlot))->GetX(); 
00108   }  

virtual Float_t BFLWingedEdge::GetY Int_t  VtxSlot  )  const [inline, virtual]
 

Definition at line 109 of file BFLWingedEdge.h.

References fVertices, and BFLNode::GetY().

Referenced by GetVtx().

00109                                             {
00110     return ((BFLVtx *)fVertices->At(VtxSlot))->GetY(); 
00111   }  

void BFLWingedEdge::Load const Char_t *  filename  ) 
 

Definition at line 375 of file BFLWingedEdge.cxx.

References fAvailableEdgeIDs, fAvailableVtxIDs, fEdges, fPolygons, fVertices, ID, SetCcwPredecessor(), SetCcwSuccessor(), SetCwPredecessor(), SetCwSuccessor(), SetEdge(), SetEdgeAroundPolyg(), SetEdgeAroundVtx(), SetEndVtx(), SetLeftPolyg(), SetPolyg(), SetRightPolyg(), SetStartVtx(), SetVtx(), SetWeight(), SetX(), and SetY().

Referenced by BFLHandler::BFLHandler().

00376 {
00377   Int_t MaxEdge, MaxVertex, MaxPolygon;
00378   Int_t ID, LeftPolyg, RightPolyg, StartVtx, EndVtx;
00379   Int_t CwSuccessor, CcwSuccessor;
00380   Int_t CwPredecessor, CcwPredecessor;
00381   Int_t EdgeAroundVtx, EdgeAroundPolyg, wght;
00382   Float_t X, Y;
00383   ifstream WEFILE(filename,std::ios::in); 
00384 
00385   // delete old Voronoi diagram
00386   if(fEdges) {
00387     fEdges->Delete();
00388     delete fEdges;
00389   }
00390   if(fVertices) {
00391     fVertices->Delete();
00392     delete fVertices;
00393   }
00394   if(fPolygons) {
00395     fPolygons->Delete();
00396     delete fPolygons;
00397   }
00398   if(fAvailableVtxIDs) delete fAvailableVtxIDs;
00399   if(fAvailableEdgeIDs) delete fAvailableEdgeIDs;
00400   
00401   // allocate new containers
00402   fEdges    = new TObjArray(100);
00403   fVertices = new TObjArray(100);
00404   fPolygons = new TObjArray(100);  
00405   fAvailableVtxIDs  = new TIntList();
00406   fAvailableEdgeIDs = new TIntList(); 
00407 
00408   // -------------------- loading edges
00409   WEFILE >> MaxEdge; 
00410   do {
00411      WEFILE  >> ID;
00412      WEFILE  >> LeftPolyg      >> RightPolyg;     
00413      WEFILE  >> StartVtx       >> EndVtx;
00414      WEFILE  >> CwSuccessor    >> CcwSuccessor;
00415      WEFILE  >> CwPredecessor  >> CcwPredecessor;
00416      
00417      SetEdge(ID);
00418      SetRightPolyg(ID,RightPolyg);
00419      SetLeftPolyg(ID,LeftPolyg);
00420      SetStartVtx(ID,StartVtx);
00421      SetEndVtx(ID,EndVtx);
00422      SetCwPredecessor(ID,CwPredecessor);
00423      SetCcwPredecessor(ID,CcwPredecessor);
00424      SetCwSuccessor(ID,CwSuccessor);
00425      SetCcwSuccessor(ID,CcwSuccessor);
00426      
00427   } while(ID != MaxEdge);
00428   
00429   // -------------------- loading vertices
00430   WEFILE >> MaxVertex; 
00431   do {
00432      WEFILE  >> ID;
00433      WEFILE  >> EdgeAroundVtx;
00434      WEFILE  >> wght;
00435      WEFILE  >> X >> Y;
00436      
00437      SetVtx(ID);
00438      SetEdgeAroundVtx(ID,EdgeAroundVtx);
00439      if(wght) SetWeight(ID,kTRUE);
00440      else SetWeight(ID,kFALSE );
00441      SetX(ID,X);
00442      SetY(ID,Y);
00443   } while(ID != MaxVertex);
00444 
00445   // -------------------- loading polygons
00446   WEFILE >> MaxPolygon; 
00447   do {
00448      WEFILE  >> ID;
00449      WEFILE  >> EdgeAroundPolyg;
00450      
00451      SetPolyg(ID);
00452      SetEdgeAroundPolyg(ID,EdgeAroundPolyg);
00453   } while(ID != MaxPolygon);
00454 }

void BFLWingedEdge::LoadANSYSLookupTable BfldGrid::Grid_t  grid  ) 
 

Definition at line 520 of file BFLWingedEdge.cxx.

References fANSYSTable.

00521 {
00522   if(fANSYSTable) delete fANSYSTable;
00523   fANSYSTable = new BFLAnsysLookup(grid);
00524 }

void BFLWingedEdge::LoadNodalSet const Char_t *  filename  ) 
 

Definition at line 476 of file BFLWingedEdge.cxx.

References fGenerators.

Referenced by BFLHandler::BFLHandler().

00477 {
00478   ifstream NSFILE(filename,std::ios::in); 
00479   Int_t igenerator, NGens, nID, VorCell;
00480   Float_t x, y;
00481   Int_t VorCellLast = -999;
00482   
00483   fGenerators = new TObjArray(100);
00484   
00485   NSFILE >> NGens;
00486   for(igenerator = 0; igenerator < NGens; igenerator++) {
00487 
00488      NSFILE >> nID >> VorCell >> x >> y;
00489      if (VorCell != VorCellLast) 
00490         fGenerators->AddAtAndExpand(new BFLNode(nID,x,y),VorCell-1);
00491      VorCellLast = VorCell;
00492   } 
00493 }

Int_t BFLWingedEdge::MaxAvailableEdgeID void   )  const
 

Definition at line 171 of file BFLWingedEdge.cxx.

References fAvailableEdgeIDs, TIntList::Last(), and TIntList::Sort().

00172 {
00173   fAvailableEdgeIDs->Sort();
00174   return fAvailableEdgeIDs->Last();
00175 }

Int_t BFLWingedEdge::MaxAvailableVtxID void   )  const
 

Definition at line 125 of file BFLWingedEdge.cxx.

References fAvailableVtxIDs, TIntList::Last(), and TIntList::Sort().

00126 {
00127   fAvailableVtxIDs->Sort();
00128   return fAvailableVtxIDs->Last();
00129 }

void BFLWingedEdge::Plot void   ) 
 

Definition at line 279 of file BFLWingedEdge.cxx.

References fEdges, BFLEdge::GetEndVtx(), BFLEdge::GetStartVtx(), GetVtxObj(), BFLVtx::GetX(), and BFLVtx::GetY().

00280 {
00281 // This method generates a C macro that plots the Voronoi diagram
00282 // and its generators on a ROOT Canvas.
00283 //
00284   ofstream MACRO("VoronPlot.C",std::ios::out); 
00285 
00286   MACRO << "{" << endl;
00287   MACRO << "gROOT->Reset();" << endl;
00288 
00289   MACRO << "TCanvas * c = new TCanvas(\"c\",\"Vor\",20,20,800,600);" << endl;
00290   MACRO << "c->Range(-3000.,-3000.,3000.,3000.);" << endl;
00291 
00292   MACRO << "// Plotting Voronoi diagram " << endl;
00293   MACRO << "TLine * line = new TLine();" << endl;
00294   MACRO << "line->SetLineColor(9);" << endl;
00295 
00296   TIter next(fEdges);
00297   BFLEdge * edge;
00298   while( (edge = (BFLEdge *)next()) ) {
00299 
00300      Int_t svtxID = edge->GetStartVtx();
00301      Int_t evtxID = edge->GetEndVtx();
00302 
00303      BFLVtx * Svtx = GetVtxObj(svtxID);
00304      BFLVtx * Evtx = GetVtxObj(evtxID);
00305 
00306      Float_t xs = Svtx->GetX();
00307      Float_t ys = Svtx->GetY();
00308      Float_t xe = Evtx->GetX();
00309      Float_t ye = Evtx->GetY();
00310 
00311      MACRO << "line->DrawLine(" << xs << "," << ys << ","
00312                                 <<  xe << "," << ye << ");" << endl; 
00313   }
00314 
00315   MACRO << "}" << endl;
00316 }

virtual Int_t BFLWingedEdge::PolygonToGenerator Int_t  polygon  )  const [inline, virtual]
 

Definition at line 137 of file BFLWingedEdge.h.

Referenced by BFLVorOperator::FindCurrentPolygon(), BFLInterpolation::PlanarInterpolation(), and BFLVorOperator::VtxIsInsideNewPolyg().

00137 { return polygon; }

void BFLWingedEdge::PrintEdges void   ) 
 

Definition at line 193 of file BFLWingedEdge.cxx.

References fEdges, BFLEdge::GetCcwPredecessor(), BFLEdge::GetCcwSuccessor(), BFLEdge::GetCwPredecessor(), BFLEdge::GetCwSuccessor(), BFLEdge::GetEdgeID(), BFLEdge::GetEndVtx(), BFLEdge::GetLeftPolyg(), BFLEdge::GetRightPolyg(), and BFLEdge::GetStartVtx().

Referenced by PrintVoronoi().

00194 {
00195   TIter next(fEdges);
00196   BFLEdge * edge;
00197 
00198   cout << "\n************ PRINTING VORONOI EDGES *************" << endl;
00199 
00200   while( (edge = (BFLEdge *)next()) ) {
00201 
00202      cout << "* -------------- Edge id : "<< edge->GetEdgeID() << endl;
00203      cout << "*Left Polygon......" << edge->GetLeftPolyg()     << endl;
00204      cout << "*Right Polygon....." << edge->GetRightPolyg()    << endl;
00205      cout << "*Start Vtx........." << edge->GetStartVtx()      << endl;
00206      cout << "*End Vtx..........." << edge->GetEndVtx()        << endl;
00207      cout << "*CW Successor......" << edge->GetCwSuccessor()   << endl;
00208      cout << "*CCW Successor....." << edge->GetCcwSuccessor()  << endl;
00209      cout << "*CW Predecessor...." << edge->GetCwPredecessor() << endl;
00210      cout << "*CCW Predecessor..." << edge->GetCcwPredecessor()<< endl;
00211   }
00212   cout << endl;
00213   delete edge;
00214 }

void BFLWingedEdge::PrintPolygons void   ) 
 

Definition at line 241 of file BFLWingedEdge.cxx.

References fPolygons, BFLPolyg::GetEdgeAroundPolyg(), and BFLPolyg::GetPolygID().

Referenced by PrintVoronoi().

00242 {
00243   TIter next(fPolygons);
00244   BFLPolyg * polyg;
00245 
00246   cout << "\n********** PRINTING VORONOI POLYGONS ***********" << endl;      
00247 
00248   while( (polyg = (BFLPolyg *)next()) ) {
00249 
00250      cout << "* ----------- Polyg id : "<< polyg->GetPolygID() << endl;
00251      cout << "*Edge Around...." << polyg->GetEdgeAroundPolyg() << endl;
00252   }
00253   cout << endl;
00254   delete polyg;  
00255 }

void BFLWingedEdge::PrintVertices void   ) 
 

Definition at line 217 of file BFLWingedEdge.cxx.

References fVertices, BFLVtx::GetEdgeAroundVtx(), BFLVtx::GetVtxID(), BFLVtx::GetWeight(), BFLVtx::GetX(), and BFLVtx::GetY().

Referenced by PrintVoronoi().

00218 {
00219   TIter next(fVertices);
00220   BFLVtx * vtx;
00221   char wght;
00222 
00223   cout << "\n********** PRINTING VORONOI VERTICES ***********" << endl;
00224 
00225   while( (vtx = (BFLVtx *)next()) ) {
00226 
00227      if(vtx->GetWeight()) wght = 'T';
00228      else wght = 'F';
00229 
00230      cout << "* --------------  Vtx id : "<< vtx->GetVtxID() << endl;
00231      cout << "*Incident Edge...." << vtx->GetEdgeAroundVtx() << endl;
00232      cout << "*Vertex Weight...." << wght                    << endl;
00233      cout << "*Vertex X........." << vtx->GetX()             << endl;
00234      cout << "*Vertex Y........." << vtx->GetY()             << endl;
00235   }
00236   cout << endl;
00237   delete vtx;  
00238 }

void BFLWingedEdge::PrintVoronoi Int_t  PrintWhat  ) 
 

Definition at line 258 of file BFLWingedEdge.cxx.

References PrintEdges(), PrintPolygons(), and PrintVertices().

00259 {
00260   switch(PrintWhat){
00261   case(kEDGES):
00262      PrintEdges();
00263      break;
00264   case(kVERTICES):
00265      PrintVertices();
00266      break;
00267   case(kPOLYGONS):
00268      PrintPolygons();
00269      break;
00270   case(kALL):
00271      PrintEdges();
00272      PrintVertices();
00273      PrintPolygons();
00274      break;
00275   }
00276 }

void BFLWingedEdge::Save const Char_t *  filename = "default.vor"  ) 
 

Definition at line 319 of file BFLWingedEdge.cxx.

References fEdges, fPolygons, fVertices, BFLEdge::GetCcwPredecessor(), BFLEdge::GetCcwSuccessor(), BFLEdge::GetCwPredecessor(), BFLEdge::GetCwSuccessor(), BFLPolyg::GetEdgeAroundPolyg(), BFLVtx::GetEdgeAroundVtx(), BFLEdge::GetEdgeID(), BFLEdge::GetEndVtx(), BFLEdge::GetLeftPolyg(), BFLPolyg::GetPolygID(), BFLEdge::GetRightPolyg(), BFLEdge::GetStartVtx(), BFLVtx::GetVtxID(), BFLVtx::GetWeight(), BFLVtx::GetX(), and BFLVtx::GetY().

00320 {
00321   ofstream WEFILE(filename,std::ios::out); 
00322 
00323   // -------------------- saving edges  
00324   TIter nexte(fEdges);
00325   BFLEdge * edge;
00326 
00327   WEFILE << fEdges->GetLast() << endl;
00328   while( (edge = (BFLEdge *)nexte()) ) {
00329 
00330      WEFILE  << edge->GetEdgeID()         << endl;
00331      WEFILE  << edge->GetLeftPolyg()      << "\t\t" 
00332              << edge->GetRightPolyg()     << endl;
00333      WEFILE  << edge->GetStartVtx()       << "\t\t"
00334              << edge->GetEndVtx()         << endl;
00335      WEFILE  << edge->GetCwSuccessor()    << "\t\t" 
00336              << edge->GetCcwSuccessor()   << endl;
00337      WEFILE  << edge->GetCwPredecessor()  << "\t\t"
00338              << edge->GetCcwPredecessor() << endl;
00339   }
00340   delete edge;
00341 
00342   // -------------------- saving vertices
00343   TIter nextv(fVertices);
00344   BFLVtx * vtx;
00345   Int_t wght;
00346 
00347   WEFILE << fVertices->GetLast() << endl;
00348   while( (vtx = (BFLVtx *)nextv()) ) {
00349 
00350      if(vtx->GetWeight()) wght = 1;
00351      else wght = 0;
00352 
00353      WEFILE  << vtx->GetVtxID() << endl;
00354      WEFILE  << vtx->GetEdgeAroundVtx() << endl;
00355      WEFILE  << wght                    << endl;
00356      WEFILE  << vtx->GetX() << "\t\t" << vtx->GetY() << endl;
00357   }
00358   delete vtx;  
00359 
00360   // -------------------- saving polygons
00361   TIter nextp(fPolygons);
00362   BFLPolyg * polyg;
00363 
00364   WEFILE << fPolygons->GetLast() << endl;
00365   while( (polyg = (BFLPolyg *)nextp()) ) {
00366 
00367      WEFILE  << polyg->GetPolygID() << endl;
00368      WEFILE  << polyg->GetEdgeAroundPolyg() << endl;
00369   }
00370   delete polyg;  
00371 
00372 }

void BFLWingedEdge::SaveNodalSet const Char_t *  filename = "default-nodes.vor"  ) 
 

Definition at line 457 of file BFLWingedEdge.cxx.

References fGenerators, BFLNode::GetNodeID(), GetNofPolygons(), BFLNode::GetX(), and BFLNode::GetY().

00458 {
00459   ofstream NSFILE(filename,std::ios::out); 
00460 
00461   TIter next(fGenerators);
00462   BFLNode * generator;
00463   Int_t GeneratedCell = 1;
00464  
00465   NSFILE << GetNofPolygons() << endl;
00466   while( (generator = (BFLNode *) next()) ) {
00467      NSFILE << generator->GetNodeID() << "\t\t" 
00468             << GeneratedCell++        << "\t\t"
00469             << generator->GetX()      << "\t\t"
00470             << generator->GetY()      << endl;
00471   }
00472   delete generator; 
00473 }

virtual void BFLWingedEdge::SetCcwPredecessor Int_t  EdgeSlot,
Int_t  ccwpred
[inline, virtual]
 

Definition at line 180 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), Load(), and BFLVoronoiMaker::WingedEdgePatch().

00180                                                                 {
00181     ((BFLEdge *)fEdges->At(EdgeSlot))->SetCcwPredecessor(ccwpred); 
00182   }  

virtual void BFLWingedEdge::SetCcwSuccessor Int_t  EdgeSlot,
Int_t  ccwsucc
[inline, virtual]
 

Definition at line 186 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewEdge(), Load(), and BFLVoronoiMaker::WingedEdgePatch().

00186                                                               {
00187     ((BFLEdge *)fEdges->At(EdgeSlot))->SetCcwSuccessor(ccwsucc); 
00188   }  

virtual void BFLWingedEdge::SetCwPredecessor Int_t  EdgeSlot,
Int_t  cwpred
[inline, virtual]
 

Definition at line 177 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewEdge(), Load(), and BFLVoronoiMaker::WingedEdgePatch().

00177                                                               {
00178     ((BFLEdge *)fEdges->At(EdgeSlot))->SetCwPredecessor(cwpred); 
00179   }  

virtual void BFLWingedEdge::SetCwSuccessor Int_t  EdgeSlot,
Int_t  cwsucc
[inline, virtual]
 

Definition at line 183 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), Load(), and BFLVoronoiMaker::WingedEdgePatch().

00183                                                             {
00184     ((BFLEdge *)fEdges->At(EdgeSlot))->SetCwSuccessor(cwsucc); 
00185   }  

void BFLWingedEdge::SetEdge Int_t  edge  )  [inline]
 

Definition at line 152 of file BFLWingedEdge.h.

References fEdges.

Referenced by Load().

00152                            { 
00153     fEdges->AddAtAndExpand(new BFLEdge(edge), edge); 
00154   }  

virtual void BFLWingedEdge::SetEdgeAroundPolyg Int_t  PolySlot,
Int_t  edge
[inline, virtual]
 

Definition at line 192 of file BFLWingedEdge.h.

References fPolygons.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewPolyg(), Load(), and BFLVoronoiMaker::RemoveRefsToDeletedEdges().

00192                                                               {
00193     ((BFLPolyg *)fPolygons->At(PolySlot))->SetEdgeAroundPolyg(edge);
00194   }  

virtual void BFLWingedEdge::SetEdgeAroundVtx Int_t  VtxSlot,
Int_t  edge
[inline, virtual]
 

Definition at line 198 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewVtx(), and Load().

00198                                                            {
00199     ((BFLVtx *)fVertices->At(VtxSlot))->SetEdgeAroundVtx(edge);
00200   }  

virtual void BFLWingedEdge::SetEdgeID Int_t  EdgeSlot,
Int_t  EdgeID
[inline, virtual]
 

Definition at line 162 of file BFLWingedEdge.h.

References fEdges.

Referenced by AddEdge(), and BFLVoronoiMaker::AddNewEdge().

00162                                                        {
00163     ((BFLEdge *)fEdges->At(EdgeSlot))->SetRightPolyg(EdgeID); 
00164   }

virtual void BFLWingedEdge::SetEdgeObj BFLEdge edge,
Int_t  slot
[inline, virtual]
 

Definition at line 217 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::MergeDataStructures(), and BFLVoronoiMaker::WingedEdgePatch().

00217                                                       {
00218      fEdges->AddAt(edge,slot);
00219   }

virtual void BFLWingedEdge::SetEndVtx Int_t  EdgeSlot,
Int_t  evtx
[inline, virtual]
 

Definition at line 174 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewEdge(), Load(), and BFLVoronoiMaker::WingedEdgePatch().

00174                                                      {
00175     ((BFLEdge *)fEdges->At(EdgeSlot))->SetEndVtx(evtx); 
00176   }  

virtual void BFLWingedEdge::SetGenerators TObjArray *  gens  )  [inline, virtual]
 

Definition at line 47 of file BFLWingedEdge.h.

References fGenerators.

00047 { fGenerators = gens; } 

virtual void BFLWingedEdge::SetLeftPolyg Int_t  EdgeSlot,
Int_t  lpolyg
[inline, virtual]
 

Definition at line 168 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewEdge(), and Load().

00168                                                           {
00169     ((BFLEdge *)fEdges->At(EdgeSlot))->SetLeftPolyg(lpolyg); 
00170   }  

virtual void BFLWingedEdge::SetPolyg Int_t  polyg  )  [inline, virtual]
 

Definition at line 155 of file BFLWingedEdge.h.

References fPolygons.

Referenced by Load().

00155                                      { 
00156     fPolygons->AddAtAndExpand(new BFLPolyg(polyg), polyg); 
00157   }  

virtual void BFLWingedEdge::SetPolygID Int_t  PolySlot,
Int_t  PolyID
[inline, virtual]
 

Definition at line 189 of file BFLWingedEdge.h.

References fPolygons.

Referenced by BFLVoronoiMaker::AddNewPolyg(), and AddPolyg().

00189                                                        { 
00190     ((BFLPolyg *)fPolygons->At(PolySlot))->SetPolygID(PolyID);
00191   }  

virtual void BFLWingedEdge::SetPolygObj BFLPolyg polyg,
Int_t  slot
[inline, virtual]
 

Definition at line 211 of file BFLWingedEdge.h.

References fPolygons.

Referenced by BFLVoronoiMaker::MergeDataStructures().

00211                                                          { 
00212      fPolygons->AddAt(polyg,slot);
00213   }

virtual void BFLWingedEdge::SetRightPolyg Int_t  EdgeSlot,
Int_t  rpolyg
[inline, virtual]
 

Definition at line 165 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewEdge(), and Load().

00165                                                            {
00166     ((BFLEdge *)fEdges->At(EdgeSlot))->SetRightPolyg(rpolyg); 
00167   }  

virtual void BFLWingedEdge::SetStartVtx Int_t  EdgeSlot,
Int_t  svtx
[inline, virtual]
 

Definition at line 171 of file BFLWingedEdge.h.

References fEdges.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewEdge(), Load(), and BFLVoronoiMaker::WingedEdgePatch().

00171                                                        {
00172     ((BFLEdge *)fEdges->At(EdgeSlot))->SetStartVtx(svtx); 
00173   }  

virtual void BFLWingedEdge::SetVtx Int_t  vtx  )  [inline, virtual]
 

Definition at line 158 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), and Load().

00158                                  { 
00159     fVertices->AddAtAndExpand(new BFLVtx(vtx), vtx); 
00160   }  

virtual void BFLWingedEdge::SetVtxID Int_t  VtxSlot,
Int_t  VtxID
[inline, virtual]
 

Definition at line 195 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVoronoiMaker::AddNewVtx(), and AddVtx().

00195                                                     { 
00196     ((BFLVtx *)fVertices->At(VtxSlot))->SetVtxID(VtxID);  
00197   }  

virtual void BFLWingedEdge::SetVtxObj BFLVtx vtx,
Int_t  slot
[inline, virtual]
 

Definition at line 214 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVoronoiMaker::MergeDataStructures().

00214                                                    {
00215      fVertices->AddAt(vtx,slot);
00216   }

virtual void BFLWingedEdge::SetWeight Int_t  VtxSlot,
Bool_t  weight
[inline, virtual]
 

Definition at line 201 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewVtx(), and Load().

00201                                                        {
00202     ((BFLVtx *)fVertices->At(VtxSlot))->SetWeight(weight);
00203   }  

virtual void BFLWingedEdge::SetX Int_t  VtxSlot,
Float_t  x
[inline, virtual]
 

Definition at line 204 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewVtx(), Load(), and BFLInterpolation::PlanarInterpolation().

00204                                               {
00205     ((BFLVtx *)fVertices->At(VtxSlot))->SetX(x);
00206   }  

virtual void BFLWingedEdge::SetY Int_t  VtxSlot,
Float_t  y
[inline, virtual]
 

Definition at line 207 of file BFLWingedEdge.h.

References fVertices.

Referenced by BFLVoronoiMaker::AddDistantGenerators(), BFLVoronoiMaker::AddNewVtx(), Load(), and BFLInterpolation::PlanarInterpolation().

00207                                               {
00208     ((BFLVtx *)fVertices->At(VtxSlot))->SetY(y);
00209   }

Long_t BFLWingedEdge::Size void   ) 
 

Definition at line 496 of file BFLWingedEdge.cxx.

References fEdges, fPolygons, and fVertices.

00497 {
00498   Long_t size = 0;
00499 
00500   TIter nextv(fVertices);
00501   BFLVtx * vtx;
00502   while( (vtx = (BFLVtx *)nextv()) ) size += sizeof(*vtx);
00503 
00504   TIter nexte(fEdges);
00505   BFLEdge * edge;
00506   while( (edge = (BFLEdge *)nexte()) ) size += sizeof(*edge);
00507 
00508   TIter nextp(fPolygons);
00509   BFLPolyg * polyg;
00510   while( (polyg = (BFLPolyg *)nextp()) ) size += sizeof(*polyg);
00511 
00512   delete vtx;
00513   delete edge;
00514   delete polyg;
00515 
00516   return size;
00517 }


Member Data Documentation

BFLAnsysLookup* BFLWingedEdge::fANSYSTable [private]
 

Definition at line 266 of file BFLWingedEdge.h.

Referenced by LoadANSYSLookupTable().

TIntList* BFLWingedEdge::fAvailableEdgeIDs [private]
 

Definition at line 265 of file BFLWingedEdge.h.

Referenced by AddAvailableEdgeID(), DeleteFirstAvailableEdgeID(), FirstAvailableEdgeID(), Load(), and MaxAvailableEdgeID().

TIntList* BFLWingedEdge::fAvailableVtxIDs [private]
 

Definition at line 264 of file BFLWingedEdge.h.

Referenced by AddAvailableVtxID(), DeleteFirstAvailableVtxID(), FirstAvailableVtxID(), Load(), and MaxAvailableVtxID().

TObjArray* BFLWingedEdge::fEdges [private]
 

Definition at line 260 of file BFLWingedEdge.h.

Referenced by AddEdge(), DeleteEdge(), GetCcwPredecessor(), GetCcwSuccessor(), GetCwPredecessor(), GetCwSuccessor(), GetEdgeID(), GetEdgeObj(), GetEndVtx(), GetLastEdgeID(), GetLeftPolyg(), GetNofEdges(), GetRightPolyg(), GetStartVtx(), Load(), Plot(), PrintEdges(), Save(), SetCcwPredecessor(), SetCcwSuccessor(), SetCwPredecessor(), SetCwSuccessor(), SetEdge(), SetEdgeID(), SetEdgeObj(), SetEndVtx(), SetLeftPolyg(), SetRightPolyg(), SetStartVtx(), Size(), and ~BFLWingedEdge().

TObjArray* BFLWingedEdge::fGenerators [private]
 

Definition at line 263 of file BFLWingedEdge.h.

Referenced by GetGeneratorID(), GetGeneratorX(), GetGeneratorY(), LoadNodalSet(), SaveNodalSet(), SetGenerators(), and ~BFLWingedEdge().

Int_t BFLWingedEdge::fNEdges [private]
 

Definition at line 257 of file BFLWingedEdge.h.

Int_t BFLWingedEdge::fNPolygons [private]
 

Definition at line 259 of file BFLWingedEdge.h.

Int_t BFLWingedEdge::fNVertices [private]
 

Definition at line 258 of file BFLWingedEdge.h.

TObjArray* BFLWingedEdge::fPolygons [private]
 

Definition at line 262 of file BFLWingedEdge.h.

Referenced by AddPolyg(), DeletePolygon(), GetEdgeAroundPolyg(), GetLastPolygID(), GetNofPolygons(), GetPolygID(), GetPolygObj(), Load(), PrintPolygons(), Save(), SetEdgeAroundPolyg(), SetPolyg(), SetPolygID(), SetPolygObj(), Size(), and ~BFLWingedEdge().

TObjArray* BFLWingedEdge::fVertices [private]
 

Definition at line 261 of file BFLWingedEdge.h.

Referenced by AddVtx(), DeleteVtx(), GetEdgeAroundVtx(), GetLastVtxID(), GetNofVertices(), GetVtxID(), GetVtxObj(), GetWeight(), GetX(), GetY(), Load(), PrintVertices(), Save(), SetEdgeAroundVtx(), SetVtx(), SetVtxID(), SetVtxObj(), SetWeight(), SetX(), SetY(), Size(), and ~BFLWingedEdge().


The documentation for this class was generated from the following files:
Generated on Mon Feb 15 11:08:49 2010 for loon by  doxygen 1.3.9.1