24 ClassImp(TGLSelectRecordBase);
29 TGLSelectRecordBase::TGLSelectRecordBase() :
41 TGLSelectRecordBase::TGLSelectRecordBase(UInt_t* data) :
44 fMinZ ((Float_t)data[1] / (Float_t)0x7fffffff),
45 fMaxZ ((Float_t)data[2] / (Float_t)0x7fffffff),
54 TGLSelectRecordBase::TGLSelectRecordBase(
const TGLSelectRecordBase& rec) :
61 CopyItems(rec.fItems);
67 TGLSelectRecordBase::~TGLSelectRecordBase()
75 TGLSelectRecordBase& TGLSelectRecordBase::operator=(
const TGLSelectRecordBase& rec)
83 CopyItems(rec.fItems);
91 void TGLSelectRecordBase::CopyItems(UInt_t* items)
95 fItems =
new UInt_t[fN];
96 memcpy(fItems, items, fN*
sizeof(UInt_t));
105 void TGLSelectRecordBase::SetRawOnly(UInt_t* data)
108 fMinZ = (Float_t)data[1] / (Float_t)0x7fffffff;
109 fMaxZ = (Float_t)data[2] / (Float_t)0x7fffffff;
116 void TGLSelectRecordBase::Set(UInt_t* data)
119 fMinZ = (Float_t)data[1] / (Float_t)0x7fffffff;
120 fMaxZ = (Float_t)data[2] / (Float_t)0x7fffffff;
128 void TGLSelectRecordBase::Reset()
146 ClassImp(TGLSelectRecord);
151 TGLSelectRecord::TGLSelectRecord() :
152 TGLSelectRecordBase(),
153 fTransparent (kFALSE),
168 TGLSelectRecord::TGLSelectRecord(UInt_t* data) :
169 TGLSelectRecordBase(data),
170 fTransparent (kFALSE),
185 TGLSelectRecord::TGLSelectRecord(
const TGLSelectRecord& rec) :
186 TGLSelectRecordBase(rec),
187 fTransparent (rec.fTransparent),
188 fSceneInfo (rec.fSceneInfo),
189 fPhysShape (rec.fPhysShape),
190 fLogShape (rec.fLogShape),
191 fObject (rec.fObject),
192 fSpecific (rec.fSpecific),
193 fMultiple (rec.fMultiple),
194 fHighlight (rec.fHighlight),
202 TGLSelectRecord::~TGLSelectRecord()
209 TGLSelectRecord& TGLSelectRecord::operator=(
const TGLSelectRecord& rec)
213 TGLSelectRecordBase::operator=(rec);
214 fTransparent = rec.fTransparent;
215 fSceneInfo = rec.fSceneInfo;
216 fPhysShape = rec.fPhysShape;
217 fLogShape = rec.fLogShape;
218 fObject = rec.fObject;
219 fSpecific = rec.fSpecific;
220 fMultiple = rec.fMultiple;
221 fHighlight = rec.fHighlight;
222 fSecSelRes = rec.fSecSelRes;
231 void TGLSelectRecord::Set(UInt_t* data)
233 TGLSelectRecordBase::Set(data);
234 fTransparent = kFALSE;
248 void TGLSelectRecord::Reset()
250 TGLSelectRecordBase::Reset();
251 fTransparent = kFALSE;
265 void TGLSelectRecord::Print()
267 printf(
"SelectRecord N=%d, miZ=%.4f, maxZ=%.4f\n"
268 " sceneinfo=%p, pshp=%p, transp=%d, mult=%d, hilite=%d\n"
269 " tobj=%p (name='%s'), spec=%p\n",
271 fSceneInfo, fPhysShape, fTransparent, fMultiple, fHighlight,
272 fObject, fObject ? fObject->GetName() :
"",
280 Bool_t TGLSelectRecord::AreSameSelectionWise(
const TGLSelectRecord& r1,
281 const TGLSelectRecord& r2)
283 return r1.fSceneInfo == r2.fSceneInfo && r1.fPhysShape == r2.fPhysShape &&
284 r1.fObject == r2.fObject && r1.fSpecific == r2.fSpecific;
293 ClassImp(TGLOvlSelectRecord);
298 TGLOvlSelectRecord::TGLOvlSelectRecord() :
299 TGLSelectRecordBase(),
307 TGLOvlSelectRecord::TGLOvlSelectRecord(UInt_t* data) :
308 TGLSelectRecordBase(data),
316 TGLOvlSelectRecord::TGLOvlSelectRecord(
const TGLOvlSelectRecord& rec) :
317 TGLSelectRecordBase(rec),
318 fOvlElement (rec.fOvlElement)
325 TGLOvlSelectRecord::~TGLOvlSelectRecord()
332 TGLOvlSelectRecord& TGLOvlSelectRecord::operator=(
const TGLOvlSelectRecord& rec)
336 TGLSelectRecordBase::operator=(rec);
337 fOvlElement = rec.fOvlElement;
346 void TGLOvlSelectRecord::Set(UInt_t* data)
348 TGLSelectRecordBase::Set(data);
355 void TGLOvlSelectRecord::Reset()
357 TGLSelectRecordBase::Reset();