Logo ROOT   6.16/01
Reference Guide
List of all members | Classes | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
TGLParametricPlot Class Reference

Definition at line 88 of file TGLParametric.h.

Classes

struct  Vertex_t
 

Public Member Functions

 TGLParametricPlot (TGLParametricEquation *equation, TGLPlotCamera *camera)
 Constructor. More...
 
void AddOption (const TString &option)
 No additional options for parametric surfaces. More...
 
char * GetPlotInfo (Int_t px, Int_t py)
 No object info yet. More...
 
Bool_t InitGeometry ()
 Build mesh. More...
 
void Pan (Int_t px, Int_t py)
 User's moving mouse cursor, with middle mouse button pressed (for pad). More...
 
void ProcessEvent (Int_t event, Int_t px, Int_t py)
 Change color/mesh size or switch on/off mesh/box cut. More...
 
void StartPan (Int_t px, Int_t py)
 User clicks right mouse button (in a pad). More...
 
- Public Member Functions inherited from TGLPlotPainter
 TGLPlotPainter (TGL5DDataSet *data, TGLPlotCamera *camera, TGLPlotCoordinates *coord)
 TGLPlotPainter's ctor. More...
 
 TGLPlotPainter (TGLPlotCamera *camera)
 TGLPlotPainter's ctor. More...
 
 TGLPlotPainter (TH1 *hist, TGLPlotCamera *camera, TGLPlotCoordinates *coord, Bool_t xoySelectable, Bool_t xozSelectable, Bool_t yozSelectable)
 TGLPlotPainter's ctor. More...
 
virtual void AddOption (const TString &stringOption)=0
 
Bool_t CutAxisSelected () const
 
virtual void DeInitGL () const =0
 
virtual void DrawPlot () const =0
 
Bool_t GetDrawAxes ()
 
virtual Bool_t InitGeometry ()=0
 
virtual void InitGL () const =0
 
void InvalidateSelection ()
 Selection must be updated. More...
 
virtual void Paint ()
 Draw lego/surf/whatever you can. More...
 
virtual Bool_t PlotSelected (Int_t px, Int_t py)
 Read color buffer content to find selected object. More...
 
virtual void ProcessEvent (Int_t event, Int_t px, Int_t py)=0
 
const TGLPlotBoxRefBackBox () const
 
void SetDrawAxes (Bool_t s)
 
void SetDrawBackBox (Bool_t b)
 
void SetDrawFrontBox (Bool_t b)
 
virtual void SetFrameColor (const TColor *frameColor)
 Set plot's back box color. More...
 
void SetPadColor (const TColor *color)
 Used in a pad. More...
 
void SetPhysicalShapeColor (const Float_t *rgba)
 
virtual void StartPan (Int_t px, Int_t py)=0
 
- Public Member Functions inherited from TVirtualGLPainter
virtual ~TVirtualGLPainter ()
 
virtual char * GetPlotInfo (Int_t px, Int_t py)=0
 
virtual void Paint ()=0
 
virtual void Pan (Int_t px, Int_t py)=0
 
virtual Bool_t PlotSelected (Int_t px, Int_t py)=0
 

Private Types

enum  EMeshSize { kLow = 30 , kHigh = 150 }
 

Private Member Functions

 TGLParametricPlot (const TGLParametricPlot &)
 
void DeInitGL () const
 Initialize gl state. More...
 
void DrawPlot () const
 Draw parametric surface. More...
 
void DrawSectionXOY () const
 No such sections. More...
 
void DrawSectionXOZ () const
 No such sections. More...
 
void DrawSectionYOZ () const
 No such sections. More...
 
void InitColors ()
 Calculate colors for vertices, using one of 20 color themes. More...
 
void InitGL () const
 Initialize gl state. More...
 
TGLParametricPlotoperator= (const TGLParametricPlot &)
 
void SetSurfaceColor () const
 Set material properties. More...
 

Private Attributes

TGLPlotCoordinates fCartesianCoord
 
TAxis fCartesianXAxis
 
TAxis fCartesianYAxis
 
TAxis fCartesianZAxis
 
Int_t fColorScheme
 
TGLParametricEquationfEquation
 
TGL2DArray< Vertex_tfMesh
 
Int_t fMeshSize
 
Bool_t fShowMesh
 

Additional Inherited Members

- Public Types inherited from TGLPlotPainter
enum  ECutAxisID { kXAxis = 7 , kYAxis = 8 , kZAxis = 9 }
 
- Protected Types inherited from TGLPlotPainter
enum  ESelectionBase { kHighColorSelectionBase = 7 , kTrueColorSelectionBase = 10 }
 
- Protected Member Functions inherited from TGLPlotPainter
virtual void ClearBuffers () const
 
virtual void DrawPaletteAxis () const
 Draw. Palette. Axis. More...
 
void DrawSections () const
 Draw sections (if any). More...
 
virtual void DrawSectionXOY () const =0
 
virtual void DrawSectionXOZ () const =0
 
virtual void DrawSectionYOZ () const =0
 
const TColorGetPadColor () const
 Get pad color. More...
 
void MoveSection (Int_t px, Int_t py)
 Create dynamic profile using selected plane. More...
 
void PrintPlot () const
 Generate PS using gl2ps. More...
 
void RestoreModelviewMatrix () const
 
void RestoreProjectionMatrix () const
 
void SaveModelviewMatrix () const
 
void SaveProjectionMatrix () const
 
- Protected Attributes inherited from TGLPlotPainter
TGLPlotBox fBackBox
 
TGLBoxCut fBoxCut
 
TGLPlotCamerafCamera
 
TGLPlotCoordinatesfCoord
 
Bool_t fDrawAxes
 
Bool_t fDrawPalette
 
Bool_t fHighColor
 
TH1fHist
 
TPoint fMousePosition
 
Double_t fPadPhi
 
Double_t fPadTheta
 
const Float_tfPhysicalShapeColor
 
Int_t fSelectedPart
 
TGLSelectionBuffer fSelection
 
Int_t fSelectionBase
 
Bool_t fSelectionPass
 
Bool_t fUpdateSelection
 
TAxisfXAxis
 
Double_t fXOYSectionPos
 
Double_t fXOZSectionPos
 
TAxisfYAxis
 
Double_t fYOZSectionPos
 
TAxisfZAxis
 
std::vector< Double_tfZLevels
 

#include <TGLParametric.h>

Inheritance diagram for TGLParametricPlot:
[legend]

Member Enumeration Documentation

◆ EMeshSize

Enumerator
kLow 
kHigh 

Definition at line 96 of file TGLParametric.h.

Constructor & Destructor Documentation

◆ TGLParametricPlot() [1/2]

TGLParametricPlot::TGLParametricPlot ( TGLParametricEquation equation,
TGLPlotCamera camera 
)

Constructor.

Definition at line 298 of file TGLParametric.cxx.

◆ TGLParametricPlot() [2/2]

TGLParametricPlot::TGLParametricPlot ( const TGLParametricPlot )
private

Member Function Documentation

◆ AddOption()

void TGLParametricPlot::AddOption ( const TString option)
virtual

No additional options for parametric surfaces.

Implements TGLPlotPainter.

Definition at line 464 of file TGLParametric.cxx.

◆ DeInitGL()

void TGLParametricPlot::DeInitGL ( ) const
privatevirtual

Initialize gl state.

Implements TGLPlotPainter.

Definition at line 516 of file TGLParametric.cxx.

◆ DrawPlot()

void TGLParametricPlot::DrawPlot ( ) const
privatevirtual

Draw parametric surface.

Implements TGLPlotPainter.

Definition at line 528 of file TGLParametric.cxx.

◆ DrawSectionXOY()

void TGLParametricPlot::DrawSectionXOY ( ) const
privatevirtual

No such sections.

Implements TGLPlotPainter.

Definition at line 675 of file TGLParametric.cxx.

◆ DrawSectionXOZ()

void TGLParametricPlot::DrawSectionXOZ ( ) const
privatevirtual

No such sections.

Implements TGLPlotPainter.

Definition at line 661 of file TGLParametric.cxx.

◆ DrawSectionYOZ()

void TGLParametricPlot::DrawSectionYOZ ( ) const
privatevirtual

No such sections.

Implements TGLPlotPainter.

Definition at line 668 of file TGLParametric.cxx.

◆ GetPlotInfo()

char * TGLParametricPlot::GetPlotInfo ( Int_t  px,
Int_t  py 
)
virtual

No object info yet.

Implements TVirtualGLPainter.

Definition at line 455 of file TGLParametric.cxx.

◆ InitColors()

void TGLParametricPlot::InitColors ( )
private

Calculate colors for vertices, using one of 20 color themes.

-1 simple 'metal' surface.

Definition at line 641 of file TGLParametric.cxx.

◆ InitGeometry()

Bool_t TGLParametricPlot::InitGeometry ( )
virtual

Build mesh.

The surface is 'immutable': the only reason to rebuild it - the change in size or if one of equations contain reference to TF2 function, whose parameters were changed.

Implements TGLPlotPainter.

Definition at line 322 of file TGLParametric.cxx.

◆ InitGL()

void TGLParametricPlot::InitGL ( ) const
privatevirtual

Initialize gl state.

Implements TGLPlotPainter.

Definition at line 504 of file TGLParametric.cxx.

◆ operator=()

TGLParametricPlot & TGLParametricPlot::operator= ( const TGLParametricPlot )
private

◆ Pan()

void TGLParametricPlot::Pan ( Int_t  px,
Int_t  py 
)
virtual

User's moving mouse cursor, with middle mouse button pressed (for pad).

Calculate 3d shift related to 2d mouse movement.

Implements TVirtualGLPainter.

Definition at line 431 of file TGLParametric.cxx.

◆ ProcessEvent()

void TGLParametricPlot::ProcessEvent ( Int_t  event,
Int_t  px,
Int_t  py 
)
virtual

Change color/mesh size or switch on/off mesh/box cut.

Left double click - remove box cut.

Implements TGLPlotPainter.

Definition at line 472 of file TGLParametric.cxx.

◆ SetSurfaceColor()

void TGLParametricPlot::SetSurfaceColor ( ) const
private

Set material properties.

Definition at line 682 of file TGLParametric.cxx.

◆ StartPan()

void TGLParametricPlot::StartPan ( Int_t  px,
Int_t  py 
)
virtual

User clicks right mouse button (in a pad).

Implements TGLPlotPainter.

Definition at line 419 of file TGLParametric.cxx.

Member Data Documentation

◆ fCartesianCoord

TGLPlotCoordinates TGLParametricPlot::fCartesianCoord
private

Definition at line 110 of file TGLParametric.h.

◆ fCartesianXAxis

TAxis TGLParametricPlot::fCartesianXAxis
private

Definition at line 106 of file TGLParametric.h.

◆ fCartesianYAxis

TAxis TGLParametricPlot::fCartesianYAxis
private

Definition at line 107 of file TGLParametric.h.

◆ fCartesianZAxis

TAxis TGLParametricPlot::fCartesianZAxis
private

Definition at line 108 of file TGLParametric.h.

◆ fColorScheme

Int_t TGLParametricPlot::fColorScheme
private

Definition at line 102 of file TGLParametric.h.

◆ fEquation

TGLParametricEquation* TGLParametricPlot::fEquation
private

Definition at line 104 of file TGLParametric.h.

◆ fMesh

TGL2DArray<Vertex_t> TGLParametricPlot::fMesh
private

Definition at line 99 of file TGLParametric.h.

◆ fMeshSize

Int_t TGLParametricPlot::fMeshSize
private

Definition at line 98 of file TGLParametric.h.

◆ fShowMesh

Bool_t TGLParametricPlot::fShowMesh
private

Definition at line 101 of file TGLParametric.h.

Libraries for TGLParametricPlot:
[legend]

The documentation for this class was generated from the following files: