4 #include "Reve/NLTPolygonSet.h"
8 //______________________________________________________________________
12 ClassImp(NLTProjectable)
14 NLTProjectable::NLTProjectable()
17 NLTProjectable::~NLTProjectable()
19 while ( ! fProjectedList.empty())
21 fProjectedList.front()->UnRefProjectable(this);
25 //______________________________________________________________________
29 ClassImp(NLTGeoProjectable)
31 NLTGeoProjectable::NLTGeoProjectable()
34 TClass* NLTGeoProjectable::ProjectedClass() const
36 return NLTPolygonSet::Class();
39 //______________________________________________________________________
43 ClassImp(NLTProjected)
45 NLTProjected::NLTProjected() :
51 NLTProjected::~NLTProjected()
53 if (fProjectable) fProjectable->RemoveProjected(this);
56 void NLTProjected::SetProjection(NLTProjector* proj, NLTProjectable* model)
59 if (fProjectable) fProjectable->RemoveProjected(this);
61 fProjectable->AddProjected(this);
64 void NLTProjected::UnRefProjectable(NLTProjectable* assumed_parent)
66 static const Exc_t eH("NLTProjected::UnRefProjectable ");
68 if (fProjectable != assumed_parent) {
69 Warning(eH, "mismatch between assumed and real model. This is a bug.");
70 assumed_parent->RemoveProjected(this);
75 fProjectable->RemoveProjected(this);