FEDRA emulsion software from the OPERA Collaboration
EdbEDAVertexSet Class Reference

#include <EdbEDASets.h>

Inheritance diagram for EdbEDAVertexSet:
Collaboration diagram for EdbEDAVertexSet:

Public Member Functions

void AddVertex (EdbVertex *v)
 
void AddVertices (TObjArray *vertices)
 
void Clear ()
 
void ClearVertices ()
 
void Draw (int redraw=0)
 
void DrawSingleVertex (EdbVertex *v)
 
 EdbEDAVertexSet ()
 
EdbVertexGetVertex (int i)
 
EdbVertexGetVertexBase (int i)
 
int GetVertexColor (void)
 
int GetVertexColorSelected (void)
 
int GetVertexMarkerStyle (void)
 
TObjArray * GetVertices ()
 
TObjArray * GetVerticesBase ()
 
void Init ()
 
int N ()
 
int NBase ()
 
void RemoveVertex (EdbVertex *v)
 
void RemoveVertices (TObjArray *vertices)
 
void ResetVertexAttribute (void)
 
void RestorePrevious (void)
 
void SetColorMode (int mode)
 
void SetVertex (EdbVertex *v)
 
void SetVertexAttribute (int vertex_color=kOrange, int vertex_color_selected=kRed, int vertex_marker_style=4)
 
void SetVertices (TObjArray *vertices)
 
void SetVerticesAll (void)
 
void SetVerticesBase (TObjArray *vertices)
 
void SetVerticesNtrk (int ntrkcut=3)
 
void StorePrevious (void)
 
void UnDraw ()
 

Public Attributes

int eVertexColor
 
int eVertexColorSelected
 
int eVertexMarkerStyle
 
TObjArray * eVertices
 
TObjArray * eVerticesBase
 
TObjArray * eVerticesPrevious
 

Constructor & Destructor Documentation

◆ EdbEDAVertexSet()

EdbEDAVertexSet::EdbEDAVertexSet ( )
inline
158 { Init();}
void Init()
Definition: EdbEDASets.h:160

Member Function Documentation

◆ AddVertex()

void EdbEDAVertexSet::AddVertex ( EdbVertex v)
inline
183  {
184 // if(eVerticesBase->FindObject(v)==NULL) eVerticesBase->Add(v);
185 // if(eVertices->FindObject(v)==NULL) eVertices->Add(v);
186  eVerticesBase->Add(v);
187  eVertices->Add(v);
188  }
TObjArray * eVertices
Definition: EdbEDASets.h:153
TObjArray * eVerticesBase
Definition: EdbEDASets.h:154

◆ AddVertices()

void EdbEDAVertexSet::AddVertices ( TObjArray *  vertices)
inline
189 { if(NULL==vertices) return; for(int i=0;i<vertices->GetEntriesFast();i++) AddVertex((EdbVertex *)vertices->At(i));}
void AddVertex(EdbVertex *v)
Definition: EdbEDASets.h:183
Definition: EdbVertex.h:68
#define NULL
Definition: nidaqmx.h:84

◆ Clear()

void EdbEDAVertexSet::Clear ( )
inline
214 { eVertices->Clear(); eVerticesBase->Clear();}

◆ ClearVertices()

void EdbEDAVertexSet::ClearVertices ( )
inline
213 { eVertices->Clear();}

◆ Draw()

void EdbEDAVertexSet::Draw ( int  redraw = 0)
195  {
196  UnDraw();
197 
198  int nvertices = eVertices->GetEntriesFast();
199  printf("VertexSet Draw %4d %s\n", nvertices, nvertices<=1 ? "vertex" : "vertices");
200  for(int i=0;i<nvertices;i++){
201  EdbVertex *v = (EdbVertex *) eVertices->At(i);
202  DrawSingleVertex(v);
203  }
204 
205  if(redraw) gEve->Redraw3D();
206 }
void UnDraw()
Definition: EdbEDASets.C:208
void DrawSingleVertex(EdbVertex *v)
Definition: EdbEDASets.C:170

◆ DrawSingleVertex()

void EdbEDAVertexSet::DrawSingleVertex ( EdbVertex v)
170  {
171  // Draw single vertex.
172  TEvePointSet *ps = new TEvePointSet();
173  ps->SetElementName(Form("vtx %3d %d %8.1lf %8.1lf %8.1lf", v->ID(), v->N(), v->X(), v->Y(), v->Z()));
174  ps->SetMarkerStyle(eVertexMarkerStyle);
175  ps->SetNextPoint(v->X(), v->Y(), v->Z()*gEDA->GetScaleZ());
176 
177 
178  // in case the coloring of selected vertex is not done EdbEDA::SetSelection()
179  EdbVertex *selected_vertex = gEDA->GetSelectedVertex();
180  if(selected_vertex==v) {
181  ps->SetMarkerColor(kRed);
182  } else {
183  ps->SetMarkerColor(eVertexColor);
184  }
185 
186 
187  // coloring of selected vertex is done in EdbEDA::SetSelection()
188  //ps->SetMarkerColor(eVertexColor);
189  ps->SetUserData(v);
190 
191  gEve->AddElement(ps);
192 
193 }
EdbEDA * gEDA
Definition: EdbEDA.C:3
EdbVertex * GetSelectedVertex(void)
Definition: EdbEDA.h:439
int eVertexColor
Definition: EdbEDASets.h:149
int eVertexMarkerStyle
Definition: EdbEDASets.h:151
double GetScaleZ()
Definition: EdbEDA.h:732
Int_t ID() const
Definition: EdbVertex.h:126
Float_t X() const
Definition: EdbVertex.h:130
Int_t N() const
Definition: EdbVertex.h:121
Float_t Z() const
Definition: EdbVertex.h:132
Float_t Y() const
Definition: EdbVertex.h:131

◆ GetVertex()

EdbVertex* EdbEDAVertexSet::GetVertex ( int  i)
inline
216 { return (EdbVertex *) eVertices->At(i);}

◆ GetVertexBase()

EdbVertex* EdbEDAVertexSet::GetVertexBase ( int  i)
inline
220 { return (EdbVertex *) eVerticesBase->At(i);}

◆ GetVertexColor()

int EdbEDAVertexSet::GetVertexColor ( void  )
inline
179 {return eVertexColor;}

◆ GetVertexColorSelected()

int EdbEDAVertexSet::GetVertexColorSelected ( void  )
inline
180 {return eVertexColorSelected;}
int eVertexColorSelected
Definition: EdbEDASets.h:150

◆ GetVertexMarkerStyle()

int EdbEDAVertexSet::GetVertexMarkerStyle ( void  )
inline
181 {return eVertexMarkerStyle;}

◆ GetVertices()

TObjArray* EdbEDAVertexSet::GetVertices ( )
inline
217 { return eVertices;}

◆ GetVerticesBase()

TObjArray* EdbEDAVertexSet::GetVerticesBase ( )
inline
221 { return eVerticesBase;}

◆ Init()

void EdbEDAVertexSet::Init ( void  )
inline
160  {
161  eVertices = new TObjArray;
162  eVerticesBase = new TObjArray;
163  eVerticesPrevious = new TObjArray;
165  }
TObjArray * eVerticesPrevious
Definition: EdbEDASets.h:155
void SetVertexAttribute(int vertex_color=kOrange, int vertex_color_selected=kRed, int vertex_marker_style=4)
Definition: EdbEDASets.h:166

◆ N()

int EdbEDAVertexSet::N ( )
inline
215 { return eVertices->GetEntriesFast();}

◆ NBase()

int EdbEDAVertexSet::NBase ( )
inline
219 { return eVerticesBase->GetEntriesFast();}

◆ RemoveVertex()

void EdbEDAVertexSet::RemoveVertex ( EdbVertex v)
inline
208 { eVertices->Remove(v); eVertices->Sort();}

◆ RemoveVertices()

void EdbEDAVertexSet::RemoveVertices ( TObjArray *  vertices)
inline
209 { for(int i=0;i<vertices->GetEntriesFast();i++) RemoveVertex((EdbVertex *) vertices->At(i));}
void RemoveVertex(EdbVertex *v)
Definition: EdbEDASets.h:208

◆ ResetVertexAttribute()

void EdbEDAVertexSet::ResetVertexAttribute ( void  )
inline
177 { SetVertexAttribute(); }

◆ RestorePrevious()

void EdbEDAVertexSet::RestorePrevious ( void  )
inline

◆ SetColorMode()

void EdbEDAVertexSet::SetColorMode ( int  mode)
inline
175 { SetVertexAttribute(); eVertexColor = mode==kBLACKWHITE ? kBlack: kOrange;}
@ kBLACKWHITE
Definition: EdbEDAUtil.h:86

◆ SetVertex()

void EdbEDAVertexSet::SetVertex ( EdbVertex v)
inline
191 { if(eVertices->FindObject(v)==NULL) eVertices->Add(v);}

◆ SetVertexAttribute()

void EdbEDAVertexSet::SetVertexAttribute ( int  vertex_color = kOrange,
int  vertex_color_selected = kRed,
int  vertex_marker_style = 4 
)
inline
169  {
170  // set vertex attribute.
171  eVertexColor = vertex_color;
172  eVertexColorSelected = vertex_color_selected;
173  eVertexMarkerStyle = vertex_marker_style;
174  }

◆ SetVertices()

void EdbEDAVertexSet::SetVertices ( TObjArray *  vertices)
inline
192  {
193  for(int i=0;i<vertices->GetEntriesFast();i++) SetVertex((EdbVertex *)vertices->At(i));}
void SetVertex(EdbVertex *v)
Definition: EdbEDASets.h:191

◆ SetVerticesAll()

void EdbEDAVertexSet::SetVerticesAll ( void  )
inline
195 { *eVertices = *eVerticesBase;}

◆ SetVerticesBase()

void EdbEDAVertexSet::SetVerticesBase ( TObjArray *  vertices)
inline
194 { *eVerticesBase = *vertices;}

◆ SetVerticesNtrk()

void EdbEDAVertexSet::SetVerticesNtrk ( int  ntrkcut = 3)
inline
196  {
197  ClearVertices();
198  for(int i=0; i<NBase(); i++){
199  EdbVertex *v = GetVertexBase(i);
200  if(v->N()<ntrkcut) continue;
201  SetVertex(v);
202  }
203  }
int NBase()
Definition: EdbEDASets.h:219
EdbVertex * GetVertexBase(int i)
Definition: EdbEDASets.h:220
void ClearVertices()
Definition: EdbEDASets.h:213

◆ StorePrevious()

void EdbEDAVertexSet::StorePrevious ( void  )
inline

◆ UnDraw()

void EdbEDAVertexSet::UnDraw ( void  )
208  {
209  TEveEventManager *ev = gEve->GetCurrentEvent();
210  if(ev==NULL) return;
211  if(ev->NumChildren()==0) return;
212 
213  TEveElement::List_i it = ev->BeginChildren();
214  for(;;it++){
215  if(it==ev->EndChildren()) break;
216  TEveElement *e = *it;
217  if(IsVertex(e)){
218  e->Destroy();
219  it--;
220  }
221  }
222 }
int IsVertex(TObject *o)
Definition: EdbEDAUtil.C:4

Member Data Documentation

◆ eVertexColor

int EdbEDAVertexSet::eVertexColor

◆ eVertexColorSelected

int EdbEDAVertexSet::eVertexColorSelected

◆ eVertexMarkerStyle

int EdbEDAVertexSet::eVertexMarkerStyle

◆ eVertices

TObjArray* EdbEDAVertexSet::eVertices

◆ eVerticesBase

TObjArray* EdbEDAVertexSet::eVerticesBase

◆ eVerticesPrevious

TObjArray* EdbEDAVertexSet::eVerticesPrevious

The documentation for this class was generated from the following files: