Abstract base class for classes that hold results of a non-linear projection transformation.
It is assumed that all classes deriving from TEveProjected are also derived from TEveElement.
Definition at line 83 of file TEveProjectionBases.h.
Public Member Functions | |
TEveProjected () | |
Constructor. More... | |
virtual | ~TEveProjected () |
Destructor. More... | |
Float_t | GetDepth () const |
TEveProjectionManager * | GetManager () const |
TEveProjectable * | GetProjectable () const |
virtual TEveElement * | GetProjectedAsElement () |
Returns this projected dynamic-casted to TEveElement. More... | |
virtual void | SetDepth (Float_t d) |
Set depth coordinate for the element. More... | |
virtual void | SetProjection (TEveProjectionManager *mng, TEveProjectable *model) |
Sets projection manager and reference in the projectable object. More... | |
virtual void | UnRefProjectable (TEveProjectable *assumed_parent, bool notifyParent=true) |
Remove reference to projectable. More... | |
virtual void | UpdateProjection ()=0 |
Protected Member Functions | |
void | SetDepthCommon (Float_t d, TEveElement *el, Float_t *bbox) |
Utility function to update the z-values of the bounding-box. More... | |
virtual void | SetDepthLocal (Float_t d) |
Base-class implementation – just sets fDepth. More... | |
Protected Attributes | |
Float_t | fDepth |
TEveProjectionManager * | fManager |
TEveProjectable * | fProjectable |
Private Member Functions | |
TEveProjected (const TEveProjected &) | |
TEveProjected & | operator= (const TEveProjected &) |
#include <TEveProjectionBases.h>
|
private |
TEveProjected::TEveProjected | ( | ) |
Constructor.
Definition at line 161 of file TEveProjectionBases.cxx.
|
virtual |
Destructor.
If fProjectable is non-null, *this is removed from its list of projected replicas.
Definition at line 173 of file TEveProjectionBases.cxx.
|
inline |
Definition at line 103 of file TEveProjectionBases.h.
|
inline |
Definition at line 101 of file TEveProjectionBases.h.
|
inline |
Definition at line 102 of file TEveProjectionBases.h.
|
virtual |
Returns this projected dynamic-casted to TEveElement.
This is needed as class TEveProjected is used as secondary inheritance.
Reimplemented in TEveBoxProjected, TEveCompoundProjected, TEveElementListProjected, TEveGeoShapeProjected, TEveJetConeProjected, TEveLineProjected, TEvePointSetProjected, TEvePolygonSetProjected, TEveStraightLineSetProjected, TEveTrackProjected, and TEveTrackListProjected.
Definition at line 183 of file TEveProjectionBases.cxx.
|
private |
Set depth coordinate for the element.
Bounding-box should also be updated. If projection type is 3D, this only sets fDepth member.
Reimplemented in TEveTrackListProjected.
Definition at line 219 of file TEveProjectionBases.cxx.
|
protected |
Utility function to update the z-values of the bounding-box.
As this is an abstract interface, the element and bbox pointers must be passed from outside.
Definition at line 236 of file TEveProjectionBases.cxx.
Base-class implementation – just sets fDepth.
Reimplemented in TEveBoxProjected, TEveGeoShapeProjected, TEveJetConeProjected, TEveLineProjected, TEvePointSetProjected, TEvePolygonSetProjected, TEveStraightLineSetProjected, TEveTrackProjected, TEveTrackListProjected, and TEveCalo2D.
Definition at line 250 of file TEveProjectionBases.cxx.
|
virtual |
Sets projection manager and reference in the projectable object.
Method called immediately after default constructor. See also TEveProjectionManager::ImportElements().
Reimplemented in TEveBoxProjected, TEveJetConeProjected, TEveLineProjected, TEvePolygonSetProjected, TEveStraightLineSetProjected, TEveTrackProjected, TEveCalo2D, TEveGeoShapeProjected, TEvePointSetProjected, and TEveTrackListProjected.
Definition at line 193 of file TEveProjectionBases.cxx.
|
virtual |
Remove reference to projectable.
Definition at line 204 of file TEveProjectionBases.cxx.
|
pure virtual |
|
protected |
Definition at line 92 of file TEveProjectionBases.h.
|
protected |
Definition at line 90 of file TEveProjectionBases.h.
|
protected |
Definition at line 91 of file TEveProjectionBases.h.