#include "TGLPhysicalShape.h"

TGLPhysicalShape


class description - source file - inheritance tree (.pdf)

class TGLPhysicalShape : public TGLDrawable

Inheritance Chart:
TGLDrawable
<-
TGLPhysicalShape

    protected:
virtual void DirectDraw(UInt_t LOD) const public:
TGLPhysicalShape(ULong_t ID, const TGLLogicalShape& logicalShape, const TGLMatrix& transform, Bool_t invertedWind, const Float_t* rgba) TGLPhysicalShape(ULong_t ID, const TGLLogicalShape& logicalShape, const double* transform, Bool_t invertedWind, const Float_t* rgba) virtual ~TGLPhysicalShape() static TClass* Class() virtual void Draw(UInt_t LOD) const virtual void DrawOutline(UInt_t lod) const virtual void DrawWireFrame(UInt_t lod) const const Float_t* GetColor() const const TGLLogicalShape& GetLogical() const TGLVector3 GetScale() const TGLVertex3 GetTranslation() const void InvokeContextMenu(TContextMenu& menu, UInt_t x, UInt_t y) const virtual TClass* IsA() const Bool_t IsModified() const Bool_t IsSelected() const Bool_t IsTransparent() const void Select(Bool_t select) void SetColor(const Float_t* rgba) void SetScale(const TGLVector3& scale) void SetTranslation(const TGLVertex3& trans) void Shift(const TGLVector3& shift) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) void UpdateBoundingBox()

Data Members

    private:
const TGLLogicalShape& fLogicalShape ! the associate logical shape TGLMatrix fTransform ! transform (placement) of physical instance Float_t fColor[17] ! GL color array Bool_t fSelected ! selected state Bool_t fInvertedWind ! face winding TODO: can get directly from fTransform? Bool_t fModified ! has been modified - retain across scene rebuilds

Class Description


TGLPhysicalShape(ULong_t ID, const TGLLogicalShape & logicalShape, const TGLMatrix & transform, Bool_t invertedWind, const Float_t rgba[4]) : TGLDrawable(ID, kFALSE), // Physical shapes not DL cached by default fLogicalShape(logicalShape), fTransform(transform), fSelected(kFALSE), fInvertedWind(invertedWind), fModified(kFALSE)

TGLPhysicalShape(ULong_t ID, const TGLLogicalShape & logicalShape, const Double_t * transform, Bool_t invertedWind, const Float_t rgba[4]) : TGLDrawable(ID, kFALSE), // Physical shapes not DL cached by default fLogicalShape(logicalShape), fTransform(transform), fSelected(kFALSE), fInvertedWind(invertedWind), fModified(kFALSE)

~TGLPhysicalShape()

void UpdateBoundingBox()

void SetColor(const Float_t rgba[4])
 TODO: Make a color class

void Draw(UInt_t LOD) const
 Debug tracing

void DirectDraw(UInt_t LOD) const
 Debug tracing

void DrawWireFrame(UInt_t lod) const

void DrawOutline(UInt_t LOD) const
 Debug tracing

void InvokeContextMenu(TContextMenu & menu, UInt_t x, UInt_t y) const
 Just defer to our logical at present



Inline Functions


        const TGLLogicalShape& GetLogical() const
                        Bool_t IsModified() const
                        Bool_t IsSelected() const
                          void Select(Bool_t select)
                const Float_t* GetColor() const
                        Bool_t IsTransparent() const
                    TGLVertex3 GetTranslation() const
                          void SetTranslation(const TGLVertex3& trans)
                          void Shift(const TGLVector3& shift)
                    TGLVector3 GetScale() const
                          void SetScale(const TGLVector3& scale)
                       TClass* Class()
                       TClass* IsA() const
                          void ShowMembers(TMemberInspector& insp, char* parent)
                          void Streamer(TBuffer& b)
                          void StreamerNVirtual(TBuffer& b)


Author: Richard Maunder 25/05/2005
Last update: root/gl:$Name: $:$Id: TGLPhysicalShape.cxx,v 1.10 2005/07/08 15:39:29 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.