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


Detailed Description

Definition at line 41 of file BFLWingedEdge.h.


Constructor & Destructor Documentation

BFLWingedEdge::BFLWingedEdge ( Long_t  ngens = 0  ) 

Definition at line 23 of file BFLWingedEdge.cxx.

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

BFLWingedEdge::~BFLWingedEdge (  ) 

Definition at line 52 of file BFLWingedEdge.cxx.

References fAvailableEdgeIDs, fAvailableVtxIDs, fEdges, fGenerators, fPolygons, and fVertices.

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


Member Function Documentation

void BFLWingedEdge::AddAvailableEdgeID ( Int_t  id  ) 

Definition at line 150 of file BFLWingedEdge.cxx.

References fAvailableEdgeIDs, and TMath::Sort().

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

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

void BFLWingedEdge::AddAvailableVtxID ( Int_t  id  ) 

Definition at line 103 of file BFLWingedEdge.cxx.

References fAvailableVtxIDs, and TMath::Sort().

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

00104 {
00105   fAvailableVtxIDs -> Add(id);
00106   fAvailableVtxIDs -> Sort();
00107 }

void BFLWingedEdge::AddEdge ( Int_t  EdgeSlot  ) 

Definition at line 73 of file BFLWingedEdge.cxx.

References fEdges, and SetEdgeID().

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

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

void BFLWingedEdge::AddPolyg ( Int_t  PolySlot  ) 

Definition at line 83 of file BFLWingedEdge.cxx.

References fPolygons, and SetPolygID().

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

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

void BFLWingedEdge::AddVtx ( Int_t  VtxSlot  ) 

Definition at line 93 of file BFLWingedEdge.cxx.

References fVertices, and SetVtxID().

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

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

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 180 of file BFLWingedEdge.cxx.

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

Referenced by BFLVoronoiMaker::AddNewEdge().

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

void BFLWingedEdge::DeleteFirstAvailableVtxID ( void   ) 

Definition at line 134 of file BFLWingedEdge.cxx.

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

Referenced by BFLVoronoiMaker::AddNewVtx().

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

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 157 of file BFLWingedEdge.cxx.

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

Referenced by BFLVoronoiMaker::AddNewEdge().

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

Int_t BFLWingedEdge::FirstAvailableVtxID ( void   )  const

Definition at line 110 of file BFLWingedEdge.cxx.

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

Referenced by BFLVoronoiMaker::AddNewVtx().

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

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.

References fANSYSTable.

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.

References fEdges.

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.

References fGenerators.

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.

References fPolygons.

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.

References fVertices.

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.

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.

Referenced by GetVtx().

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

void BFLWingedEdge::Load ( const Char_t *  filename  ) 

Definition at line 377 of file BFLWingedEdge.cxx.

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

Referenced by BFLHandler::BFLHandler().

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

void BFLWingedEdge::LoadANSYSLookupTable ( BfldGrid::Grid_t  grid  ) 

Definition at line 522 of file BFLWingedEdge.cxx.

References fANSYSTable.

00523 {
00524   if(fANSYSTable) delete fANSYSTable;
00525   fANSYSTable = new BFLAnsysLookup(grid);
00526 }

void BFLWingedEdge::LoadNodalSet ( const Char_t *  filename  ) 

Definition at line 478 of file BFLWingedEdge.cxx.

References fGenerators.

Referenced by BFLHandler::BFLHandler().

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

Int_t BFLWingedEdge::MaxAvailableEdgeID ( void   )  const

Definition at line 173 of file BFLWingedEdge.cxx.

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

00174 {
00175   fAvailableEdgeIDs->Sort();
00176   return fAvailableEdgeIDs->Last();
00177 }

Int_t BFLWingedEdge::MaxAvailableVtxID ( void   )  const

Definition at line 127 of file BFLWingedEdge.cxx.

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

00128 {
00129   fAvailableVtxIDs->Sort();
00130   return fAvailableVtxIDs->Last();
00131 }

void BFLWingedEdge::Plot ( void   ) 

Definition at line 281 of file BFLWingedEdge.cxx.

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

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

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 195 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().

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

void BFLWingedEdge::PrintPolygons ( void   ) 

Definition at line 243 of file BFLWingedEdge.cxx.

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

Referenced by PrintVoronoi().

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

void BFLWingedEdge::PrintVertices ( void   ) 

Definition at line 219 of file BFLWingedEdge.cxx.

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

Referenced by PrintVoronoi().

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

void BFLWingedEdge::PrintVoronoi ( Int_t  PrintWhat  ) 

Definition at line 260 of file BFLWingedEdge.cxx.

References kALL, kEDGES, kPOLYGONS, kVERTICES, PrintEdges(), PrintPolygons(), and PrintVertices().

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

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

Definition at line 321 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().

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

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

Definition at line 459 of file BFLWingedEdge.cxx.

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

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

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, and SetRightPolyg().

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(), Load(), and SetEdgeID().

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(), and Load().

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(), and Load().

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

Long_t BFLWingedEdge::Size ( void   ) 

Definition at line 498 of file BFLWingedEdge.cxx.

References fEdges, fPolygons, and fVertices.

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


Member Data Documentation

BFLAnsysLookup* BFLWingedEdge::fANSYSTable [private]

Definition at line 266 of file BFLWingedEdge.h.

Referenced by GetAnsysLookupTable(), and LoadANSYSLookupTable().

TIntList* BFLWingedEdge::fAvailableEdgeIDs [private]

Definition at line 265 of file BFLWingedEdge.h.

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

TIntList* BFLWingedEdge::fAvailableVtxIDs [private]

Definition at line 264 of file BFLWingedEdge.h.

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

TObjArray* BFLWingedEdge::fEdges [private]

Definition at line 260 of file BFLWingedEdge.h.

Referenced by AddEdge(), DeleteEdge(), GetCcwPredecessor(), GetCcwSuccessor(), GetCwPredecessor(), GetCwSuccessor(), GetEdgeID(), GetEdgeObj(), GetEdges(), 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(), GetGenerators(), 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(), GetPolygons(), 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(), GetVertices(), 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 Nov 10 00:55:10 2014 for loon by  doxygen 1.4.7