4 #include "Reve/NLTPolygonSet.h"
8 //______________________________________________________________________________
12 ClassImp(NLTProjectable)
14 //______________________________________________________________________________
15 NLTProjectable::NLTProjectable()
17 // Default constructor.
20 //______________________________________________________________________________
21 NLTProjectable::~NLTProjectable()
24 // Force projected replicas to unreference *this.
26 while ( ! fProjectedList.empty())
28 fProjectedList.front()->UnRefProjectable(this);
33 //______________________________________________________________________________
37 ClassImp(NLTProjected)
39 //______________________________________________________________________________
40 NLTProjected::NLTProjected() :
45 // Default constructor.
48 //______________________________________________________________________________
49 NLTProjected::~NLTProjected()
52 // If fProjectable is non-null, *this is removed from its list of
53 // projected replicas.
55 if (fProjectable) fProjectable->RemoveProjected(this);
58 //______________________________________________________________________________
59 void NLTProjected::SetProjection(NLTProjector* proj, NLTProjectable* model)
62 if (fProjectable) fProjectable->RemoveProjected(this);
64 if (fProjectable) fProjectable->AddProjected(this);
67 //______________________________________________________________________________
68 void NLTProjected::UnRefProjectable(NLTProjectable* assumed_parent)
70 static const Exc_t eH("NLTProjected::UnRefProjectable ");
72 if (fProjectable != assumed_parent) {
73 Warning(eH, "mismatch between assumed and real model. This is a bug.");
74 assumed_parent->RemoveProjected(this);
79 fProjectable->RemoveProjected(this);