# Category geomsolids History

See `CONTRIBUTING.rst` for details of **required** info/format for each entry,
which **must** added in reverse chronological order (newest at the top).
It must **not** be used as a substitute for writing good git commit messages!

-------------------------------------------------------------------------------

## 2023-05-10 Gabriele Cosmo (geomsolids-V11-01-00)
- Applied clang-tidy fixes (readability, modernization, performance, ...).

## 2021-12-10 Ben Morgan (geomsolids-V11-00-00)
- Change to new Markdown History format

---

# History entries prior to 11.0

March 30, 2021 B.Morgan                 - geomsolids-V10-07-00
- Migrate sources.cmake to modular build API

December 10, 2019 B.Morgan              - geomsolids-V10-06-00
- Cleanup CMake build, removing obsolete granular library options and
  explicit include_directories.

June 3, 2019 J.Apostolakis              - geomsolids-V10-05-00
- Change CMakeLists.txt in test directories to allow optional use
  with integrate testing or via one-target builds using G4TARGET

May, 24th, 2017,  G.Cosmo               -  geomsolids-V10-03-00
- Renamed ambiguous name Extent() in all solids and G4U* wrappers to
  BoundingLimits(). Change required in order to avoid signature conflict
  with VecGeom in G4U* wrappers.
  Requires tag geommng-V10-03-16.
- Includes tags: geom-specific-V10-03-06, geom-csg-V10-03-19,
  geom-bool-V10-03-04 and geom-solids-tests-V10-03-01.

October, 7th, 2015,  G.Cosmo            -  geomsolids-V10-01-00
- Includes tags: geom-bool-V10-01-02, geom-csg-V10-01-08 and
  geom-specific-V10-01-11.
- Protected compilation of USolid wrappers with G4GEOM_USE_USOLIDS flag.

October, 29th, 2014,  G.Cosmo           -  geomsolids-V10-00-02
- Moved usolids module to source/externals.

September, 17th, 2014,  G.Cosmo         -  geomsolids-V10-00-01
- Includes tags on top of geomsolids-V10-00-00: geom-usolids-V10-00-16,
  geom-csg-V10-00-06, geom-bool-V10-00-06 and geom-specific-V10-00-11.
- Added shapes from the USolids library: UExtrudedSolid, UGenericTrap and
  UTrap with related wrappers.
- Updated unit tests for compilation errors and warnings...

September, 1st, 2014,  G.Cosmo          -  geomsolids-V10-00-00
- Includes tags on top of geant4-10-00-ref-07: geom-usolids-V10-00-14,
  geom-bool-V10-00-05, geom-csg-V10-00-04 and geom-specific-V10-00-10.
- Fixed use of polyhedron pointer, to avoid race condition in MT
  when parameterised volumes are visualised.

October, 29th, 2013,  G.Cosmo           -  geomsolids-V09-06-01
- Includes tags on top of geant4-09-06-ref-10: geom-specific-V09-06-22.
- Added new 'usolids' module, including classes imported from the AIDA
  Unified Solids Library (see https://aidasoft.web.cern.ch/USolids).

December, 14th, 2012,   G.Cosmo         -  geomsolids-V09-06-00
- Includes tags: geom-bool-V09-06-01, geom-csg-V09-06-01,
                 geom-specific-V09-06-01, geom-solids-tests-V09-06-00.
- Archived BREPS module.
- Restored SVN id headers.

June, 12th, 2012,   G.Cosmo             -  geomsolids-V09-05-00
- Includes tags: geom-bool-V09-05-02, geom-csg-V09-05-04, breps-V09-05-01,
                 geom-specific-V09-05-06.
- Explicitly use inclusion of headers for system of units and physical
  constants, in plan to remove implicit inclusion from globals.hh.

October, 20th, 2006,   G.Cosmo             -  geomsolids-V08-01-00
- Includes tags: geom-bool-V08-01-00, breps-V08-01-00, geom-csg-V08-01-00,
                 geom-specific-V08-01-00, geom-solids-tests-V08-01-00.
- Implemented specific computation of surface area for CSG solids and
  included caching mechanism for the computed value.
- Requires tag "geommng-V08-01-04".

November, 9th, 2005,   G.Cosmo             -  geomsolids-V07-01-00
- Includes tags: geom-bool-V07-01-01, breps-V07-01-01, geom-csg-V07-01-04,
                 geom-specific-V07-01-07.
- Implemented changes for support of CLHEP-2.0.X.
- Added fake default constructor for all concrete solids, base classes
  and relevant utility classes for handling of direct object persistency.
- Implemented migration to <sstream> from deprecated <strstream> for
  BREPS and unit tests Fred and SBT.

April, 4th, 2005,   G.Cosmo                -  geomsolids-V07-00-00
- Includes tags:
  breps-V07-00-01, geom-bool-V07-00-02, geom-csg-V07-00-02
  and geom-specific-V07-00-03.
- Implemented Get/CreatePolyhedron() when missing.
- Some code cleanup.
- Requires tag "greps-V07-00-02".

December, 2nd, 2004   G. Cosmo             -  geomsolids-V06-02-01
- Implemented migration to <cmath> for standard mathematical functions.

September, 22nd, 2004   G.Cosmo            -  geomsolids-V06-02-00
- Includes tags:
  geom-csg-V06-02-04, geom-bool-V06-02-00, geom-specific-V06-02-01,
  breps-V06-02-01.
  Requires tag "geommng-V06-02-01".

October, 28th, 2003   G.Cosmo              -  geomsolids-V05-02-01
- Includes tags:
  geom-specific-V05-02-03, geom-csg-V05-02-02, geom-bool-V05-02-02,
  breps-V05-02-01.

September, 30th, 2003   G.Cosmo            -  geomsolids-V05-02-00
- Archived solids/STEP and solids/STEPinterface modules.
  Modified GNUmakefiles to cope with this.
  Include tags: breps-V05-02-00, geom-bool-V05-02-00, geom-csg-V05-02-00,
                geom-specific-V05-02-01,

May   28th, 2003   G. Cosmo                -  geomsolids-V05-01-00
- Modified GNUmakefile to make compilation of STEP and STEPinterface
  modules optional. By default compilation will not be triggered, it
  is now required to set the variable G4LIB_BUILD_STEP for it.
  Coworks with tag "config-V05-01-01" for geant4/config and with
  "geometry-gmk-V05-01-00" for geant4/source/geometry/GNUmakefile.

Oct   28th, 2002   G. Cosmo                -  geomsolids-V04-01-00
- Collects tags breps-V04-01-01, geom-bool-V04-01-00, geom-csg-V04-01-01,
  geom-specific-V04-01-00.
- Coworks with tag geommng-V04-01-03 of geometry/management, and based
  on reference tag "geant4-04-01-ref-03". Includes streaming mechanism
  for solids.

Apr   20th, 2001   G. Cosmo                -  geomsolids-V03-01-00
- Collects tags breps-V03-01-00, geom-solids-csg-V03-01-01,
  stepinterface-V03-01-00, geom-solids-specific-V03-01-00,
  geom-solid-bool-V03-00-03 and the latest fixes to STEP.
- Added X11RayTracer tool (E.Medernach) for unit testing and latest
  updates to SBT and Fred test suites.

Nov   13th, 2000   G. Cosmo                -  geomsolids-V02-00-01

- Collects tags breps-V02-00-02, geom-solids-csg-V02-00-09,
  stepinterface-V02-00-01 and geom-solids-specific-V02-00-03
  on top of the previous tag.

Nov   09th, 2000   G. Cosmo                -  geomsolids-V02-00-00

- General QA code review. See History file within each subdomain.
  Includes tags: geom-solids-csg-V02-00-08, stepinterface-V02-00-00,
                 breps-V02-00-01, geom-solids-specific-V02-00-02,
		 geom-solid-bool-V02-00-01.
- Included recent developments in unit tests SBT and Fred. (E.Medernach)

Apr   27th, 2000   G. Cosmo

- Updated comments for the Software Reference Manual in "Boolean", added
  CVS and standard G4 headers where missing.

Apr   18th, 2000   D. Williams

- Minor fixes and cosmectics in "specific" solids. Removed dependency
  over the CSG module.
- Updated SBT test to cope with new shapes in "specific".

Apr   11th, 2000   J. Allison

- Removed implementations of GetExtent in most sub-classes of G4VSolid (a
  default implementation exists in G4VSolid).
- All implementations of DescribeYourselfTo (G4VGraphicsScene& scene) const
  now correctly written: scene.AddThis(*this).
- CreatePolyhedron implemented for BooleanSolids.
- G4DisplacedSolid: reversed implementation of GetFrameRotation and
  GetObjectRotation, removing inappropriate invertion.
- G4DisplacedSolid::GetConstituentMovedSolid() made const.

Apr    5th, 2000   G. Cosmo                -  geomsolids-V01-01-00

- Restructured CSG directory:
  o moved all shapes which are non-pure CSG to solids/specific.
    See related History files for more details.
  o moved unit-tests to appropriate test directories.
  o extracted tests "SBT" and "Fred" and placed one level up in
    solids/tests (new directory).
- Fixes to G4Tubes.cc and G4Hype[.hh.cc].
- Added new shape in solids/specific: G4EllipticalTube.
- Organised class description comments for the Software Reference Manual
  in CSG and specific headers. Added CVS headers to files in specific.

Jan   19th, 2000   G. Cosmo                -  geomsolids-V01-00-00

- Syncronized HEAD versioning of files after ISO-C++ migration
  (essentially CVS headers changes).
- CSG: fixed bug in DistanceToIn(p,v). (V.Grichine)
  Modified files: G4Trap.cc and testG4Trap.cc.

Dec    1st, 1998   J. Apostolakis          -  solids-00-04-02

  Small additions to History
  fix to GNUmakefiles
   and All of solids-00-04-02plus

Dec    1st, 1998   J. Apostolakis          -  solids-00-04-02plus

  Includes David W's new CSG implementations.

Dec    1st, 1998   J. Apostolakis          -  solids-00-04-02minus

  Boolean fixes (see that History)
  BREPS   fixes

  Not David W's new CSG implementations (yet)


Nov   20th, 1998   J. Apostolakis/L.Broglia  -  solids-00-03-04

  Tag includes BREPS/STEP/STEPinterface fixes (see relevant history files)


Nov   17th, 1998   J. Apostolakis            -  solids-00-03-03

  Latest state (but excluding Boolean - and possibly G4Sphere state)

  --> newest PCone at the time

    given to CMS (Matthias) for preliminary testing.
    mentioned to Steffano Magni

Nov   17th, 1998   J. Apostolakis            -  solids-00-03-02
