[root] / trunk / geom / geom / src / TGeoXtru.cxx Repository:
ViewVC logotype

Log of /trunk/geom/geom/src/TGeoXtru.cxx

Parent Directory Parent Directory


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

Revision 48928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 25 15:45:11 2013 UTC (22 months ago) by agheata
File length: 42598 byte(s)
Diff to previous 44557
Large scale cleanup in shapes navigation interfaces adding const modifier for point and direction parameters passed as input arguments.

Revision 44557 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 5 09:25:52 2012 UTC (2 years, 7 months ago) by agheata
File length: 42520 byte(s)
Diff to previous 44507
Large chunk of coverity fixes

Revision 44507 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jun 4 12:30:41 2012 UTC (2 years, 7 months ago) by axel
File length: 42320 byte(s)
Diff to previous 42999
Remove
  using namespace std;
from Riostream.h, which has huge consequences for all of ROOT.
Riostream.h is now a simple wrapper for fstream, iostream, iomanip for backward compatibility; Riosfwd.h simply wraps iosfwd.

Because of templates and their inline functions, Riostream.h needed to be included in headers, too (e.g. TParameter.h), which violated the assumption that Riostream.h is not exposing its using namespace std to headers.
ROOT now requires R__ANSISTREAM, R__SSTREAM, which does not change the set of supported compilers.

Without "using namespace std", several identifiers are now prefixed by std::; e.g. roofit/* source files now have a using namespace std to keep their coding style.
TFile::MakeProject() now generates "using namespace std" to convert the CINT-style class names into C++ ones.

Revision 42999 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 14 13:42:55 2012 UTC (2 years, 11 months ago) by agheata
File length: 42250 byte(s)
Diff to previous 42459
Thread data is now pre-allocated when calling gGeoManager->SetMaxThreads(). This adds ~20MB for ALICE geometry per 100 threads, but avoids atomic allocations and thread locking. All run-time geometry locks removed. Thread id stored now using static thread__ allocator, faster and lock free for subsequent calls issued by the same thread.

Revision 42459 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Dec 10 17:02:27 2011 UTC (3 years, 1 month ago) by agheata
File length: 40984 byte(s)
Diff to previous 42321
Restored old style locking since the new one by Stefan was not really safe

Revision 42321 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Nov 30 12:46:10 2011 UTC (3 years, 1 month ago) by agheata
File length: 41176 byte(s)
Diff to previous 41221
Avoid locking if the thread data was already alocated for all threads. (S. Lohn)

Revision 41221 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Oct 6 13:42:44 2011 UTC (3 years, 3 months ago) by agheata
File length: 40984 byte(s)
Diff to previous 39105
Thread safe TGeoXtru. Optimization in TGeoManager::GetThreadId.

Revision 39105 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 5 08:57:04 2011 UTC (3 years, 8 months ago) by agheata
File length: 39529 byte(s)
Diff to previous 34235
TGeoXtru::Safety now safe

Revision 34235 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Jun 30 12:39:27 2010 UTC (4 years, 6 months ago) by brun
File length: 39014 byte(s)
Diff to previous 32369
Fix format in Error statement

Revision 32369 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 18 15:54:50 2010 UTC (4 years, 11 months ago) by brun
File length: 39016 byte(s)
Diff to previous 27731
From Andrei:
fixes a problem in TGeoXtru::DistFromOutside when the point is very close to the boundary.

Revision 27731 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 9 17:40:56 2009 UTC (5 years, 10 months ago) by brun
File length: 38995 byte(s)
Diff to previous 27582
From Andrei:
- Removed casting away constness in headers, and removed == and != between doubles in all geom code (Philippe's suggestion)
- Info messages suppressed now by the static TGeoManager::SetVerboseLevel(0). We should probably call this at the beginning of stressGeometry.cxx
- Fine tune in TGeoIntersection::DistFromInside() that solves inner boundary crossings in case the starting point is very close to boundary
- TGeoManager::FindInCluster() gives now priority (when selecting between MANY candidates) to the node that was proposed by FindNextBoundary()

Revision 27582 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 23 16:17:42 2009 UTC (5 years, 11 months ago) by brun
File length: 38578 byte(s)
Diff to previous 27466
From Andrei:
- TGeoXtru::DistFromInside() protection added for tracks starting from bottom surface. Affected boundary crossing with FLUKA interface.

Revision 27466 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 17 12:53:37 2009 UTC (5 years, 11 months ago) by brun
File length: 38598 byte(s)
Diff to previous 27434
From Andrei:
- Fix in twisted ARB8 DistFromInside/Outside algorithms which now take into account boundary errors.
- Added a check for malformed polygon definition for ARB8 and XTRU shapes which may have non-consecutive segments that are crossing each other.

Revision 27434 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 12 14:01:16 2009 UTC (5 years, 11 months ago) by brun
File length: 38466 byte(s)
Diff to previous 26668
From Andrei:
- Truncation errors better taken into account when propagating to boundaries.
- A fix for TGeoXtru::DistFromInside() in case propagation to outside fails.
- A very important protection in TGeoArb8 that checks if the vertices are defined clockwise. It posts an error message if this is not the case and automatically fixes the wrong shapes event if geometry is loaded from file.

Revision 26668 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Dec 5 07:43:15 2008 UTC (6 years, 1 month ago) by brun
File length: 38430 byte(s)
Diff to previous 24968
Fix some gcc4.3.2 warnings and also some initializations.

Revision 24968 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 28 20:39:24 2008 UTC (6 years, 5 months ago) by brun
File length: 38411 byte(s)
Diff to previous 23818
From Andrei:
fix for the bug mentioned by Christian + a protection in TGeoXtru for not allowing holes in the polygon + some refinement in the overlap checker progress bar.

Revision 23818 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 13 11:53:13 2008 UTC (6 years, 8 months ago) by brun
File length: 37799 byte(s)
Diff to previous 22923
From Andrei:
adding a protection in TGeoXtru::GetPlaneNormal.

Revision 22923 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 1 12:34:14 2008 UTC (6 years, 9 months ago) by rdm
File length: 37752 byte(s)
Diff to previous 21494
move geom, geombuilder, geompainter and gdml to geom meta directory.

Revision 21494 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Dec 19 15:50:40 2007 UTC (7 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 37752 byte(s)
Diff to previous 20882
Update to the class docs and index.txt files.

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/geom/src/TGeoXtru.cxx
File length: 37780 byte(s)
Diff to previous 20341
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 20341 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 15 09:47:45 2007 UTC (7 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 37780 byte(s)
Diff to previous 19826
From Andrei:
some fixes for some array access violations in pcon, pgon and xtru spotted by Federico. Some protections were missing in correlation of the usage of TMath::BinarySearch() (numeric exception cases on boundaries).

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/geom/src/TGeoXtru.cxx
File length: 37705 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/geom/src/TGeoXtru.cxx
File length: 37756 byte(s)
Diff to previous 19617
remove :$ from tag line

Revision 19617 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 13 16:00:32 2007 UTC (7 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 37766 byte(s)
Diff to previous 18553
From Andrei:
Patch for several complex shapes where it is faster to check first if the bounding box is crossed when coming from outside.

Revision 18553 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 23 08:58:53 2007 UTC (7 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 37563 byte(s)
Diff to previous 18041
From Andrei:
- new method  TGeoShape::GetMeshNumbers() that allows getting the number of points, segments and polygons in the mesh of any shape - to be used by an upgrade of the overlap checker
- addition in the overlap checker to use the above info
- modifications in TGeoManager for improving performance for tracking geantinos with G4root interface

Revision 18041 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 21 10:35:13 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 37204 byte(s)
Diff to previous 18013
From Andrei:
another fix in TGeoXtru for extruded polygons having 2 sections at same Z position.CVS: ----------------------------------------------------------------------

Revision 18013 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 19 14:20:08 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 37181 byte(s)
Diff to previous 17726
From Andrei:
a patch for a tracking problem observed separately by Sue and Ivana:
1. protection in TGeoXtru::DistFromInside/Outside in case the proposed step is bigger than TGeoShape::Big()
2. correction in computing safety for TGeoXtru shape that was underestimating safety value.

Revision 17726 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Feb 6 14:22:28 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36952 byte(s)
Diff to previous 17553
In the Streamer functions replace the lines like
         TPad::Class()->ReadBuffer(b, this, v, R__s, R__c);
         TPad::Class()->WriteBuffer(b,this);
by
         b.ReadClassBuffer(TPad::Class(), this, v, R__s, R__c);
         b.WriteClassBuffer(TPad::Class(),this);

Revision 17553 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 29 10:06:51 2007 UTC (7 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36944 byte(s)
Diff to previous 17356
Add explicit inclusion of "TClass.h" in view of a future removal of TClass.h
from TQObject.h.

Revision 17356 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jan 16 09:04:50 2007 UTC (8 years ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36924 byte(s)
Diff to previous 17306
Remove dependencies on TROOT.h

Revision 17306 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 12 16:03:17 2007 UTC (8 years ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36963 byte(s)
Diff to previous 15742
   TMath::Abs, TMath::Min, TMath::Max, TMath::Sign, TMath::Range
These functions are unfortunately not defined in a standard way in std::

This include is referenced by a new version of TMath.h.
As a result, TMath.h is back compatible with the previous version.

TMathBase.h is used in place of TMath.h in all the classes
that will go into the future miniCore library.
TMath.h and the TMath implementation will go into a new math sub-directory.

TString.h uses TMathBase.h instead of TMath.h.
As a result, it was necessary to include "TMath.h" in some classes
assuming that TMath was included via TString and using other functions
than the ones defined in TMathBase.h
 ----------------------------------------------------------------------

Revision 15742 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 9 05:27:55 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36944 byte(s)
Diff to previous 15672
From Eddy:
Fix many typos in comments

Revision 15672 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 3 16:10:46 2006 UTC (8 years, 6 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36939 byte(s)
Diff to previous 15172
from Axel:
Change the signature of SavePrimitive from

  void SavePrimitive(ofstream &out, Option_t *option);
to
  void SavePrimitive(ostream &out, Option_t *option = "");

With this change one can do, eg
   myhist.SavePrimitive(std::cout);

WARNING: do rm -f tree/src/*.o

Revision 15172 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 24 17:11:54 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36931 byte(s)
Diff to previous 15134
Fix coding conventions violations

Revision 15134 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 23 04:47:42 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36860 byte(s)
Diff to previous 14534
From Federico Carminati:

"I have implemented all copy and equal operators needed to silence all
warnings in AliRoot, as requested. I have implemented shallow copies as
would do the default operators synthetized by the compiler.
Most operators are protected. If users complain, you just have to move
them into the public area, but class derivation is of course supported.
It has been a terrible job, I have modified 278 files, but the changes
are backward compabile, and this goes a long way to permitting user to
use the effc++ flag with root headers."

Revision 14534 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Apr 3 16:19:32 2006 UTC (8 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 36031 byte(s)
Diff to previous 14336
From Andrei:
- TGeoXtru shapes with polygone vertices defined counter-clockwise in XY
plane were not valid (Andreas) - fixed
- TGeoVolume::SaveAs() works now correctly even in case of assemblies
(Ivana) - fixed by Mihaela
- Some minor precision problems fixed in divisions
- minor fix in navigation in assemblies; assemblies defined as overlapping
now forbidden
- fix for automatic re-voxelization after un-alignment

Revision 14336 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 20 21:43:44 2006 UTC (8 years, 10 months ago) by pcanal
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 34616 byte(s)
Diff to previous 13282
Reduce direct dependencies on TClass.h, TROOT.h and TStreamerInfo.h.
Warning:  This means that some file that relied on the indirect
inclusion of these header file might now fail to compile with
an error message mention that gROOT is no known or that TClass,
TROOT or TStreamerInfo is incompletely defined.  Simply add the
proper include directive.

Revision 13282 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Nov 18 16:07:59 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 34596 byte(s)
Diff to previous 13271
From Andrei:
a patch fixing RS2 and RS4 coding conventions violations..

Revision 13271 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 17 13:17:55 2005 UTC (9 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 34498 byte(s)
Diff to previous 12560
From Andrei & Mihaela:
a diff containing the implementation of TGeoShape::Capacity. There are also
few other fixes (see below):

Mihaela:

New method:
  Double_t TGeoShape::Capacity() const;
implemented for all supported shapes. The algorithms provide analytical computation of
shape capacity in [cm^3]. All algorithms are accurate with 2 exceptions:
- TGeoCtub : the formula is just an approximation due to the difficulties to integrate
over the phi angle in the general case.
- TGeoCompositeShape: the computation of the capacity is done by sampling, with an
accuracy of 1%.

Based on this method I extended the implementation of TGeoVolume::Weight(Double_t
precision, Option_t *option). The default value of option is now "va" meaning: verbose
+ analytical. Removing "a" from the default option performs computation of volume
weight using the old algorithm of sampling. I have checked the 2 ways of computing the
weight one against the other and they are consistent.

Andrei:

- fixed a memory leak related to TGeoShapeAssembly ownership
- fixed some tracking problems for assemblies (when the top volume was an assembly)

Revision 12560 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 30 09:58:41 2005 UTC (9 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33932 byte(s)
Diff to previous 11805
Changes to make the rulechecker happy in directory geom and geompainter.

Revision 11805 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 17 12:00:23 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33932 byte(s)
Diff to previous 11785
From Andrei Gheata:
a patch fixing I/O for TGeoXtru/TGeoPolygon.

Revision 11785 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 13 16:20:38 2005 UTC (9 years, 8 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33539 byte(s)
Diff to previous 11487
From Mihaela Gheata:
a patch with some fixes in SavePrimitive:

- shapes have now unique pointer names
- matrices used in composite shapes get registered to TGeoManager
- fix in TGeoCompositeShape::SavePrimitive, added
TGeoBoolNode::SavePrimitive

Revision 11487 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 5 08:54:12 2005 UTC (9 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33508 byte(s)
Diff to previous 11272
From Mihaela Gheata:
 some additional fixes. CMS muon is now ok (some rotations in
TGeoCombiTrans were not registered)
I also fixed SavePrimitive for composite shapes - tested for csgdemo.C
(the logic there was not at all working). I hope it works also with lhcb
- if not, please send me the geometry file. There is also a fix in
TGeoXtru::SavePrimitive.

 For testing SaveAs, you should regenerate the tested geometries (not
importing the .root file generated before these changes). Otherwise some
matrices can still get wrong.

Revision 11272 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Mar 9 18:19:27 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33492 byte(s)
Diff to previous 11204
From Richard Maunder:

Changes to viewer infrastructure (TBuffer3D,TVirtualViewer3D) to
support:

i) Proper shape specific (sphere, tube, etc) descriptions in TBuffer3D
derived classes - c.f. abuse of raw tesselation blocks before.
ii) On demand filling of buffer sections as required by viewer.
iii) Support for local/master frame shapes descriptions & child object
rejection.
iv) Template/placed shapes ids - enabling viewer to detect/receive
common shapes once and just obtain the new position and id of the
duplicate.

Cleans up all producer (g3d/geom) code so no longer has an viewer
specific knowledge - Paint() methods replaced with
GetBuffer3D/FillBuffer3D methods which complete requested sections of
the buffer.

All viewer specific code now sits on the viewer implementation side of
TVirtualViewer3D. Added a TViewer3DPad class for performing the 3D draws
into pad. In future this should be merged with TView/TView3D possibly.

TBuffer3D is now stripped of functional code (aside from memory
management) and various viewer passback options there previously.
Enforced one way passing a const & to viewer.

Buffers (various types) are held as single static inside producer
function e.g. TGeoShape::GetBuffer3D (c.f. single generic buffer type
fetched from pad previously).

For g3d and geom shapes the top level geometry painter (TNode /
TGeoPainter) controlls painting process, requesting shapes to fill
buffer and passing to 3D viewer.

Exceptions are g3d's TPolyLine3D, TPolyMarker3D & TMarker3DBox. These
are 'standalone' shapes - no controlling 'painter' object. They still
implement Paint(), fill buffer and add to viewer directly.

3D viewer still held / created by pad - and pad has it's own viewer
object (TViewer3DPad).

NOTE:

1. Current scheme supports one 3D viewer only - pad, x3d or OpenGL. This
means that pad goes blank when x3d/OGL is spawned, and is updated again
when it is closed. To be revisited - need to support multiple viewers,
of multiple types - which implies explicit naming or pad controlling
enumeration.

2. OGL viewer now responds correct to modifications in pad, without
having to be reinvoked (as previously). x3d is still decoupled (as
previously) so does not rebuild - too difficult to get working.

Revision 11204 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Feb 28 20:52:43 2005 UTC (9 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33605 byte(s)
Diff to previous 11076
In calls to SavePrimitive replace comments in arguments such as
   */*option*/
by
   * /*option*/

Revision 11076 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Feb 9 13:30:27 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33604 byte(s)
Diff to previous 11031
From Mihaela Gheata;

- divisions supporting SavePrimitive
- main SavePrimitive loop implemented at level of TGeoVolume
   - user interface: TGeoVolume::SaveAs(const char *filename); having *MENU*
   - can be called from the browser for any volume:
     the resulting file will have a geometry starting with the selected
     volume as TOP.
   - should work with TPad::SavePrimitive(ofstream out, Option_t *option)
   - not tested however

From Andrei:
I did some changes in TGeoCombiTrans to support a shared rotation matrix.
I also fixed a bug in TGeoTube::GetMakeRuntimeShape (and tube segment)
that produced wrong shapes in case one of the initial parameters was negative.

Revision 11031 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 3 16:58:57 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33594 byte(s)
Diff to previous 11028
Fix from Andrei to fix a compilation problem on Solaris.

Revision 11028 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Feb 3 11:40:39 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 33586 byte(s)
Diff to previous 11002
From Andrei Gheata:
The diffs for the changes from Mihaela. They implement the SavePrimitive method for:
- all shapes
- materials, mixtures and media
- matrices
- TGeoVolume - just a first version

What is missing:
Divisions + manager metod to save:
- all geometry
- just the branch corresponding to one volume

The differences compared to g2root are that:
- when saving just a a branch just materials/media/matrices for that branch are created (module encapsulation)
- instead of creating objects with numerical arguments, the coresponding variables are defined and used.
 e.g. instead of :
   new TGeoBBox("name", 10.,20.,30); the generated code is:

   dx = 10.;
   dy = 20.;
   dz = 30.;
   pShape = new TGeoBBox("name", dx,dy,dz);


The diffs contain also 2 shapes with boundary-safe algorithms: TGeoPara and TGeoTrap

Revision 11002 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 28 10:01:04 2005 UTC (9 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 32375 byte(s)
Diff to previous 10699
From Andrei:
I attached the first big chunk of changes.
The methods changed are mostly the implementations of  TGeoShape::DistFromInside/DistFromOutside for some specific shapes. The new algorithms are boundary error tolerant, giving the correct distance even if the point is on the wrong side of the boundary. The calling sequence remains un-changed. The affected shapes for now are: box, trd1, trd2, tube, tube seg, cone, cone seg, pcon, pgon. I will complete few remaining for the full description of ALICE next week (para + arb8 family: trap,gtra).

Revision 10699 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 7 14:24:57 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31997 byte(s)
Diff to previous 10621
From Andrei Gheata:
I attached some diffs as proposed by Matevz and Alja which made their
own GL-based TGeo viewer in GLED. The changes are just structural:

 - lines/polygons filling splitted out from TGeoShape::Paint() as
TGeoShape::SetLinesAndPols(TBuffer3D *buff).
 - Shapes can create and fill a new TBuffer3D with the new method:
TGeoShape::Make3DBuffer() in the local frame

They need this since they have their own geometry tree parsing algorithm
(not the same as in TGeoPainter::PaintNode()) with another
structure/matrix handling system. Basically they just need one buffer
per volume, reusing them since they attach them to TGeoVolume as user
data. Not quite bad idea: they create only once a limited number of
buffers that they re-use without re-filling...

Revision 10621 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Nov 25 12:10:01 2004 UTC (10 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31089 byte(s)
Diff to previous 10498
From Andrei and Mihaela Gheata:
New shape TGeoHype from Mihaela.
This patch contains all modifications in TGeo, additions in
g2root to adjust format of MakeHype(...) and a fix in TBuffer3D.cxx
(Paint("SAME")). Also Mihaela modified geodemo.C

 The modifications (made by Timur probably) TGeoTube::Paint() for making
GL-like tubes are wrong so I temporary disabled them. The global matrix
filled to GL is wrongly retreived (+ it may come from other sources in
case of overlap drawing).

Revision 10498 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 8 09:56:24 2004 UTC (10 years, 2 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31368 byte(s)
Diff to previous 10313
From Andrei Gheata:
Change names of TGeo functions with confusing names
DistToIn    ->   DistFromOutside
DistToOut ->   DistFromInside
It should be much less confusing since it specifies where the starting
point is supposed to be.

Revision 10313 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Oct 15 15:30:50 2004 UTC (10 years, 3 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31342 byte(s)
Diff to previous 10047
From Andrei Gheata;
- cleanup of all obsolete methods related to the old 3D visualization in
TGeoPainter
- fix in color settings for TGeoPhysicalNode - minor, but touches most
shape.cxx files
- improved visible node counting - it is now automatic and verbose. By
default the visible depth is automatized for 10000 nodes (as before) but
calling gGeoManager->SetVisLevel(n) disables this and switches to old
style. It can be turned on to automatic state by calling
gGeoManager->SetMaxVisNodes(n) (which also updates the current view).
Limitation : nodes are not recount after setting volumes or branches
invisible unless a new Draw() is called.

Revision 10047 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 14 15:56:15 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31378 byte(s)
Diff to previous 10043
Minor change in the color algorithm such that the previous behaviour of X3D
is not affected.

Revision 10043 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Sep 14 15:15:46 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31351 byte(s)
Diff to previous 9928
Modify all the 3-d primitives to set the true color in the new data member
of TBuffer3D:;fColor. This color is now used directly by the GL viewer.

Revision 9928 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Sep 6 16:42:33 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31346 byte(s)
Diff to previous 9855
From Andrei
-SetBit(kIsReflection) in TGeoShape::paint when the object has a reflection matrix.
-Exploded view works again.
-Set TGeoVolume instead of TGeoShape when filling TBuffer3D
-Modify rootgeom.C ("R" problem). TGeoArb8 allowing definition of vertices in any order.

Revision 9855 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 30 07:04:39 2004 UTC (10 years, 4 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31290 byte(s)
Diff to previous 9698
From Andrei Gheata & B.Nilsen
New set of getters in TGeoXtru.
Improved error messages in the other classes.

Revision 9698 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 9 16:38:38 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31081 byte(s)
Diff to previous 9693
Fix compilation problem in TGeoXtru::Paint with VC++6

Revision 9693 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 9 15:23:40 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31168 byte(s)
Diff to previous 9665
From Timur Pocheptsov
Changes to work with the new 3-D viewers

Revision 9665 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Aug 3 16:01:19 2004 UTC (10 years, 5 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 31068 byte(s)
Diff to previous 9311
From Olivier, Timur Pocheptsov , Andrei Gheata and Rene
Mega patch to introduce the new 3-d interface (to be described later).
The new interface has been tested with both X3D and OpenGL under Linux.
Being tested under Windows.
Note that several changes are expected in these classes (OpenGL in particular)
in the coming days.

Revision 9311 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jun 25 11:59:56 2004 UTC (10 years, 7 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 28700 byte(s)
Diff to previous 8652
From Andrei Gheata:
- TGeoShape::PaintNext() removed from all shapes (for the new
visualization system to be introduced shortly).
The new mechanism is implemented in
TGeoPainter::PaintShape (uses gGeoManager as we discussed), but it also
affect some shapes (TGeoCompositeShape at least)


- New  files: TGeoElement.h /.cxx representing a chemical element. This
is very helpful for the implementation of TFluka. Materials/mixtures can
be now built also based on this new class. An element table is kept
always transient in memory.

- Mihaela implemented the TGeoParaboloid shape: new files:
TGeoParaboloid.h/cxx.

Revision 8652 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 22 14:29:30 2004 UTC (10 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 29127 byte(s)
Diff to previous 8648
Remove unused variable "endcap" in TGeoXtru::Safety

Revision 8648 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Apr 22 14:07:15 2004 UTC (10 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 29201 byte(s)
Diff to previous 8565
From Andrei Gheata:
- TGeoXtru navigation now fully implemented by Mihaela
- Improvements in the ray-tracing algorithm
- Added TGeoShape::GetNmeshVertices() to be used by visualization and by
the overlap checker in case of composite shapes (currently the checker
does not work with composites)
- I have created a new demo macro (see /tutorials/geodemo.C in the
attachment) to replace /tutorials/geoshapes.C. Functionality:

  - all previous functionality of geoshapes.C
  - new shapes examples added: TGeoTorus, TGeoXtru, TGeoCompositeShape
  - can call rootgeom.C
  - ray-tracing can be switched on/off
  - comments can be switched on/off
  - demonstrates alignment

Revision 8565 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 13 07:04:42 2004 UTC (10 years, 9 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 22660 byte(s)
Diff to previous 8401
From Andrei Gheata:

- All shapes.cxx - added shape name in InspectShape() + some corrections
in error messages (Bjorn requirement)
- TGeoAtt.cxx - activity flag added (not yet taken into account by tracking)
- TGeoMaterial/Medium - added Cerenkov properties by Andreas (for FLUKA)
- TGeoVolume.h, TGeoManager.k - added *TOGGLE* 's
- TGeoPhysicalNode - possibility to align a physical node. One can
define a physical node according a path, then change its local
transformation matrix OR shape - the corresponding branch is decoupled
from the logical tree and a new trackable branch is created. A
post-alignment check for overlaps can be perfomed for the aligned node.

Revision 8401 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Mar 15 12:11:51 2004 UTC (10 years, 10 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 22619 byte(s)
Diff to previous 8163
From Andrei Gheata
TGeo: - from Mihaela: TGeoXtru - DistToOut implemented
 - modification in TGeoManager::Import() to preserve gFile (I saw this
was needed running example02 of the VMC - when geometry was retreived
from file)

Revision 8163 - (view) (download) (as text) (annotate) - [select for diffs]
Added Mon Feb 9 14:03:34 2004 UTC (10 years, 11 months ago) by brun
Original Path: trunk/geom/src/TGeoXtru.cxx
File length: 15392 byte(s)
From Andrei Gheata:
I have attached the new files and all modifications done by Mihaela to
include the new shape TGeoXtru representing the old TXTRU shape.
Currently she implemented the Contains() method. The shape can be also
visualized in the pad or x3d (see atached macro). The only limitation in
x3d is that the end-polygons are not decomposed into convex polygons, so
in case the section of the TGeoXtru is concave the drawing is not well
handled.
  I also included a minor modification in TGeoManager.h needed by FLUKA
(that now can perform tracking and completers gAlice->Run() with TGeo!!!)

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