$Id: History,v 1.15 2000/05/31 14:44:14 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 * ---------------------------------------------------------- 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.