[root] / trunk / graf3d / g3d / inc / TPointSet3D.h Repository:
ViewVC logotype

Log of /trunk/graf3d/g3d/inc/TPointSet3D.h

Parent Directory Parent Directory


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

Revision 27556 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Feb 20 17:38:28 2009 UTC (5 years, 11 months ago) by matevz
File length: 2114 byte(s)
Diff to previous 26168
* TEveTrack
-----------
Add member 'Bool_t fLockPoints' allowinf the user prevent further
changes to the graphic representation.
Remove ALICE specific functions that are calling macros that do not
exist in ROOT distribution:
   void ImportHits();
   void ImportClusters();
   void ImportClustersFromIndex();
   void ImportKine();
   void ImportKineWithArgs(.....);
   void PrintKineStack();


* TEveTrackList
---------------
Remove ALICE specific functions:
   void ImportHits();
   void ImportClusters();


* TEvePointSet
--------------
Add function:
  void ClonePoints(const TEvePointSet& e);
that allows cloning of points and all identifiers assigned to them.


* TPointSet3D
-------------
Add protected method:
  void CopyIds(const TPointSet3D& t);
that simplifies copy-stor and assig-op.
It is also used by TEvePointSet::ClonePoints().


* TPolyMarker3D
* TPolyLine3D
---------------
Remove unused member 'UInt_t fGLList'.

Revision 26168 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 12 21:21:29 2008 UTC (6 years, 2 months ago) by matevz
File length: 2074 byte(s)
Diff to previous 23140
g3d
===

TPolyMarker3D
-------------
- remove redundant cast in copy-ctor.

TPointSet3D
-----------
- implement copy-ctor, fix assign-op and make it public;
- fix class docs.


eve
===

TEveElement
-----------
- implement copy-ctor for TEveElement, TEveElementObjectPtr and TEveElementList;
- add virtual TEveElement* CloneElement() and implement it for the above classes;
- add virtual TEveElement* TEveElement::CloneElementRecurse(Int_t recurse);
- add virtual void TEveElement::CloneChildrenRecurse(TEveElement* dest, Int_t recurse) const.

TEvePointSet
------------
- implement copy-ctor and CloneElement() for TEvePointSet.


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

pointset_test.C
---------------
- add new test function pointset_test_hierarchy()
  only works in compiled mode;
- make the macro compilable.

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: 2171 byte(s)
Diff to previous 20882
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 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/g3d/inc/TPointSet3D.h
File length: 2171 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/g3d/inc/TPointSet3D.h
File length: 2171 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/g3d/inc/TPointSet3D.h
File length: 2221 byte(s)
Diff to previous 16507
remove :$ from tag line

Revision 16507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Oct 11 10:26:23 2006 UTC (8 years, 3 months ago) by rdm
Original Path: trunk/g3d/inc/TPointSet3D.h
File length: 2231 byte(s)
Diff to previous 16355
From Federico:
fixes for the -effc++ g++ option.

Revision 16355 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 27 08:49:14 2006 UTC (8 years, 3 months ago) by rdm
Original Path: trunk/g3d/inc/TPointSet3D.h
File length: 2207 byte(s)
Diff to previous 16090
From Matevz:
Use TRefArray for storing per-point object ids; provide custom
Streamer to write-out the referenced objects in case they're owned
by the TPointSet3D.

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/g3d/inc/TPointSet3D.h
File length: 2613 byte(s)
Diff to previous 14583
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 14583 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Apr 7 09:20:43 2006 UTC (8 years, 9 months ago) by rdm
Original Path: trunk/g3d/inc/TPointSet3D.h
File length: 1550 byte(s)
Diff to previous 14580
fix cvs tag lines, and remove many <TAB>s.

Revision 14580 - (view) (download) (as text) (annotate) - [select for diffs]
Added Fri Apr 7 08:43:59 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/g3d/inc/TPointSet3D.h
File length: 922 byte(s)
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

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