486 lines
16 KiB
Plaintext
486 lines
16 KiB
Plaintext
$Id: History,v 1.20 2000/11/20 17:54:36 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 *
|
|
----------------------------------------------------------
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|