Files
geant4/source/geometry/solids/BREPS/History
T
2016-06-08 16:10:37 +02:00

515 lines
17 KiB
Plaintext

$Id: History,v 1.25 2001/06/15 11:59:35 gcosmo Exp $
----------------------------------------------------------------------------
=========================================================
Geant4 - an Object-Oriented Toolkit for Simulation in HEP
=========================================================
History file for geometry/solids/BREPS
--------------------------------------
This file should be used by G4 developers and category coordinators
to briefly summarize all major modifications introduced in the code
and keep track of all category-tags.
It DOES NOT substitute the CVS log-message one should put at every
committal in the CVS repository !
----------------------------------------------------------
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
15/06/2001 : G. Cosmo breps-V03-01-02
- Fixes to allow -ansi compilation on Linux-g++, gcc-2.95-2 compiler:
o G4Ray.cc: changed usage of hypot(x,y) to sqrt(x*x+y*y).
o G4Hyperbola[.icc.cc]: changed usage of atanh(x) to 0.5*log((1+x)/(1-x)).
- G4ProjectedSurface.cc: corrected initialisation of temporary G4Point3D
objects, to use the correct CLHEP constructor.
27/04/2001 : G. Cosmo breps-V03-01-01
- G4BSplineCurve.cc: fixed compilation warnings on HP-UX, concerning
potential uninitialised vector elements.
20/04/2001 : G. Cosmo breps-V03-01-00
- Migration to STL vector:
o G4Assembly: migrated G4PlacedVector typedef.
o G4PlacementVector: migrated G4PlacementVector typedef.
o G4Point3DVector: migrated G4Point3DVector typedef.
o G4CurveVector: migrated G4CurveVector typedef.
o G4BSplineCurve: migrated G4doubleVector typedef and removed
redefinition of G4Point3DVector.
05/01/2001 : G. Cosmo breps-V03-00-00
- Removed useless inclusion of G4OrderedTable.hh from G4Assembly.hh and
G4STEPEntity.hh.
20/11/2000 : G. Cosmo breps-V02-00-03
- Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options:
o commented out variables declared and not used.
o fixed declaration of variables used before being initialised.
o fixed order of initialisation of member data in constructors.
o fixed usage of unsigned-int (size_t) for array indeces.
10/11/2000 : G. Cosmo breps-V02-00-02
- Still minor QA fixes in G4Axis2Placement3D, G4BREPSolid, G4FConicalSurface.
- Fix in G4Ellipse::Project() for computation of u as function of atan2().
- Fix unit test STEPTest.cc.
09/11/2000 : G. Cosmo breps-V02-00-01
- QA code revision and cleanup (+fixes from CodeWizard filtering):
o Added (private) declarations of copy constructor and assignment operator
where needed: all surfaces, BREP solids, G4CompositeCurve G4OsloMatrix,
G4PlacedSolid, G4SurfaceList.
o Defined/fixed copy contructor and assignment operator to curves/conics,
G4Axis2Placement3D. Added equality check on operator= where needed.
o Added "const" qualifier to accessor methods, wherever needed.
o Made destructor "virtual" wherever missing and added empty destructor
to all BREP solids.
o Changed virtual functions to non-inline wherever's the case.
o Moved "public" data members to protected or private and defined
accessors methods for them: G4BREPSolid, G4BezierSurface, G4ConvexHull,
G4OsloMatrix, G4Surface, G4SurfaceBoundary, G4SurfaceList, G4UVHit.
Changed classes involved to invoke accessors.
o Changed return value to be "const" pointer to functions:
- G4BREPSolid::GetPlace()
- G4BREPSolid::GetBBox()
o G4Assembly: fix in destructor, added call to clearAndDestroy().
o G4BREPSolid: changed method NumberOfFaces() to GetNumberOfFaces().
o G4Curve: fixed obsolete workaround for XlC compiler.
o G4OsloMatrix: changed internal class "Matrix" to "G4PointMatrix" and
updated classes making use of it.
o G4ThreeMat: removed unused overloaded operators =, +, -, +=, -=, *.
o Added "inline" qualifier to methods' declarations where missing.
o Added more description to BREP solid classes for the Software Reference
Manual.
28/08/2000 : G. Cosmo breps-V02-00-00
- General reorganisation and code cleanup. No functional changes.
Created .icc files and moved inline methods implementation therein.
- Added comments to headers for the Software Reference Manual.
- Fixes for virtual destructors, inline virtual functions and operators,
const methods and arguments.
- Updated reference outputs for unit tests (tests run on DEC-cxx with
ObjectSpace STL). Random generation changed since release 2.0.
13/05/2000 : G. Cosmo breps-V01-01-00
- Added protection to arguments fed to atan2(x,y) in G4Ellipse::Project().
11/04/2000 : J. Allison
- Removed implementations of G4VisExtent GetExtent() in most sub-classes
of G4VSolid (a default implementation exists in G4VSolid).
Files changed: G4BREPSolid[.hh.cc].
- All implementations of DescribeYourselfTo (G4VGraphicsScene& scene) const
now correctly written: scene.AddThis(*this).
Files changed: G4BREPSolidOpenPCone.cc.
25/02/2000 : G. Cosmo breps-V01-00-02
G4BSplineSurface[.hh.cc]
- fixed dynamic memory allocation problem with creation of temporary
hits and manipulation of knots.
- rationalized dependencies over G4UVHit, G4ControlPoints and
G4BoundingBox3D classes.
- added initialization of pointers in constructor where missing.
G4BSplineSurfaceWithKnots[.hh.cc]
- created dummy classes.
G4ConicalSurface.cc
- Modified diagnostic message.
G4PointRat.hh
- Removed useless inclusion of G4UVHit.hh.
G4UVHit.hh
- Added missing initialization of data-members where needed.
- Initialized 'next' pointer to zero in costructor.
test/stepfiles
- G4msgc_barrel_solid.stp was corrupted. Fixed.
- Enhanced PERL script correct.pl to parse more complex STEP files.
14/02/2000 : G. Cosmo breps-V01-00-01
G4BSplineSurface.cc - fixed warnings on HP-aCC
- removed cast of G4Surface* to G4SurfaceList* (!) in function
FinalIntersection().
- replaced wherever needed explicit cast to G4PointRat from G4Point3D
and viceversa, by using appropriate access functions instead.
G4SurfaceList.cc
- initialised 'next' and 'temp' pointers in default constructor.
Changed 'char*' to 'const char*' as return-type for methods returning the
concrete type name; removed temporary cast to char*. Updated files:
- G4ThreeMat.hh, G4Surface.hh, G4SphericalSurface.hh,
G4RectangularTrimmedSurface.hh, G4FPlane.hh, G4FCylindricalSurface.hh,
G4FConicalSurface.hh, G4CylindricalSurface.hh, G4ConicalSurface.hh,
G4Curve.hh, G4BSplineSurface[.hh.cc].
21/01/2000 : G. Cosmo breps-V01-00-00
Decoupling from NIST STEP reader completed:
- G4RectangularTrimmedSurface.cc: removed inclusion of
SdaiCONFIG_CONTROL_DESIGN.h
- G4PointRat[.hh.cc]: removed unused function
CopyRationalValue(const RealNode&).
- G4Conic[.hh.cc]: removed constructor G4Conic(STEPentity&).
- G4BREPSolid[.hh.cc]: removed unused function CreateSTEPData() and
any references to STEP/instmgr.h.
- G4Parabola.hh: removed declared and NOT defined constructors
G4Parabola(STEPentity&) and G4Parabola(STEPentity&, InstMgr&).
- G4Hyperbola.hh: removed declared and NOT defined constructors
G4Hyperbola(STEPentity&) and G4Hyperbola(STEPentity&, InstMgr&).
- G4Ellipse.hh: removed declared and NOT defined constructors
G4Ellipse(STEPentity&) and G4Ellipse(STEPentity&, InstMgr&).
- G4ControlPoints.hh: removed declared and NOT defined constructor
G4ControlPoints(STEaggregate&, const int).
Temporary fixes for porting on SUN-CC 5.0 compiler. Casts to char*:
- G4ThreeMat.hh, G4Surface.hh, G4SphericalSurface.hh,
G4RectangularTrimmedSurface.hh, G4FPlane.hh, G4FCylindricalSurface.hh,
G4FConicalSurface.hh, G4CylindricalSurface.hh, G4ConicalSurface.hh.
08/11/1999 : G. Cosmo breps-V00-01-00
First step for decoupling BREPS from NIST STEP reader:
- Moved G4NISTStepReader[.hh.cc] and G4StepFileReader[.hh] to
STEPinterface.
- Removed unused references to STEP in G4KnotVector and G4PointRat.
>> Still remaining: reference to STEPaggregate in G4PointRat;
reference to instMgr in G4BREPSolid.cc.
10/06/1999 : J. Apostolakis breps-01-00-04
G4FPlane.cc:
Rays and planes are now considered parallel if dot product with plane's
normal less than perMillion rather than perThousand (in the Intersect method).
28/05/1999 : J. Apostolakis breps-01-00-03a
Tagged.
28/05/1999 : S. Giani
G4BREPSolidPolyhedra.cc
DistanceToOut: Introduced treatment for ray leaving from a boundary.
27/05/1999 : J. Apostolakis breps-01-00-03
Cosmetic change to G4FCylindricalSurface.cc
25/05/1999 : S. Giani
G4BREPSolidPolyhedra.cc(1.8)
Modified comparison of square distance to use the squared tolerance
(rather than the tolerance). And used <=, instead of <.
G4FPlane.cc(1.5):
Corrected the use of the tolerance in the intersect function
G4SurfaceBoundary.cc(1.4): Return 1 by convention if on surface.
25/05/1999 : S. Magni
G4BREPSolidPCone.cc v1.12:
New version of Inside function,
that uses first intersection & dot prod with normal
(instead of counting the number of distinct intersections)
21/05/1999 : J. Apostolakis breps-01-00-02
Tagged.
21/05/1999 : S. Magni
G4BREPSolidPCone: Further minor corrections several methods
- protecting HowNear with fabs when cheching against tolearance ..
21/05/1999 : J. Apostolakis
G4BSplineSurface.hh,
G4PointRat.hh,
G4BREPSolid.cc,
G4ProjectedSurface.cc
G4Surface.cc
G4BREPSolid.cc
- changed INFINITY to kInfinity
20/05/1999 : S. Giani
G4Line.cc:
- A preliminary fix to avoid 0-lenght segments has been introduced.
19/05/1999 : S. Magni
G4BREPSolidPCone: Corrected several methods
- constructor to take into account the changed G4FPlane
- Inside
- SurfaceNormal
- DistanceToIn( p, v)
- DistanceToOut( p, v)
for
corrected behaviour of HowNear, which is for finite surfaces.
...
G4FCylindricalSurface,
G4FConicalSurface.cc:
Corrected the following methods:
- Intersect
- HowNear
12/05/1999 : S.Giani
G4BREPSolidPolyhedra Corrections by S.Giani:
- Xaxis now corresponds to phi=0
- partial angle = phiTotal / Nsides
- end planes exact boundary calculation for phiTotal < 2pi
(also including case with RMIN=RMAX)
- Xaxis now properly rotated to compute correct scope of vertixes
- corrected surface orientation for outer faces parallel to Z
- completed explicit setting of the orientation for all faces
- some comparison between doubles avoided by using tolerances.
G4FPlane corrections
- The constructor using iVec now properly stores both the internal
and external boundaries in the bounds vector.
- Proper initialization of sameSense in both the constructors.
- Addition of third argument (sense) in the second constructor
to ensure consistent setting of the normal in all the client code.
27/01/1999 : L. Broglia ( new tag : breps-01-00-01 )
- functions Inside, DistanceToIn and DistanceToOut
are re-written to satisfy requirements
- these functions are identical into G4BREPSolid
and into G4BREPSolidPCone & Polyhedra because
there are general (see ToDo.txt)
- corrections of G4BREPSolid::CalculExtent by
Stefano Magni
14/01/1999 : L. Broglia
- modification of the IntersectRay2D function
before : void IntersectRay2D(const G4Ray& ray,
G4CurveRayIntersection& is)
now : G4int IntersectRay2D(const G4Ray& ray)
return the number of intersections into the curve boundaries,
------------------------------------------------------
December, 1998 : L. Broglia
- bugs fixed in order to run correctly test05
for the first product version
------------------------------------------------------
November 11, 1998 : L. Broglia
- correct Inside function for G4SphericalSurface
- create (but now is empty) Inside function for
G4CylindricalSurface
- new implementation into G4CylindricalSurface::Intersect
November 04, 1998 L. Broglia geometry-00-03-04
- Cleaned up trivial errors on DEC (undefined loop variables).
- Removed old CurveTest, now separate in G4BREPSolidxxxTest files
- Changing the name of the output files. All the tests run correctly with
Linux, Sun, HP and DEC compilers
------------------------------------------------------------------------------
date: 1998/10/30 22:20:16; author: japost; state: Exp; lines: +11 -5
Changed
< HitDistance = closest_point.distance2(RayStart);
to
> HitDistance = closest_point.distance2((G4Point3D &)RayStart);
because
distance2( HepPoint3D &p )
in CLHEP/Point3D
should be
distance2( const HepPoint3D &p )
as it is const!
October 29, 1998 L. Broglia
- Changed all the occurences of G4Placement into G4Axis2Placement3D.
- Modified G4FPlane - new implementation, inheriting from G4Axis2Placement3D
- Create in G4PointRat INFINITY which is a double and PINFINITY which is a
HepVector3D
- Corrected a bug into G4BREPSolidCylinder
- Created a test for the curves
- Created tests for all BREP solids.
For the moment, only test for the sphere and test for the torus
run correctly
- Created a test which read a STEP file and created the BREP solid
October 20, 1998 L. Broglia Breps-lionel-tag1-point3D
- Changed all the occurences of G4Point3d, G4Point2d into G4Point3D, which
is a HepPoint3D.
- Modified G4PointRat - new implementation, inheriting from G4Point3D.
- Changed ThreeVec into Vector3D or Point3D, depending on its use.
------------------------------------------------------------------------------
October 13, 1998 J. Apostolakis geometry-00-03-01
- Tag created.
October 12, 1998 J. Apostolakis geometry-00-03-01
- Small (cosmetic) changes to aid in compilation on Sun, HP.
Renamed local variables, whose name was the same as a class variable or method.
July 9, 1998: J. Apostolakis breps-00-01-02
- Fixes to G4Assembly, to aid STEPinterface. (Jari).
- Fix to G4Placement equality operator. (J.A.)
Compiles on AIX.
July 8, 1998: J. Apostolakis breps-00-01-01
- Tagged.
July 5, 1998: P. Urban
- Fixes to compile on AIX-AFS.
July 2, 1998: J. Apostolakis (for P. Urban)
- All of Peter Urban's development of Curves is added from
the head of the alpha repository.
July 1, 1998: J. Apostolakis (pre-beta01-01)
- Geant4beta created from alpha07 tag (which was on a branch).
-----------------------------------------------------------------
These fixes were added to alpha07 - which was on a branch from
the head
June 12, 1998: J. Apostolakis (for J. Sulkimo)
- Correction to constructor of BREPSolidPCone.
(An out-of-date version was mistakenly included in fix to
Conical Surface).
June 10, 1998: J. Apostolakis (for J. Sulkimo)
- Bug fixes to Conical Surface (FConical and Conical) to get
PCone to work.
------------------------------------------------------------------
June 8, 1998: J. Apostolakis breps-00-06-01
- Tagged what seems to be the last version before the merge
of Peter Urban's code. Found this by using day before merge,
May 27th.
April 28, 1998: G. Cosmo, breps-00-05-07
- Cleaned up trivial warnings on DEC (Extraneous semicolons).
- Removed -cfront option from GNUmakefile for DEC. -cfront
overrides ANSI standard rules in cxx-6.0.
April 24, 1998: J. Sulkimo, breps-00-05-06
- fixed scope bugs in for loops
April 24, 1998: J. Sulkimo, breps-00-05-05-assembly
- G4Assembly.cc bug fixes in STEP file interaction & placed solids
creation. Heavy changes in method G4Assembly::CopySTEPData
April 24, 1998: J. Sulkimo, breps-00-05-05-point3d
- rerenamed G4Point3d.hh to G4Point3d.h to avoid file name conflict on
NT
April 23, 1998: G. Cosmo
- Added missing canonical implementation of operator== in G4PlacedSolid.hh
April 22, 1998: J. Sulkimo, breps-00-05-03-assembly (recorded by J.Apostolakis)
- Bug Fixes to G4Assembly, requiring changes to the files:
include/G4Assembly.hh
include/G4PlacedSolid.hh
include/G4StepFileReader.hh
src/G4Assembly.cc
src/G4BREPSolid.cc
src/G4CurveBoundary.cc
src/G4PlacedSolid.cc
src/G4Surface.cc
March 18, 1998: P. Urban, breps-00-05-02
- Names of lots of member functions changed:
BoxOrNo to IsBox
ConvexOrConcave to IsConvex
+ removing _ and capitalization.
Cleanup of the code will continue later.
March 18, 1998: P. Urban, breps-00-05-01d
- Some member functions were removed. Renamed G4B_SplineCurve.
March 18, 1998: P. Urban, breps-00-05-01c
- the following classes have been renamed:
from to
G4B_SplineCurve G4BSplineCurve
G4B_SplineCurve_With_Knots G4BSplineCurveWithKnots
G4B_SplineSurface G4BSplineSurface
G4Conic G4ConicalSurface
G4Cylinder G4CylindricalSurface
G4EllipticCurve G4Ellipse
G4FConic G4FConicalSurface
G4FCylinder G4FCylindricalSurface
G4HyperbolicCurve G4Hyperbola
G4ParabolicCurve G4Parabola
G4PlaneSurface G4FPlane
G4Rational_B_SplineCurve G4RationalBSplineCurve
G4SpheShell G4SphericalSurface
plane G4Plane
uv_hit G4UVHit
March 18, 1998: P. Urban, breps-00-05-01b
- some class names will be changed; renaming the files (but not the classes!)
was done.
March 18, 1998: P. Urban, breps-00-05-01a
- *.h files renamed to *.hh.
March 18, 1998: P. Urban, breps-00-05-01
- Modifications made before alpha05 which are not part of alpha05
for some reason.