[root] / trunk / graf3d / gl / inc / TGLSAViewer.h Repository:
ViewVC logotype

Log of /trunk/graf3d/gl/inc/TGLSAViewer.h

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 36895 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 24 11:46:09 2010 UTC (4 years, 2 months ago) by matevz
File length: 3672 byte(s)
Diff to previous 32770
Add menu entry for controlling hiding of menu-bar.

Revision 32770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Mar 25 17:05:08 2010 UTC (4 years, 10 months ago) by matevz
File length: 3658 byte(s)
Diff to previous 32064
Add function 
  void DisableMenuBarHiding();
Call it from destructor to avoid stray EventProcessed() signals from
menu-bar and menu-button widgets.

Revision 32064 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jan 20 19:56:34 2010 UTC (5 years ago) by matevz
File length: 3624 byte(s)
Diff to previous 31821
Hide / show menu-bar with a time-out (default 400ms). This can be
adjusted by calling static method:
  TGLSAViewer::SetMenuHidingTimeout(200)

Suggested by Alex Finch.

Revision 31821 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 10 18:22:44 2009 UTC (5 years, 1 month ago) by matevz
File length: 3362 byte(s)
Diff to previous 31299
Add support for stereo rendering. This requires a graphics card that
supports quad-buffering and shutter glasses.

The standard drawing code is unchanged.

Revision 31299 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 18 21:06:28 2009 UTC (5 years, 2 months ago) by matevz
File length: 3197 byte(s)
Diff to previous 26849
Several small cleanups and improvements.

TGLViewer and sub-classes:
- Improve help text for TGLViewer ("Help on GL viewer").
- Add support for menu-bar hiding in TGLSAViewer.
- Allow TGLEmbeddedViewer to be connected to a GED editor.
- Remove support for "camera home" on double click -- show GED editor
  of the viewer instead.

TGLEventHandler:
- Improve handling of mouse-button events:
  - Only allow single button activity at the same time.
  - Remove function-static variables.

TEveViewer:
- Enable by default menu-bar hiding for GL viewers.

Revision 26849 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 11 21:39:15 2008 UTC (6 years, 1 month ago) by matevz
File length: 3335 byte(s)
Diff to previous 26717
TGLViewer and framed sub-classes
--------------------------------
- Add virtual Create/DestroyGLWidget() functions.
  This is apparently needed to make undocking work on mac.

Revision 26717 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Dec 7 22:07:55 2008 UTC (6 years, 1 month ago) by matevz
File length: 3221 byte(s)
Diff to previous 26561
graf3d/gl
=========

Documentation changes.

TGLSAViewer
-----------
- store TGLSAFrame as a normal composite-frame.


graf3d/eve
==========

Support for creation of GL windows.
Support for full hierarhic destruction.

TEveManager
-----------
- Push all gl-viewer management to TEveViewerList.
- Allow spawning several GL viewers during initialization.

TEveViewer
----------
- Subclass from TEveWindowFrame. This way all eve-window operations
  are supported.

TEveViewerList
--------------
- Perform gl-viewer management via Add/RemoveElement() virtuals.

TEveWindow
----------
- Properly set cleanup of all frames.
- Delete embedded GUI frames via DeleteWindow().
- Change all debug printout with info messages at gDebug > 0.

TEveElement
-----------
- Added access methods for member 'Int_t fParentIgnoreCnt'.


tutorials/eve
=============

Use new interace for creating / accessing eve and gl viewers.

Revision 26561 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 1 17:35:55 2008 UTC (6 years, 1 month ago) by matevz
File length: 3810 byte(s)
Diff to previous 26274
Merge the following releases from the fireworks branch:

26432
 - Added TGLSAViewer::DeleteMenuBar().

26444
 - TGLSAViewer - use a steering flag for menu-bar destruction.

26468
 - TEveCaloDataVec - option to define XY axis from cells themselves.

26481
 - TEveCaloDataVec - bugfix;
 - show the new feature in cms_calo*.C tutorials.

26523
 - TEveWindow - new classes for management of EVE vindows;

26524
 - missing include.

26557
 - TEveWindow:
   - support hiding of title-bar directly from frame; render decollapse box
     when hidden;
   - bind context menu to Action/IconBox button;
   - consistent usage of simple frame-style.

Revision 26274 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 18 20:32:48 2008 UTC (6 years, 2 months ago) by matevz
File length: 3748 byte(s)
Diff to previous 24059
Merge from the fireworks branch the following revisions:

26053
=====
TEveCalo, TGLFontManager - Fix memory leaks.

26167
=====
TEveLegoOverlay - Add possiblity to draw a header text in top right corner of window.

26254
=====
TGLSAViewer - Properly clean up the TGMenuBar.
TEveManager - Add static method Terminate() to shutdown the manager.

26267
=====
TGLScene - In FindLogicalSmartRefresh() delete the shape if the classes don't
match. This was a (rare) memory leak.
TEveBoxSetGL - Consistent punctuation.

26273
=====
TEveManager - Add method 'void CloseEveWindow()' and connect it to the
'CloseWindow()' signal of the main browser.

Revision 24059 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 30 04:15:11 2008 UTC (6 years, 7 months ago) by matevz
File length: 3698 byte(s)
Diff to previous 23665
- TEveGeoShape
  Add static data-member holding a pointer to a default geo-manager
  that allows us to capture dangling geo-shapes as they are created for
  or imported into TEveGeoShape.

- TGLCamera
  Fix AdjustAndClampVal() fix poorly implementd logarithmic scaling of
  the value step.

- TGLOrthoCamera
  Add get/set methods for fZoomMin/Max.

- TGLViewer, TGLSAViewer
  Move SavePicture() from TGLSAViewer to TGLViewer and improve
  structure of the code. This allows also images from TGLEmbedded
  viewer to be saved to a file.

- projection_test.C
  Set min/max-zoom of the camera.

Revision 23665 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 6 14:38:14 2008 UTC (6 years, 8 months ago) by matevz
File length: 3796 byte(s)
Diff to previous 23318
Added three more orthographic cameras (looking at the scene from
another side).

Added virtual methods Bool_t TGLCamera::IsPerspective()/IsOrthographic().

Revision 23318 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 18 16:38:57 2008 UTC (6 years, 9 months ago) by matevz
File length: 3761 byte(s)
Diff to previous 23140
In TGLViewer::SetEventHandler() propagate the changes to TGLWidget.

Rename member TGLWidget* TGLViewer::fGLWindow to fGLWidget to
correspond to class-name of the new low-level GL interface.

Revision 23140 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 11 11:01:39 2008 UTC (6 years, 9 months ago) by rdm
File length: 3789 byte(s)
Diff to previous 22539
move the following directories to "graf2d":

asimage, freetype, gpad, graf, postscript, qt, win32gdk, x11, x11ttf

move the following directories to "graf3d":

eve, ftgl, g3d, gl, x3d

Revision 22539 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Mar 8 14:36:37 2008 UTC (6 years, 10 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3789 byte(s)
Diff to previous 21651
From Alja, Bertrand & Matevz: merged branches/dev/fireworks 21757:22514.

This includes:

- development for event-displays of ALICE and CMS since 5.18 in eve/,
  gl/ and gui/;

- many new tutorials and demos for eve/;

- fix in TQObject to support class-signals from all base-classes.

Revision 21651 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 11 17:11:35 2008 UTC (7 years ago) by matevz
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3766 byte(s)
Diff to previous 20882
Introduce option for toggling dolly/zoom behaviour for orthographic
camera.

Expose this and optional rotation in ortho camera via menu entries in
TGLSAViewer.

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3660 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3660 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3711 byte(s)
Diff to previous 19738
remove :$ from tag line

Revision 19738 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 30 20:42:36 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3721 byte(s)
Diff to previous 19736
From Matevz:
Add new menubar check-entry kGLEditObject that toggles between
editing of PhysicalShapes or original objects in response to
selection being changed. Add function ToggleEditObject() for
external control of this behaviour.

Use standard main-frame ctor argument 'const TGWindow*' instead of 'TGFrame*'.

Revision 19736 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 30 20:30:12 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3750 byte(s)
Diff to previous 19646
From Matevz:
Override OverlayDragFinished().

Revision 19646 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Aug 19 10:08:15 2007 UTC (7 years, 5 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3622 byte(s)
Diff to previous 19011
From Matevz:
Allow user to pass external geditor to be used by the GL-viewer.

Revision 19011 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 12 14:53:20 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3604 byte(s)
Diff to previous 19000
From Timur:
Make TGLSAViewer::SavePicture working again.

Revision 19000 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 11 19:56:34 2007 UTC (7 years, 7 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3561 byte(s)
Diff to previous 18879
From Matevz:

Major restructuring of GL viewer-scene relationship (Matevz)
===================================================

The main idea was to generalize current GL infrustructure so that the
following features can be done in the future:

1. Full pad rendering via GL including 3D histo/func painters and 2D graphics.

2. Implementation of GL canvas (with independent viewers serving as pads).

3. Multi-view event-visualization front-end.

4. Inclusion of external scenes (non-ROOT-gl) in ROOT viewer.
   Rendering of ROOT scenes in external GL frameworks.


Changes on the code level
-------------------------

0. Extend current scene/viewer classes into a 2-level class hierarchy.
   New classes TGLViewerBase and TGLSceneBase.

1. Allow scenes to be shared among viewers. View-specific scene-cache
   needs to be kept at the viewer side.

2. Viewer now manages a list of scenes. It is possible to put together
   a combination of scenes (e.g. one showing geometry, another one tracks
   and yet another clusters). Each scene can define its own clipping object.

3. Provide API for fine-grained control over rendered object removal,
   creation and update. This allows for efficient scene-updates.

4. Disentangle selection, clipping and other markup objects from
   within viewer-scene singleton.
   New classes TGLClipSet, TGLManipSet.

6. Disentangle selection management.

7. Separate overlay rendering to allow any number of active GL-GUI
   elements (like manipulators are now).
   New classes TGLOverlayElement.

8. Trailing white space has been removed in all files.


Restructure low-level interface to OpenGL (Timur)
=========================================

1. Allow sharing GL resources among viewers.

2. Do not bind GL-output (windowed or offscreen) to ROOT GUI.

New classes TGLContext, TGLFormat, TGLWidget.

This oboletes TGLKernel and TVirtualGL classes.

Revision 18879 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 24 14:09:33 2007 UTC (7 years, 8 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3558 byte(s)
Diff to previous 16865
From Timur:
Move member fGlArea from TGLSAViewer to TGLScene and reactive the call
to TGLDisplayListCache::Purgein TGLScene destructor.
This should fix a problem on MAC when deleting a GL window.

Revision 16865 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 22 12:31:55 2006 UTC (8 years, 2 months ago) by couet
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3588 byte(s)
Diff to previous 16452
- TGLSAViewer::SavePicture is now a public method. Therefore it is now
  possible to generate gif files of the GL-Viewer from the command line
  doing:

  root [1] TGLSAViewer *glv = (TGLSAViewer *)gPad->GetViewer3D();
  root [2] glv->SavePicture("gl.gif");

  TGLSAViewer::SavePicture has also been modified to allow to generate
  animated gif files. Example:

  root [1] TGLSAViewer *glv = (TGLSAViewer *)gPad->GetViewer3D();
  root [2] glv->SavePicture("gl.gif+");
  root [3] glv->SavePicture("gl.gif+");
  root [4] glv->SavePicture("gl.gif+");

  Between each call to glv->SavePicture("gl.gif+"), the GL-Viewer display
  has been modified. Then gl.gif is an amination build from the various
  images displayed in the GL-Viewer.

Revision 16452 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 5 18:19:09 2006 UTC (8 years, 3 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3585 byte(s)
Diff to previous 16345
From Matevz and Timur:

	* gl/inc/TGLViewer.h:
	* gl/src/TGLViewer.cxx:
	Added customizations of update/redraw behaviour:
	1) flag 'Bool_t fIgnoreSizesOnUpdate' that tells the viewer
	   not to check the size of the object in AddObject();
	2) member 'Color_t fClearColor' that allows user to select the
	   background color;
	3) method 'void UpdateScene()' thet forces the scene update via
	calling 'fPad->Paint()';
	4) method 'virtual void RefreshPadEditor(TObject* changed=0)' that
	   allows updates to be sent to the built-in editor when the
	   internal state changes.

	* gl/inc/TGLSAViewer.h:
	* gl/src/TGLSAViewer.cxx:
	Implemented virtual 'TGLSAViewer::RefreshPadEditor()'. In all
	calls to 'TGedEditor::SetModel()' replaced third argument 'Int_t
	event' from 'kButton1' to 'kButton1Down'.

	* gl/inc/TGLViewerEditor.h:
	* gl/src/TGLViewerEditor.cxx:
	Added widgets controlling 'fClearColor', 'fIgnoreSizesOnUpdate',
	'fResetCamerasOnUpdate' and 'fResetCameraOnDoubleClick'; added
	buttons for invoking 'UpdateScene()' and 'CameraHome()' methods.

	* gl/src/TGLScene.cxx:
	Removed code setting the glClearColor in 'Draw()'.

Revision 16345 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 26 08:06:49 2006 UTC (8 years, 3 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3530 byte(s)
Diff to previous 16336
From Matevz:
Added get-methods needed when embedding the stand-alone viewer
into another main-frame.

Revision 16336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 25 13:43:21 2006 UTC (8 years, 4 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3337 byte(s)
Diff to previous 16090
From Matevz:
Use TGedEditor in left-pane. Modification according to usage of
new class TGLPShapeObjEditor and changes in TGLViewerEditor.

Revision 16090 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 23 14:39:40 2006 UTC (8 years, 5 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3618 byte(s)
Diff to previous 15610
From Matevz Tadel:

        1) Implementation of two-level (secondary) selection

        Rendering objects can provide a new level of interactivity, for
        example a TPointSet3D holding a set of clusters can attach a pointer
        to original cluster to each point and receive notifications when a
        specified cluster was clicked.

        Secondary selection is activated by Control-Left clicking into the
        GL window.

        2) Improve control over camera-reset behaviour

        Allow user to prevent camera reset on scene update and
        double-click.

        3) Improvements in TPointSet3D(GL)

        Detailed ChangeLog
        ==================

        * base/inc/TVirtualViewer3D.h:
        Added virtual methods 'void ResetCameras(){}' and 'void
        ResetCamerasAfterNextUpdate(){}'.

        * gl/inc/TGLScene.h:
        * gl/src/TGLScene.cxx:
        Implemented two-level selection. It is enabled for next selection
        pass by calling ActivateSecSelect().

        DoSelect() does not change the selected object but only indicates
        which object has been selected by setting new member
        'TGLPhysicalShape *fSelectionResult'. Caller (TGLViewer) must call
        new method 'void ApplySelection()' to actually change the selected
        object to the last selection result.

        Changed declaration of selection buffer from being a static varable
        within DoSelect() to data-member. This allows post-processing of
        selection records needed by two-level selection.

        * gl/inc/TGLCamera.h:
        * gl/inc/TGLOrthoCamera.h:
        * gl/inc/TGLPerspectiveCamera.h:
        * gl/src/TGLCamera.cxx:
        * gl/src/TGLOrthoCamera.cxx:
        * gl/src/TGLPerspectiveCamera.cxx:
        Added Bool_t argument with default value to:
        virtual void TGLCamera::Setup(const TGLBoundingBox & box, Bool_t
        reset=kTRUE) = 0;
        By setting it to false one can change camera parameters for new
        scene bounding-box without repositioning the camera.

        Added 'Bool_t checkSize' argument to OfInterest().
        This is relevant for marker-classes which can have small
        volume/length but are still visible as they are rendered in
        pixel-coordinates. Value of this argument is needed in TGLScene
        (DestroyPhysicals) and TGLViewer (AddObject). It is obtained by
        calling virtual method TGLLogicalShape::IgnoreSizeForOfInterest().
        This method returns false by defalut and is overriden in
        TGLPolyMarker and TPointSet3DGL.

        * gl/inc/TGLViewer.h:
        * gl/src/TGLViewer.cxx:
        Added controls for camera-reset behaviour.
        Data-members: 'Bool_t fResetCamerasOnUpdate', 'Bool_t
        fResetCamerasOnNextUpdate', 'Bool_t fResetCameraOnDoubleClick'.
        Methods: 'ResetCameras()', 'ResetCamerasAfterNextUpdate()',
        'ResetCurrentCamera()'.
        Added an argument to 'void PostSceneBuildSetup(Bool_t resetCameras).

        Added Bool_t return-value to RequestSelect(). It returns true if
        result of the selection is different then fSelectedPhysical.

        Added method ApplySelection() to interface with TGLScene
        selection state. This is called from event-handling functions in
        TGLViewer.

        Added key-binding for 'Home': ResetCurrentCamera().

        * gl/inc/TGLSAViewer.h:
        * gl/src/TGLSAViewer.cxx:
        Added description of new functionality to fgHelpText.

        MSVC was complaining about fgHelpText being too long: I split it
        into fgHelpText1 and fgHelpText2.

        * gl/inc/TGLDrawFlags.h:
        * gl/src/TGLDrawFlags.cxx:
        Added members 'Bool_t fSelection' and 'Bool_t
        fSecSelection' allowing passing of current selection state to
        renderers. This is needed to allow different render-paths during
        (secondary) selection.

        We should consider passing TGLScene* and/or TGLViewer* down to
        DirectDraw() of individual renderers.

        * gl/src/TGLDrawable.cxx:
        In ShouldCache() return false if secondary selection is in progress.

        * gl/src/TGLPhysicalShape.cxx:
        Handle new members in TGLDrawFlags.

        * gl/inc/TGLLogicalShape.h:
        * gl/src/TGLLogicalShape.cxx:
        Added three new functions:

        1) virtual Bool_t SupportsSecondarySelect() const { return kFALSE; }
        This is called by TGLScene::DoSelect() to check is object that was
        the result of primary selection supports secondary selection.

        2) virtual void ProcessSelection(UInt_t* ptr, TGLViewer*, TGLScene*);
        It is called back from TGLViewer after successful secondary
        selection. As the object that does the rendering is the only one
        that actually knows how the object sub-parts were named it has
        to interpret the results.

        Both of these should be overriden in classes that support
        secondary selection, for example see TPointSet3DGL.

        3) virtual Bool_t IgnoreSizeForOfInterest() const { return kFALSE; }
        Signals to TGLScene and TGLViewer that volume/lenght of this
        class' bounding box should not be considered when checking if
        objects of this class are of interest to current camera.

        * gl/inc/TGLObject.h:
        * gl/src/TGLObject.cxx:
        Changed second argument of function:
        Bool_t SetModelCheckClass(TObject* obj, const Text_t* classname);
        to 'TClass* cls'. This is much more efficient.

        * g3d/inc/TPointSet3D.h:
        * g3d/src/TPointSet3D.cxx:
        Added support for per-point designations (one TObject* per point;
        via casting it can be set to anything).
        New virtual method 'void PointSelected(Int_t n)' that is called
        back after successful secondary selection in TGLViewer (via
        virtual TGLLogicalShape::ProcessSelection()).

        * gl/inc/TPointSet3DGL.h:
        * gl/src/TPointSet3DGL.cxx:
        Added support for per-point selection. Point-sizes are taken into
        account during selection (by modifying the projection
        matrix).
        Implemented 'virtual Bool_t TGLDrawable::ShouldCache()' to disable
        caching when in primary selection (point-size improvements).
        Cross-like marker types are now supported to some extent.
        Improved structure of rendering code.
        Override 'virtual Bool_t TGLLogicalShape::IgnoreSizeForOfInterest()'
        to return true.
        Multiply TAttMarker::GetMarkerSize() by 5 before applying.

        * gl/inc/TGLPolyMarker.h:
        Override 'virtual Bool_t TGLLogicalShape::IgnoreSizeForOfInterest()'
        to return true.

Revision 15610 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jun 29 12:16:26 2006 UTC (8 years, 6 months ago) by couet
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3561 byte(s)
Diff to previous 14580
- From Timur:
  Complete the "File" menu in the GL viewer (Save, and Quit ROOT)

Revision 14580 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 7 08:43:59 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3311 byte(s)
Diff to previous 14237
From Matevz Tadel:
Introduce a new set of classes dedicated to event visualisation.
TGLObject:	base-class for direct GL renderers

TAttBBox:	interface, helps maintain/calculate bounding-box
		needed for TGLObject (see TPointSet3D and TPointSet3DGL)
TPointSet3D:	a demo class for direct GL rendering
TPointSet3DGL:

Mods in existing classes to interface the new classes

Revision 14237 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 13 09:33:50 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3128 byte(s)
Diff to previous 13936
From Timur:
Changes in TGLEditor, TGLColorEditor and TGLGeometryEditor
TGLSAViewer - GUI modified - old clip editor/guides
editor/lights - replaced by TGLViewerEditor.
GUI now works as in TPad's viewer - if you select
TGLViewer (shift + left click on a free scene space),
you - can see TGLViewerEditor,
if you select object in GL scene, you can see color
editor and geometry editor for this object.
TGLViewerEditor can be used in a pad and in a TGLSAFrame.

Revision 13936 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jan 26 11:59:42 2006 UTC (8 years, 11 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3749 byte(s)
Diff to previous 13495
From Richard:
Implement manipulators (translate/scale/rotate) for all shapes in
viewer (previously only clip shapes could use them).

Behaviour:

i) Single selection in viewer - either a normal / clip shape or none.
Current manipulator is attached (and shown) when attached to selection.
ii) Normal viewer shapes are selected using Shift+Left Mouse button (and
have bounding box drawn).
iii) Clip shapes are shown/selected by checking 'Show/Edit' option on
the Scene/Clipping tab of the GUI.
iv) Any exisiting (normal/clip) selection is cleared when making new
choice.
v) (Transparent) clip shapes cannot be selected (picked) directly in the
viewer - normal shape override this.

Rotation properties of shapes are not reflected in GUI currently.

Revision 13495 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Dec 5 17:34:45 2005 UTC (9 years, 1 month ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3719 byte(s)
Diff to previous 13316
From Richard:
Fixes for perspective camera constraints. Camera has a level floor
formed from 2 of the 3 world axes - avoids tipping of horizon.
Previously only one combination was supported making it impossible to
navigate round some detectors naturally, or stand them on their 'feet'
supports.

'Projections' menu is now renamed 'Camera' and has three simple
perspective combinations:

Perspective (Floor XOZ) - default.
Perspective (Floor YOZ)
Perspective (Floor XOY)

in addition to 3 ortho combinations. Also updated help and default clips
to be more sensible with new default.

Revision 13316 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 22 18:05:46 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3688 byte(s)
Diff to previous 13250
From Richard:
 Second part of general tidy for coding conventions violations -
mainly commenting. Code under my name should be clear now.

Revision 13250 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 16 16:41:59 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 3016 byte(s)
Diff to previous 13160
From Richard:
Update to axes in GL viewer - in response to requests from Witold
Pokorski.

i) Added options to draw axes through origin (not depth clipped), as
well at edge (depth clipped).
ii) Added option to show a single reference marker (orange sphere) at
location - for debugging geometries.
iii) Improved draw quality of axes - similar to manipulators.
iv) These moved to new "Guides" tab under "Scene" for GUI.

Revision 13160 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Nov 8 19:18:18 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 2842 byte(s)
Diff to previous 13005
From Richard:
Various updates to cameras:

i) Larger range/sensitivities
ii) Better auto-framing for ortho cameras
iii) Better lighting - especially for ortho views
iv) Some more debug aids for scene center, origin and light positions -
enabled in debug mode (d key)

Revision 13005 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 24 14:49:33 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 2842 byte(s)
Diff to previous 12901
From Richard:
i) Add rotation manipulator.
ii) Allow direct manipulation of clipping plane - rotate/translate.
Cannot scale - makes no sense.

Note:

iii) Rotation interaction requires some improvement - difficult when
ring is almost parallel with eye line of camera.
iv) Still need to extend for all selected objects - requires some
internal rearrangement of TGLScene/TGLViewer

Revision 12901 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Oct 4 20:33:11 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 2847 byte(s)
Diff to previous 12892
From Timur:
Changes in GL GUI. Replace shutter by TABs

Revision 12892 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 3 15:19:35 2005 UTC (9 years, 3 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 2873 byte(s)
Diff to previous 12466
From Richard:
First implementation for interactive clipping, using OpenGL clip planes.
Initially we have plane & box - others later. See Help for description.

Known Bugs/Issues:

All in GUI:

i) Edit box takes keyboard focus and does not return to viewer pane when
clicked in. Hence all keys in viewer break - an existing general viewer
problem.
ii) Initial layout does not correctly hide the plane/box properties
panels, or scale for V side scroll bar.

Missing Features:

iii) CSG final pass and/or solid cappings.
iv) Can't rotate the box - need a TGLRotManip class soon.
v) Should be able to show and manipulate plane in similar fashion as
box.
vi) Trans/scale/rotate manipulators should be availible for any selected
object.

Revision 12466 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 11 15:28:53 2005 UTC (9 years, 5 months ago) by rdm
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 2840 byte(s)
Diff to previous 12459
add missing cvs ident lines.

Revision 12459 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Aug 10 16:26:36 2005 UTC (9 years, 5 months ago) by brun
Original Path: trunk/gl/inc/TGLSAViewer.h
File length: 2779 byte(s)
From Richard:
make TVirtualViewer TObject derv. so TPad can use without modifications.
Also removed last parts of TVirtualGL unrelated to context/draws so it
can be replaced with new TGLManager.

Added:

TGLSAViewer & TGLSAFrame - standalone viewer + GUI main frame.
TGLOutput for containing capture (pdf/eps output).

TX3DFrame (x3d mod) to avoid diamond TObject inheritance from GUI +
TVV3D interface

Removed: TViewerOpenGL

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9