1 | |
---|
2 | $Id: History,v 1.67 2010/10/20 07:31:58 gcosmo Exp $ |
---|
3 | ------------------------------------------------------------------- |
---|
4 | |
---|
5 | ========================================================= |
---|
6 | Geant4 - an Object-Oriented Toolkit for Simulation in HEP |
---|
7 | ========================================================= |
---|
8 | |
---|
9 | Category History file |
---|
10 | --------------------- |
---|
11 | This file should be used by G4 developers and category coordinators |
---|
12 | to briefly summarize all major modifications introduced in the code |
---|
13 | and keep track of all category-tags. |
---|
14 | It DOES NOT substitute the CVS log-message one should put at every |
---|
15 | committal in the CVS repository ! |
---|
16 | |
---|
17 | Please keep a summary of these message in geometry/History! |
---|
18 | |
---|
19 | ---------------------------------------------------------- |
---|
20 | * Reverse chronological order (last date on top), please * |
---|
21 | ---------------------------------------------------------- |
---|
22 | |
---|
23 | October 19, 2010 G.Cosmo geom-bool-V09-03-03 |
---|
24 | - Implemented Clone() virtual method for all solids, returning a pointer |
---|
25 | to a dynamically allocated copy of the solid. To be used by Geant4-MT. |
---|
26 | |
---|
27 | September 22, 2010 G.Cosmo geom-bool-V09-03-02 |
---|
28 | - Implemented copy-constructor and assignment operator for concrete |
---|
29 | solids classes to facilitate conversion to Geant4-MT. |
---|
30 | |
---|
31 | July 7, 2010 G.Cosmo geom-bool-V09-03-01 |
---|
32 | - Simplified logic in G4UnionSolid::Inside() to exclude obvious |
---|
33 | conditional cases. |
---|
34 | |
---|
35 | May 11, 2010 J.Allison geom-bool-V09-03-00 |
---|
36 | - Introduced recursive algorithm in CreatePolyhedron(): it uses |
---|
37 | HepPolyhedronProcessor from 'graphics_reps', which tries small shifts |
---|
38 | in an attempt to avoid numerical problems in the calculation of the |
---|
39 | polyhedron in BooleanProcessor. Recursion allows HepPolyhedronProcessor |
---|
40 | to try all permutations, also for Booleans of Booleans. |
---|
41 | Helps in reducing the number of cases of "Error in Boolean processor" for |
---|
42 | visualization, but still some stubborn cases are left. |
---|
43 | |
---|
44 | Oct 24, 2007 V.Grichine geom-bool-V09-00-00 |
---|
45 | - Improved response of Inside() for G4SubtractionSolid and G4UnionSolid |
---|
46 | according to suggestion in problem report #979. |
---|
47 | |
---|
48 | May 18, 2007 G.Cosmo geom-bool-V08-03-00 |
---|
49 | - Use kAngTolerance and kRadTolerance from G4GeometryTolerance class. |
---|
50 | - Updated unit tests. |
---|
51 | - Coworks with tag "global-V08-03-03". |
---|
52 | |
---|
53 | Nov 08, 2006 G.Cosmo geom-bool-V08-01-02 |
---|
54 | - Fixed compilation problems on SUN-CC for changes in the last tag. |
---|
55 | Added inclusion of <sstream> header in G4IntersectionSolid.cc and |
---|
56 | G4UnionSolid.cc. |
---|
57 | |
---|
58 | Nov 06, 2006 J.Allison geom-bool-V08-01-01 |
---|
59 | - G4IntersectionSolid, G4SubtractionSolid, G4UnionSolid: |
---|
60 | fixed CreatePolyhedron() for case of component that does |
---|
61 | not have a G4Polyhedron representation. |
---|
62 | - Added checks for point on boolean surface to unit tests |
---|
63 | testG4DisplacedSolid and testG4SubtractionSolid (V.Grichine). |
---|
64 | |
---|
65 | Oct 19, 2006 G.Cosmo geom-bool-V08-01-00 |
---|
66 | - Added GetSurfaceArea() method, accessors and modifiers to base class |
---|
67 | G4BooleanSolid, implementing the caching mechanism as for volumes. |
---|
68 | |
---|
69 | May 03, 2006 V.Grichine geom-bool-V08-00-00 |
---|
70 | - Fix in G4IntersectionSolid::CalculateExtent() for the correctly handling |
---|
71 | extent computation for nested intersections and always respect the rule |
---|
72 | pMax > pMin. |
---|
73 | |
---|
74 | Nov 09, 2005 G.Cosmo geom-bool-V07-01-01 |
---|
75 | - Added fake default constructor for concrete solids types and relevant |
---|
76 | utility classes, for usage of direct object persistency. |
---|
77 | |
---|
78 | Sep 15, 2005 V.Grichine geom-bool-V07-01-00 |
---|
79 | - Added concrete implementation for GetPointOnSurface() to |
---|
80 | G4BooleanSolid and G4DisplacedSolid. |
---|
81 | - Updated unit tests testG4DisplacedSolid and testG4IntersectionSolid. |
---|
82 | |
---|
83 | May 04, 2005 V.Grichine geom-bool-V07-00-03 |
---|
84 | - Make the new implementation of Inside() with surface-normal for |
---|
85 | edges/vertices the deafult one. |
---|
86 | Removed G4NEW_SURF_NORMAL compilation flag. |
---|
87 | |
---|
88 | Mar 23, 2005 J.Allison geom-bool-V07-00-02 |
---|
89 | - Added test for Number-Of-Rotation-Steps in GetPolyhedron() |
---|
90 | for G4DisplacedSolid and G4BooleanSolid. Requires tag "greps-V07-00-02". |
---|
91 | |
---|
92 | Mar 10, 2005 V.Grichine geom-bool-V07-00-01 |
---|
93 | - Modified Inside(p) G4SubtractionSolid and G4UnionSolid, to fix |
---|
94 | inconsistency for non-zero sum of surface-normals. |
---|
95 | Available only through activation of G4NEW_SURF_NORMAL compilation flag. |
---|
96 | - Updated unit tests. |
---|
97 | |
---|
98 | Mar 03, 2005 J.Allison |
---|
99 | - Changed AddThis() to AddSolid() in the concrete implementations of |
---|
100 | DescribeYourselfTo(G4VGraphicsScene&) for all solids. Use the |
---|
101 | newly available CreatePolyhedron() for components of Boolean |
---|
102 | solids, instead of GetPolyhedron(). |
---|
103 | |
---|
104 | Feb 22, 2005 V.Grichine geom-bool-V07-00-00 |
---|
105 | - Fix in G4IntersectionSolid::DistanceToIn(p,v) to allow for correct |
---|
106 | simmetrical treatment of the solids' intersection. Algorithm reviewed |
---|
107 | as proposed by D.Bazzacco in problem report #723. |
---|
108 | - New unit test testBoolSurfaceInOut.cc for checking dIn-dOut and AB, |
---|
109 | BA booleans on surface. |
---|
110 | |
---|
111 | Oct 10, 2004 J.Allison geom-bool-V06-02-01 |
---|
112 | - Added GetPolyhedron, a smart access function that creates a G4Polyhedron |
---|
113 | on request and stores for future access. A null pointer means "not |
---|
114 | available". |
---|
115 | |
---|
116 | Sep 22, 2004 V.Grichine geom-bool-V06-02-00 |
---|
117 | - Added specific implementation for G4BooleanSolid::GetCubicVolume() |
---|
118 | to cache the computed value. |
---|
119 | - Moved inline methods for G4BooleanSolid to .icc file. |
---|
120 | |
---|
121 | May 07, 2004 G.Cosmo geom-bool-V06-01-00 |
---|
122 | - Moved G4ReflectedSolid class to "management" module. |
---|
123 | - Moved G4ReflectionFactory class to "volumes" module. |
---|
124 | - Moved unit test for reflection to "volumes" module. |
---|
125 | - Coworks with tags: geommng-V06-01-00, geomvol-V06-01-00 and |
---|
126 | geomdiv-V06-01-00. |
---|
127 | |
---|
128 | Feb 27, 2004 V.Grichine geom-bool-V06-00-00 |
---|
129 | - G4UnionSolid.cc, G4SubtractionSolid.cc: fix in debug printout for |
---|
130 | SurfaceNomal(). |
---|
131 | |
---|
132 | Dec 01, 2003 G.Cosmo geom-bool-V05-02-04 |
---|
133 | - G4ReflectedSolid.cc: fixed trivial leak in constructor. |
---|
134 | |
---|
135 | Nov 03, 2003 G.Cosmo geom-bool-V05-02-03 |
---|
136 | - Code cleanup and headers inclusion review |
---|
137 | (replaced by forward declarations where necessary). |
---|
138 | |
---|
139 | Oct 28, 2003 G.Cosmo geom-bool-V05-02-02 |
---|
140 | - Migration to new G4Exception scheme. |
---|
141 | |
---|
142 | Oct 28, 2003 J.Apostolakis |
---|
143 | - Modified test/GNUmakefile to delete un-necessary directories. |
---|
144 | It no longer refers to navigator (old volumes), but includes |
---|
145 | intercoms (for G4VVisManager). |
---|
146 | |
---|
147 | Oct 9, 2003 V.Grichine geom-bool-V05-02-01 |
---|
148 | - Fixes to default safety to zero in DistIn/Out(p) methods. |
---|
149 | Note: Using previous test GNUmakefile (to be corrected). |
---|
150 | |
---|
151 | Sep 30, 2003 G.Cosmo geom-bool-V05-02-00 |
---|
152 | - Updated GNUmakefile for unit tests, according to new structure |
---|
153 | introduced in "geometry-V05-02-00". |
---|
154 | |
---|
155 | Jun 12, 2003 G.Cosmo geom-bool-V05-01-02 |
---|
156 | - G4ReflectionFactory: |
---|
157 | o Made public accessors: GetConstituentLV(), GetReflectedLV(), |
---|
158 | IsConstituent() and IsReflected(). |
---|
159 | o Added accessor GetReflectedVolumesMap() to access list of |
---|
160 | reflected volumes. |
---|
161 | |
---|
162 | May 22, 2003 G.Cosmo geom-bool-V05-01-01 |
---|
163 | - Implementations for Set/GetScalePrecision() in G4ReflectionFactory |
---|
164 | missing! Now fixed. |
---|
165 | |
---|
166 | May 12, 2003 G.Cosmo geom-bool-V05-01-00 |
---|
167 | - Added set/get methods for scale precision in G4ReflectionFactory. |
---|
168 | |
---|
169 | Mar 25, 2003 G.Cosmo geom-bool-V05-00-01 |
---|
170 | - Fixed trivial strict pedantic warnings in G4ReflectedSolid.cc and |
---|
171 | G4ReflectionFactory.cc. |
---|
172 | - Minor fixes to unit tests. |
---|
173 | |
---|
174 | Jan 27, 2003 G.Cosmo geom-bool-V05-00-00 |
---|
175 | - G4ReflectionFactory[.hh.cc] (courtesy of I.Hrivnacova): |
---|
176 | o Added set/get functions Set/GetVolumesNameExtension() for volume-name |
---|
177 | extension. By default now the factory assigns "_refl" postfix to name |
---|
178 | of reflected volumes. |
---|
179 | o Assumed less strict condition in the CheckScale() method, to avoid |
---|
180 | precision problems with imported rotation matrices. |
---|
181 | |
---|
182 | Oct 29 2002 Gabriele Cosmo geom-bool-V04-01-01 |
---|
183 | - Added method CleanTransformations() to G4DisplacedSolid and corrected |
---|
184 | implementation in destructor of G4BooleanSolid to not call for deletion |
---|
185 | of G4VSolid in the case where displacement is used. |
---|
186 | This fixes a problem noticed on Linux-g++ at application closeout for |
---|
187 | double deletion of a solid in such special case. |
---|
188 | |
---|
189 | Oct 28 2002 Gabriele Cosmo geom-bool-V04-01-00 |
---|
190 | - Added implementation of StreamInfo() to comply with new interface for |
---|
191 | G4VSolid in "geommng-V04-01-03". |
---|
192 | - Some cosmetic changes to code formatting. |
---|
193 | - Extended unit tests to include new user test-cases (V.Grichine). |
---|
194 | |
---|
195 | May 11 2002 Vladimir Grichine geom-bool-V04-00-05 |
---|
196 | - G4ReflectedSolid.cc: bounding-box like algorithm for CalculateExtent(). |
---|
197 | |
---|
198 | Apr 16 2002 Vladimir Grichine geom-bool-V04-00-04 |
---|
199 | - G4ReflectedSolid.cc: enhanced algorithm for CalculateExtent(), now |
---|
200 | passing all basic unit tests. |
---|
201 | - Updated unit test for G4ReflectedSolid, testG4ReflectedSolid.cc |
---|
202 | |
---|
203 | Mar 26 2002 Vladimir Grichine geom-bool-V04-00-03 |
---|
204 | - G4ReflectedSolid.cc: modified implementation of CalculateExtent() to |
---|
205 | properly consider transformation of reflected extent. |
---|
206 | |
---|
207 | Feb 15 2002 Vladimir Grichine geom-bool-V04-00-02 |
---|
208 | - G4ReflectedSolid[.hh.cc]: |
---|
209 | o Defined new methods Set/GetTransform3D() and Set/GetDirectTransform3D() |
---|
210 | for defining/accessing the real reflected transformation |
---|
211 | o Moved methods for G4AffineTransform to protected. |
---|
212 | |
---|
213 | Feb 07 2002 Gabriele Cosmo geom-bool-V04-00-01 |
---|
214 | - G4ReflectionFactory.cc: fixed bug causing repetition of daughter volumes. |
---|
215 | |
---|
216 | Jan 10 2002 Gabriele Cosmo geom-solid-bool-V04-00-00 |
---|
217 | - Moved all verbosity mode warnings to G4BOOLDEBUG and commented exceptions. |
---|
218 | - Activated G4BOOLDEBUG mechanism in GNUmakefile. |
---|
219 | - Fixed unit tests. |
---|
220 | |
---|
221 | Nov 08 2001 Gabriele Cosmo geom-solid-bool-V03-02-02 |
---|
222 | - Fix for verbosity in G4ReflectionFactory.cc. Reduced of one level. |
---|
223 | |
---|
224 | Oct 18 2001 Gabriele Cosmo geom-solid-bool-V03-02-01 |
---|
225 | - Introduced first implementation of classes G4ReflectedSolid and |
---|
226 | G4ReflectionFactory for reflections of positioned volumes |
---|
227 | (courtesy of V.Grichine and I.Hrivnacova). |
---|
228 | - Fixed bug in G4ReflectedSolid::CreatePolyhedron(). |
---|
229 | |
---|
230 | Aug 13 2001 Vladimir Grichine geom-solid-bool-V03-02-00 |
---|
231 | - Introduced G4BOOLDEBUG flag and replaced G4Exception statements with |
---|
232 | simple warnings to G4cerr for rare occurences of anomalous conditions. |
---|
233 | |
---|
234 | May 30 2001 Vladimir Grichine geom-solid-bool-V03-01-00 |
---|
235 | - G4IntersectionSolid: fix in DistanceToIn(p,v) resolving bug observed |
---|
236 | in problem report #153. |
---|
237 | |
---|
238 | Mar 19 2001 Gabriele Cosmo geom-solid-bool-V03-00-03 |
---|
239 | |
---|
240 | - G4IntersectionSolid: |
---|
241 | o fix in CalculateExtent() for computation of pMin and pMax, to avoid |
---|
242 | assignment in case CalculateExtent() of one component solid fails. |
---|
243 | o fix in Inside() to return kOutside in case first component solid's |
---|
244 | Inside() returns kOutside. |
---|
245 | - G4UnionSolid: |
---|
246 | o fix in CalculateExtent() for computation of pMin and pMax: initialised |
---|
247 | local variables. |
---|
248 | |
---|
249 | Jan 31 2001 Gabriele Cosmo geom-solid-bool-V03-00-02 |
---|
250 | |
---|
251 | - Fix in G4UnionSolid::DistanceToOut(p,v,...) for assignment of |
---|
252 | argument *n. Previous fix was incomplete! |
---|
253 | |
---|
254 | Jan 23 2001 Gabriele Cosmo geom-solid-bool-V03-00-01 |
---|
255 | |
---|
256 | - Fixed wrong labels for G4Exception calls in G4UnionSolid.cc and |
---|
257 | G4SubtractionSolid.cc to identify the correct class. |
---|
258 | Fixes bug report #200. |
---|
259 | |
---|
260 | Jan 08 2001 Vladimir Grichine geom-solid-bool-V03-00-00 |
---|
261 | |
---|
262 | - Fix in G4UnionSolid::DistanceToOut(p,v,...) for assignment of |
---|
263 | argument *n to happen only if calcNorm is false. |
---|
264 | (courtesy of D.Williams) |
---|
265 | - Updated unit tests testG4IntersectionSolid.cc, testG4SubtractionSolid.cc |
---|
266 | and test/testG4UnionSolid.cc. |
---|
267 | |
---|
268 | Nov 22 2000 Vladimir Grichine geom-solid-bool-V02-00-03 |
---|
269 | |
---|
270 | - Added new set methods for matrix/vectors to G4DisplacedSolid: |
---|
271 | SetTransform(G4AffineTransform&), |
---|
272 | SetDirectTransform(G4AffineTransform&), |
---|
273 | SetFrameRotation(const G4RotationMatrix&), |
---|
274 | SetFrameTranslation(const G4ThreeVector&), |
---|
275 | SetObjectRotation(const G4RotationMatrix&), |
---|
276 | SetObjectTranslation(const G4ThreeVector&). |
---|
277 | |
---|
278 | Nov 20 2000 Gabriele Cosmo geom-solid-bool-V02-00-02 |
---|
279 | |
---|
280 | - Fixes to remove warnings from "-Wall -ansi -pedantic" g++ compiler options: |
---|
281 | o commented out variables declared and not used. |
---|
282 | o fixed declaration of variables used before being initialised. |
---|
283 | o fixed order of initialisation of member data in constructors. |
---|
284 | o fixed usage of unsigned-int (size_t) for array indeces. |
---|
285 | |
---|
286 | Nov 2 2000 Gabriele Cosmo geom-solid-bool-V02-00-01 |
---|
287 | |
---|
288 | - QA code revision and cleanup (+fixes from CodeWizard filtering): |
---|
289 | o Added (private) declarations of copy constructor and assignment |
---|
290 | operator where needed. |
---|
291 | o Changed virtual functions to non-inline wherever's the case. |
---|
292 | |
---|
293 | Sep 13 2000 Vladimir Grichine geom-solid-bool-V02-00-00 |
---|
294 | |
---|
295 | - G4SubtractionSolid.cc: relaxed behavior in SurfaceNormal(p), where |
---|
296 | it is allowed for a point to be inside the solid. A message is thrown |
---|
297 | to cerr instead of a G4Exception. |
---|
298 | |
---|
299 | Jun 26 2000 Vladimir Grichine geom-solid-bool-V01-01-03 |
---|
300 | |
---|
301 | - Fixed bug in G4SubtractionSolid::DistanceToOut(p,v,...). validNorm |
---|
302 | flag was uncorrectly set to true. Fixes report #102. |
---|
303 | |
---|
304 | Jun 6 2000 John Apostolakis geom-solid-bool-V01-01-02 |
---|
305 | |
---|
306 | - Protecting the use of pointers validNorm and n, if calcNorm is false |
---|
307 | |
---|
308 | Jun 6 2000 John Allison geom-solid-bool-V01-01-01 |
---|
309 | |
---|
310 | - Re-enabled CreatePolyhedron() method from G4UnionSolid, G4IntersectionSolid |
---|
311 | and G4SubtractionSolid. Coworks with greps-V01-01-04. |
---|
312 | |
---|
313 | May 26 2000 John Allison geom-solid-bool-V01-01-00 |
---|
314 | |
---|
315 | - Disabled CreatePolyhedron() method from G4UnionSolid, G4IntersectionSolid |
---|
316 | and G4SubtractionSolid. It now temporarly returns a NULL pointer. |
---|
317 | Visualisation of Boolean solids is therefore temporarly disabled, pending |
---|
318 | a definitive fix in graphics_reps. |
---|
319 | Files G4UnionSolid.cc, G4SubtractionSolid.cc and G4IntersectionSolid.cc |
---|
320 | are included in the branch-tag "boolean_nopoly_branch". |
---|
321 | |
---|
322 | Apr 27 2000 Gabriele Cosmo |
---|
323 | |
---|
324 | - Reorganised comments for the Software Reference Manual. |
---|
325 | - Added CVS headers and standard G4 header where missing. |
---|
326 | |
---|
327 | Apr 11 2000 John Allison |
---|
328 | |
---|
329 | - CreatePolyhedron implemented for BooleanSolids. |
---|
330 | - G4DisplacedSolid: reversed implementation of GetFrameRotation and |
---|
331 | GetObjectRotation, removing inappropriate invertion. |
---|
332 | - G4DisplacedSolid::GetConstituentMovedSolid() made const. |
---|
333 | |
---|
334 | Jan 19 2000 Gabriele Cosmo geom-solid-bool-V01-00-00 |
---|
335 | |
---|
336 | - Syncronized file versions with HEAD (essentially CVS headers changes) |
---|
337 | - Fixed cases of G4std::min which were not migrated on the HEAD in files: |
---|
338 | G4UnionSolid.cc and G4IntersectionSolid.cc |
---|
339 | |
---|
340 | Nov 24 1999 geom-solid-bool-V00-01-05 |
---|
341 | |
---|
342 | - Small fix in src/G4DisplacedSolid.cc to the return type |
---|
343 | (const G4AffineTransform --> G4AffineTransform) |
---|
344 | to conform with the specification of the class. |
---|
345 | |
---|
346 | Nov 19 1999 geom-solid-bool-V00-01-04 |
---|
347 | |
---|
348 | - Fixes from Vladimir, and additional tests |
---|
349 | |
---|
350 | Nov 10 1999 geom-solid-bool-V00-01-03b |
---|
351 | |
---|
352 | - Renamed GetConstituentSolid to GetConstituentMovedSolid in G4DisplacedSolid |
---|
353 | to avoid clashing with method that gets the contituents of a G4BooleanSolid. |
---|
354 | |
---|
355 | Nov 10 1999 geom-solid-bool-V00-01-03a |
---|
356 | |
---|
357 | - Tag with additional methods for Persistency |
---|
358 | |
---|
359 | Nov 10 1999 geom-solid-bool-V00-01-03-cand |
---|
360 | |
---|
361 | New method: Get Object Rotation/Translation methods in Displaced Solid |
---|
362 | |
---|
363 | Nov 9 1999 geom-solid-bool-V00-01-02-cand |
---|
364 | |
---|
365 | - Tag with additional methods for Visualisation |
---|
366 | |
---|
367 | G4DisplacedSolid, G4BooleanSolid |
---|
368 | |
---|
369 | Added methods to access data members: |
---|
370 | Get Constituent Solid (int) for Boolean Solid |
---|
371 | Get Constituent Solid for Displaced Solid |
---|
372 | Get Frame Rotation/Translation methods in Displaced Solid |
---|
373 | |
---|
374 | |
---|
375 | |
---|
376 | Dec 1 1998 John Apostolakis geom-boolean-4-ja |
---|
377 | |
---|
378 | Code portability changes. |
---|
379 | |
---|
380 | Nov 27 1998 J.Apostolakis & V.Grichine geom-boolean-3-vg |
---|
381 | |
---|
382 | Fixes agreed in code review were implemented. |
---|