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
 array of vertexs to be drawn More...
 
TObjArray * eVerticesBase
 array of vertexs, base of vertex search More...
 
TObjArray * eVerticesPrevious
 previous array of vertexs More...
 

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
array of vertexs to be drawn
Definition: EdbEDASets.h:153
TObjArray * eVerticesBase
array of vertexs, base of vertex search
Definition: EdbEDASets.h:154

◆ AddVertices()

void EdbEDAVertexSet::AddVertices ( TObjArray *  vertices)
inline
189{ if(NULL==vertices) return; for(int i=0;i<vertices->GetEntries();i++) AddVertex((EdbVertex *)vertices->At(i));}
void AddVertex(EdbVertex *v)
Definition: EdbEDASets.h:183
Definition: EdbVertex.h:69
#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->GetEntries();
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);
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)

Draw single vertex.

170 {
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
previous array of vertexs
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->GetEntries();}

◆ NBase()

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

◆ 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->GetEntries();i++) RemoveVertex((EdbVertex *) vertices->At(i));}
void RemoveVertex(EdbVertex *v)
Definition: EdbEDASets.h:208

◆ ResetVertexAttribute()

void EdbEDAVertexSet::ResetVertexAttribute ( void  )
inline

◆ 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->GetEntries();i++) SetVertex((EdbVertex *)vertices->At(i));}
void SetVertex(EdbVertex *v)
Definition: EdbEDASets.h:191

◆ SetVerticesAll()

void EdbEDAVertexSet::SetVerticesAll ( void  )
inline

◆ SetVerticesBase()

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

◆ SetVerticesNtrk()

void EdbEDAVertexSet::SetVerticesNtrk ( int  ntrkcut = 3)
inline
196 {
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

array of vertexs to be drawn

◆ eVerticesBase

TObjArray* EdbEDAVertexSet::eVerticesBase

array of vertexs, base of vertex search

◆ eVerticesPrevious

TObjArray* EdbEDAVertexSet::eVerticesPrevious

previous array of vertexs


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