Import Geant4 2.0.0 source tree

This commit is contained in:
Gabriele Cosmo
2016-06-08 15:42:07 +02:00
parent 103bda00c8
commit e7d7193284
3106 changed files with 171117 additions and 90550 deletions
+43 -1
View File
@@ -1,4 +1,4 @@
$Id: History,v 1.3 1999/11/08 09:53:55 gcosmo Exp $
$Id: History,v 1.5 2000/02/25 16:36:16 gcosmo Exp $
----------------------------------------------------------------------------
=========================================================
@@ -17,6 +17,48 @@ committal in the CVS repository !
* Reverse chronological order (last date on top), please *
----------------------------------------------------------
25th February 2000 Gabriele Cosmo (stepinterface-V01-00-01)
- Improved overall diagnostics.
- Fixed internal memory-leaks.
- Added protections for NULL pointers generated by missing geometry creators.
Updated files: G4VectorCreator.cc, G4ToroidalSurfaceCreator.cc,
G4SphericalSurfaceCreator.cc, G4ShapeRepresentationCreator.cc,
G4RationalBSplineSurfaceCreator.cc, G4PlaneCreator.cc,
G4OrientedEdgeCreator.cc, G4LineCreator.cc,
G4ItemDefinedTransformationCreator.cc, G4EllipseCreator.cc,
G4EdgeLoopCreator.cc, G4EdgeCurveCreator.cc, G4CylindricalSurfaceCreator.cc,
G4ConicalSurfaceCreator.cc, G4ClosedShellCreator.cc, G4CircleCreator.cc,
G4BoundedSurfaceCreator.cc, G4BSplineCurveWithKnotsCreator.cc,
G4Axis2Placement3dCreator.cc, G4AdvancedFaceCreator.cc,
G4AdvancedBrepShapeRepresentationCreator.cc
- G4AdvancedFaceCreator.cc, G4EdgeLoopCreator.cc
o added check over the number of allocated curves for composition.
- G4ClosedShellCreator.cc
o added check over the number of allocated surfaces for composition.
- G4BSplineSurfaceWithKnotsCreator.cc
o created object is now a G4BSplineSurface. No G4 object was returned before.
- G4RepresentationRelationshipCreator[.hh.cc]:
o fixed bound-overflow problem on array of placements.
o implemented temporary solution for association of placements and
manifolded solids for advanced BREP shape representations.
o added protections for NULL pointers.
- G4GeometryTable.cc:
o added extra-debug verbosity protected by G4_STEPINTERFACE_DEBUG flag.
- G4AssemblyCreator.cc:
o STEPfile_id is now retrieved through direct call to STEP reader function
GetApplication_instance(keyw, index).
o added extra-debug verbosity protected by G4_STEPINTERFACE_DEBUG flag.
o added protection for NULL pointers.
- test/GNUmakefile:
o moved to use granular libraries.
21st January 2000 Gabriele Cosmo (stepinterface-V01-00-00)
- Code migrated to handle new NIST STEP Reader SCL 3.2.
- Reduced inter-class dependencies by reorganising include statements and
removing unnecessary ones.
- Added standard class header description and CVS identifiers.
- Code porting to supported UNIX platforms/compilers.
8th November 1999 Gabriele Cosmo (stepinterface-V00-01-00)
- Added files G4NISTStepReader[.hh.cc] and G4StepFileReader[.hh] from BREPS.
- Added inclusion of STEPcomplex.h in G4BoundedSurfaceCreator.cc,
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AdvancedBrepShapeRepresentationCreator.hh,v 1.2 2000/01/21 13:45:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4AdvancedBrepShapeRepresentationCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4ADVANCEDBREPSHAPEREPRESENTATIONCREATOR_HH
#define G4ADVANCEDBREPSHAPEREPRESENTATIONCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4AdvancedBrepShapeRepresentationCreator: private G4GeometryCreator
{
public:
//Constructor
G4AdvancedBrepShapeRepresentationCreator();
~G4AdvancedBrepShapeRepresentationCreator();
public:
// Constructor & destructor
//Member functions
G4AdvancedBrepShapeRepresentationCreator();
~G4AdvancedBrepShapeRepresentationCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Advanced_Brep_Shape_Representation"; }
static G4AdvancedBrepShapeRepresentationCreator GetInstance() { return csc; }
G4String Name(){return "Advanced_Brep_Shape_Representation";};
// Members
static G4AdvancedBrepShapeRepresentationCreator GetInstance(){return csc;};
private:
//Members
private:
static G4AdvancedBrepShapeRepresentationCreator csc;
static G4AdvancedBrepShapeRepresentationCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AdvancedFaceCreator.hh,v 1.2 2000/01/21 13:45:06 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4AdvancedFaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4ADVANCEDFACECREATOR_HH
#define G4ADVANCEDFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4AdvancedFaceCreator; // Forward declararation -> Simone
#include "G4GeometryCreator.hh"
class G4AdvancedFaceCreator: private G4GeometryCreator
{
public:
//Constructor
G4AdvancedFaceCreator();
~G4AdvancedFaceCreator();
public:
//Member functions
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
// Constructor & destructor
G4AdvancedFaceCreator();
~G4AdvancedFaceCreator();
G4String Name(){return "Advanced_Face";};
// Member functions
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Advanced_Face"; }
static G4AdvancedFaceCreator GetInstance() { return csc; }
static G4AdvancedFaceCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4AdvancedFaceCreator csc;
static G4AdvancedFaceCreator csc;
};
#endif
@@ -1,44 +1,63 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AssemblyCreator.hh,v 1.2 2000/01/21 13:45:07 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4AssemblyCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4ASSEMBLYCREATOR_HH
#define G4ASSEMBLYCREATOR_HH
#include "G4GeometryTable.hh"
#include "G4StepFileReader.hh"
#include "G4NISTStepReader.hh"
#include "G4AdvancedBrepShapeRepresentationCreator.hh"
#include "G4ManifoldSolidBrepCreator.hh"
#include "G4ClosedShellCreator.hh"
#include "G4OpenShellCreator.hh"
#include "G4PointCreator.hh"
#include "G4GeometryCreator.hh"
class G4StepFileReader;
class G4AssemblyCreator: public G4GeometryCreator
{
public:
// Constructor
G4AssemblyCreator();
G4AssemblyCreator(G4String, G4String ="NIST");
public:
// Constructors
G4AssemblyCreator();
G4AssemblyCreator(G4String, G4String ="NIST");
// Destructor
~G4AssemblyCreator();
//Member functions
void ReadStepFile();
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name(){return "Assembly";}
static G4AssemblyCreator GetInstance(){return ci;}
//Members
int index; // add by L. Broglia, memory for get STEP entity
~G4AssemblyCreator();
private:
G4StepFileReader* StepReader;
G4String STEPfileName;
static G4AssemblyCreator ci;
// Member functions
void ReadStepFile();
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Assembly"; }
static G4AssemblyCreator GetInstance() { return ci; }
// Members
int index; // add by L. Broglia, memory for get STEP entity
private:
G4StepFileReader* StepReader;
G4String STEPfileName;
static G4AssemblyCreator ci;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis1PlacementCreator.hh,v 1.2 2000/01/21 13:45:07 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis1PlacementCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4AXIS1PLACEMENTCREATOR_HH
#define G4AXIS1PLACEMENTCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4Axis1PlacementCreator: private G4GeometryCreator
{
public:
//Constructor
G4Axis1PlacementCreator();
~G4Axis1PlacementCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4Axis1PlacementCreator();
~G4Axis1PlacementCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Axis1_Placement";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Axis1_Placement"; }
static G4Axis1PlacementCreator GetInstance() { return csc; }
static G4Axis1PlacementCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4Axis1PlacementCreator csc;
static G4Axis1PlacementCreator csc;
};
#endif
@@ -1,28 +1,51 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis2Placement2dCreator.hh,v 1.2 2000/01/21 13:45:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2Placement2dCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4AXIS2PLACEMENT2DCREATOR_HH
#define G4AXIS2PLACEMENT2DCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4Axis2Placement2dCreator: private G4GeometryCreator
{
public:
//Constructor
G4Axis2Placement2dCreator();
~G4Axis2Placement2dCreator();
public:
// Constructor & destructor
G4Axis2Placement2dCreator();
~G4Axis2Placement2dCreator();
//Member functions
// Member functions
void CreateG4Geometry(STEPentity&);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Axis2_Placement_2d"; }
static G4Axis2Placement2dCreator GetInstance() { return csc; }
void CreateSTEPGeometry(void* G4obj);
//Members
G4String Name(){return "Axis2_Placement_2d";};
private:
static G4Axis2Placement2dCreator GetInstance(){return csc;};
//Members
private:
static G4Axis2Placement2dCreator csc;
static G4Axis2Placement2dCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis2Placement3dCreator.hh,v 1.2 2000/01/21 13:45:08 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2Placement3dCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4AXIS2PLACEMENT3DCREATOR_HH
#define G4AXIS2PLACEMENT3DCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4Axis2Placement3dCreator: private G4GeometryCreator
{
public:
//Constructor
G4Axis2Placement3dCreator();
~G4Axis2Placement3dCreator();
public:
//Member functions
// Constructor & destructor
G4Axis2Placement3dCreator();
~G4Axis2Placement3dCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void*);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Axis2_Placement_3d"; }
static G4Axis2Placement3dCreator GetInstance() { return csc; }
G4String Name(){return "Axis2_Placement_3d";};
// Members
static G4Axis2Placement3dCreator GetInstance(){return csc;};
private:
//Members
private:
static G4Axis2Placement3dCreator csc;
static G4Axis2Placement3dCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis2PlacementCreator.hh,v 1.2 2000/01/21 13:45:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2PlacementCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4AXIS2PLACEMENTCREATOR_HH
#define G4AXIS2PLACEMENTCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4Axis2PlacementCreator: private G4GeometryCreator
{
public:
//Constructor
G4Axis2PlacementCreator();
~G4Axis2PlacementCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4Axis2PlacementCreator();
~G4Axis2PlacementCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Axis2_Placement";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Axis2_Placement"; }
static G4Axis2PlacementCreator GetInstance() { return csc; }
static G4Axis2PlacementCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4Axis2PlacementCreator csc;
static G4Axis2PlacementCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis2PlacementsCreator.hh,v 1.2 2000/01/21 13:45:09 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2PlacementsCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4AXIS2PLACEMENTSCREATOR_HH
#define G4AXIS2PLACEMENTSCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4Axis2PlacementsCreator: private G4GeometryCreator
{
public:
//Constructor
G4Axis2PlacementsCreator();
~G4Axis2PlacementsCreator();
public:
// Constructor & destructor
//Member functions
G4Axis2PlacementsCreator();
~G4Axis2PlacementsCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Axis2_Placements"; }
static G4Axis2PlacementsCreator GetInstance() { return csc; }
G4String Name(){return "Axis2_Placements";};
// Members
private:
static G4Axis2PlacementsCreator GetInstance(){return csc;};
//Members
private:
static G4Axis2PlacementsCreator csc;
static G4Axis2PlacementsCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4BSplineCurveWithKnotsCreator.hh,v 1.2 2000/01/21 13:45:10 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineCurveWithKnotsCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4BSPLINECURVEWITHKNOTSCREATOR_HH
#define G4BSPLINECURVEWITHKNOTSCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4BSplineCurveWithKnotsCreator: private G4GeometryCreator
{
public:
//Constructor
G4BSplineCurveWithKnotsCreator();
~G4BSplineCurveWithKnotsCreator();
public:
// Constructor & destructor
//Member functions
G4BSplineCurveWithKnotsCreator();
~G4BSplineCurveWithKnotsCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "B_Spline_Curve_With_Knots"; }
static G4BSplineCurveWithKnotsCreator GetInstance() { return csc; }
G4String Name(){return "B_Spline_Curve_With_Knots";};
// Members
static G4BSplineCurveWithKnotsCreator GetInstance(){return csc;};
private:
//Members
private:
static G4BSplineCurveWithKnotsCreator csc;
static G4BSplineCurveWithKnotsCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4BSplineSurfaceCreator.hh,v 1.2 2000/01/21 13:45:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4BSPLINESURFACECREATOR_HH
#define G4BSPLINESURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4BSplineSurfaceCreator: public G4GeometryCreator
{
public:
//Constructor
G4BSplineSurfaceCreator();
~G4BSplineSurfaceCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4BSplineSurfaceCreator();
~G4BSplineSurfaceCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "B_Spline_Surface";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "B_Spline_Surface"; }
static G4BSplineSurfaceCreator GetInstance() { return csc; }
static G4BSplineSurfaceCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4BSplineSurfaceCreator csc;
static G4BSplineSurfaceCreator csc;
};
#endif
@@ -1,30 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4BSplineSurfaceWithKnotsCreator.hh,v 1.2 2000/01/21 13:45:11 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineSurfaceWithKnotsCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4BSPLINESURFACEWITHKNOTSCREATOR_HH
#define G4BSPLINESURFACEWITHKNOTSCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "G4BSplineSurfaceCreator.hh"
#include "G4ControlPoints.hh"
class G4BSplineSurfaceWithKnotsCreator: public G4BSplineSurfaceCreator
{
public:
//Constructor
G4BSplineSurfaceWithKnotsCreator();
~G4BSplineSurfaceWithKnotsCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4BSplineSurfaceWithKnotsCreator();
~G4BSplineSurfaceWithKnotsCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "B_Spline_Surface_With_Knots";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "B_Spline_Surface_With_Knots"; }
static G4BSplineSurfaceWithKnotsCreator GetInstance() { return csc; }
static G4BSplineSurfaceWithKnotsCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4BSplineSurfaceWithKnotsCreator csc;
static G4BSplineSurfaceWithKnotsCreator csc;
};
#endif
@@ -1,30 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4BoundedSurfaceCreator.hh,v 1.2 2000/01/21 13:45:12 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4BoundedSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4BOUNDEDSURFACECREATOR_HH
#define G4BOUNDEDSURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "G4ControlPoints.hh"
#include "G4BSplineSurface.hh"
class G4BoundedSurfaceCreator: private G4GeometryCreator
{
public:
//Constructor
G4BoundedSurfaceCreator();
~G4BoundedSurfaceCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4BoundedSurfaceCreator();
~G4BoundedSurfaceCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Bounded_Surface";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Bounded_Surface"; }
static G4BoundedSurfaceCreator GetInstance() { return csc; }
static G4BoundedSurfaceCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4BoundedSurfaceCreator csc;
static G4BoundedSurfaceCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CartesianPointCreator.hh,v 1.2 2000/01/21 13:45:13 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4CartesianPointCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CARTESIANPOINTCREATOR_HH
#define G4CARTESIANPOINTCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4CartesianPointCreator: private G4GeometryCreator
{
public:
//Constructor
G4CartesianPointCreator();
~G4CartesianPointCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4CartesianPointCreator();
~G4CartesianPointCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Cartesian_Point";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Cartesian_Point"; }
static G4CartesianPointCreator GetInstance() { return csc; }
static G4CartesianPointCreator GetInstance(){return csc;};
// Members
private:
//Members
private:
static G4CartesianPointCreator csc;
static G4CartesianPointCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CircleCreator.hh,v 1.2 2000/01/21 13:45:14 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4CircleCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CIRCLECREATOR_HH
#define G4CIRCLECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4CircleCreator: private G4GeometryCreator
{
public:
//Constructor
G4CircleCreator();
~G4CircleCreator();
public:
// Constructor & destructor
//Member functions
G4CircleCreator();
~G4CircleCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Circle"; }
static G4CircleCreator GetInstance() { return csc; }
G4String Name(){return "Circle";};
// Members
static G4CircleCreator GetInstance(){return csc;};
private:
//Members
private:
static G4CircleCreator csc;
static G4CircleCreator csc;
};
#endif
@@ -1,29 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ClosedShellCreator.hh,v 1.2 2000/01/21 13:45:14 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ClosedShellCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CLOSEDSHELLCREATOR_HH
#define G4CLOSEDSHELLCREATOR_HH
#include "G4ConnectedFaceSetCreator.hh"
#include "G4GeometryTable.hh"
#include "G4BREPSolid.hh"
class G4ClosedShellCreator: public G4ConnectedFaceSetCreator
{
public:
//Constructor
G4ClosedShellCreator();
~G4ClosedShellCreator();
public:
//Member functions
// Constructor & destructor
G4ClosedShellCreator();
~G4ClosedShellCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Closed_Shell"; }
static G4ClosedShellCreator GetInstance() { return csc; }
G4String Name(){return "Closed_Shell";};
//Members
static G4ClosedShellCreator GetInstance(){return csc;};
private:
//Members
private:
static G4ClosedShellCreator csc;
static G4ClosedShellCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ConicCreator.hh,v 1.2 2000/01/21 13:45:14 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ConicCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CONICCREATOR_HH
#define G4CONICCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4ConicCreator: private G4GeometryCreator
{
public:
//Constructor
G4ConicCreator();
~G4ConicCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ConicCreator();
~G4ConicCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Conic";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Conic"; }
static G4ConicCreator GetInstance() { return csc; }
static G4ConicCreator GetInstance(){return csc;};
// Members
private:
//Members
private:
static G4ConicCreator csc;
static G4ConicCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ConicalSurfaceCreator.hh,v 1.2 2000/01/21 13:45:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ConicalSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CONICALSURFACECREATOR_HH
#define G4CONICALSURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4ConicalSurfaceCreator: private G4GeometryCreator
{
public:
//Constructor
G4ConicalSurfaceCreator();
~G4ConicalSurfaceCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ConicalSurfaceCreator();
~G4ConicalSurfaceCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Conical_Surface";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Conical_Surface"; }
static G4ConicalSurfaceCreator GetInstance() { return csc; }
// Members
static G4ConicalSurfaceCreator GetInstance(){return csc;};
private:
//Members
private:
static G4ConicalSurfaceCreator csc;
static G4ConicalSurfaceCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ConnectedFaceSetCreator.hh,v 1.2 2000/01/21 13:45:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ConnectedFaceSetCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CONNECTEDFACESETCREATOR_HH
#define G4CONNECTEDFACESETCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4ConnectedFaceSetCreator: public G4GeometryCreator
{
public:
//Constructor
G4ConnectedFaceSetCreator();
~G4ConnectedFaceSetCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ConnectedFaceSetCreator();
~G4ConnectedFaceSetCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Connected_Face_Set";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Connected_Face_Set"; }
static G4ConnectedFaceSetCreator GetInstance() { return csc; }
static G4ConnectedFaceSetCreator GetInstance(){return csc;};
//Members
// Members
private:
static G4ConnectedFaceSetCreator csc;
static G4ConnectedFaceSetCreator csc;
};
#endif
@@ -1,27 +1,53 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ContextDependentShapeRepresentationCreator.hh,v 1.2 2000/01/21 13:45:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ContextDependentShapeRepresentationCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CONTEXTDEPENDENTSHAPEREPRESENTATIONCREATOR_HH
#define G4CONTEXTDEPENDENTSHAPEREPRESENTATIONCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4ContextDependentShapeRepresentationCreator: private G4GeometryCreator
{
public:
//Constructor
G4ContextDependentShapeRepresentationCreator();
~G4ContextDependentShapeRepresentationCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ContextDependentShapeRepresentationCreator();
~G4ContextDependentShapeRepresentationCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Context_Dependent_Shape_Representation";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Context_Dependent_Shape_Representation"; }
static G4ContextDependentShapeRepresentationCreator GetInstance()
{ return csc; }
// Members
private:
static G4ContextDependentShapeRepresentationCreator GetInstance(){return csc;};
//Members
private:
static G4ContextDependentShapeRepresentationCreator csc;
static G4ContextDependentShapeRepresentationCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CurveCreator.hh,v 1.2 2000/01/21 13:45:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4CurveCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CURVECREATOR_HH
#define G4CURVECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4CurveCreator: private G4GeometryCreator
{
public:
//Constructor
G4CurveCreator();
~G4CurveCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4CurveCreator();
~G4CurveCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Curve";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Curve"; }
static G4CurveCreator GetInstance() { return csc; }
static G4CurveCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4CurveCreator csc;
static G4CurveCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CylindricalSurfaceCreator.hh,v 1.2 2000/01/21 13:45:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4CylindricalSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4CYLINDRICALSURFACECREATOR_HH
#define G4CYLINDRICALSURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4CylindricalSurfaceCreator: private G4GeometryCreator
{
public:
//Constructor
G4CylindricalSurfaceCreator();
~G4CylindricalSurfaceCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4CylindricalSurfaceCreator();
~G4CylindricalSurfaceCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Cylindrical_Surface";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Cylindrical_Surface"; }
static G4CylindricalSurfaceCreator GetInstance() { return csc; }
static G4CylindricalSurfaceCreator GetInstance(){return csc;};
// Members
private:
//Members
private:
static G4CylindricalSurfaceCreator csc;
static G4CylindricalSurfaceCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4DirectionCreator.hh,v 1.2 2000/01/21 13:45:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4DirectionCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4DIRECTIONCREATOR_HH
#define G4DIRECTIONCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4DirectionCreator: private G4GeometryCreator
{
public:
//Constructor
G4DirectionCreator();
~G4DirectionCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4DirectionCreator();
~G4DirectionCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Direction";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Direction"; }
static G4DirectionCreator GetInstance() { return csc; }
static G4DirectionCreator GetInstance(){return csc;};
//Members
private:
//Members
private:
static G4DirectionCreator csc;
static G4DirectionCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EdgeCurveCreator.hh,v 1.2 2000/01/21 13:45:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4EdgeCurveCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4EDGECURVECREATOR_HH
#define G4EDGECURVECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4EdgeCurveCreator: private G4GeometryCreator
{
public:
//Constructor
G4EdgeCurveCreator();
~G4EdgeCurveCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4EdgeCurveCreator();
~G4EdgeCurveCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Edge_Curve";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Edge_Curve"; }
static G4EdgeCurveCreator GetInstance() { return csc; }
static G4EdgeCurveCreator GetInstance(){return csc;};
// Members
private:
//Members
private:
static G4EdgeCurveCreator csc;
static G4EdgeCurveCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EdgeLoopCreator.hh,v 1.2 2000/01/21 13:45:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4EdgeLoopCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4EDGELOOPCREATOR_HH
#define G4EDGELOOPCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4EdgeLoopCreator: private G4GeometryCreator
{
public:
//Constructor
G4EdgeLoopCreator();
~G4EdgeLoopCreator();
public:
//Member functions
// Constructor
void CreateG4Geometry(STEPentity&);
G4EdgeLoopCreator();
~G4EdgeLoopCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Edge_Loop";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Edge_Loop"; }
static G4EdgeLoopCreator GetInstance() { return csc; }
static G4EdgeLoopCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4EdgeLoopCreator csc;
static G4EdgeLoopCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EllipseCreator.hh,v 1.2 2000/01/21 13:45:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4EllipseCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4ELLIPSECREATOR_HH
#define G4ELLIPSECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4EllipseCreator: private G4GeometryCreator
{
public:
//Constructor
G4EllipseCreator();
~G4EllipseCreator();
public:
// Constructor & destructor
//Member functions
G4EllipseCreator();
~G4EllipseCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Ellipse"; }
static G4EllipseCreator GetInstance() { return csc; }
G4String Name(){return "Ellipse";};
//Members
static G4EllipseCreator GetInstance(){return csc;};
private:
//Members
private:
static G4EllipseCreator csc;
static G4EllipseCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4FaceBoundCreator.hh,v 1.2 2000/01/21 13:45:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4FaceBoundCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4FACEBOUNDCREATOR_HH
#define G4FACEBOUNDCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4FaceBoundCreator: public G4GeometryCreator
{
public:
//Constructor
G4FaceBoundCreator();
~G4FaceBoundCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4FaceBoundCreator();
~G4FaceBoundCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Face_Bound";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Face_Bound"; }
static G4FaceBoundCreator GetInstance() { return csc; }
static G4FaceBoundCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4FaceBoundCreator csc;
static G4FaceBoundCreator csc;
};
#endif
@@ -1,29 +1,51 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4FaceOuterBoundCreator.hh,v 1.2 2000/01/21 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4FaceOuterBoundCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4FACEOUTERBOUNDCREATOR_HH
#define G4FACEOUTERBOUNDCREATOR_HH
#include "G4GeometryCreator.hh"
//#include "G4GeometryTable.hh"
#include "G4FaceBoundCreator.hh"
class G4FaceOuterBoundCreator: public G4FaceBoundCreator
{
public:
//Constructor
G4FaceOuterBoundCreator();
~G4FaceOuterBoundCreator();
public:
//Member functions
// Constructor & destructor
void CreateSTEPGeometry(void* G4obj);
G4FaceOuterBoundCreator();
~G4FaceOuterBoundCreator();
G4String Name(){return "Face_Outer_Bound";};
// Member functions
static G4FaceOuterBoundCreator GetInstance(){return csc;};
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Face_Outer_Bound"; }
static G4FaceOuterBoundCreator GetInstance() { return csc; }
//Members
private:
// Members
static G4FaceOuterBoundCreator csc;
private:
static G4FaceOuterBoundCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4FaceSurfaceCreator.hh,v 1.2 2000/01/21 13:45:20 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4FaceSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4FACESURFACECREATOR_HH
#define G4FACESURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4FaceSurfaceCreator: public G4GeometryCreator
{
public:
//Constructor
G4FaceSurfaceCreator();
~G4FaceSurfaceCreator();
public:
//Member functions
// Constructor & destructor
G4FaceSurfaceCreator();
~G4FaceSurfaceCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Face_Surface"; }
static G4FaceSurfaceCreator GetInstance() { return csc; }
// Members
G4String Name(){return "Face_Surface";};
static G4FaceSurfaceCreator GetInstance(){return csc;};
//Members
private:
static G4FaceSurfaceCreator csc;
static G4FaceSurfaceCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GeometricRepresentationContextCreator.hh,v 1.2 2000/01/21 13:45:25 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometricRepresentationContextCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4GEOMETRICREPRESENTATIONCONTEXTCREATOR_HH
#define G4GEOMETRICREPRESENTATIONCONTEXTCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4GeometricRepresentationContextCreator: private G4GeometryCreator
{
public:
//Constructor
G4GeometricRepresentationContextCreator();
~G4GeometricRepresentationContextCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4GeometricRepresentationContextCreator();
~G4GeometricRepresentationContextCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Geometric_Representation_Context";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Geometric_Representation_Context"; }
static G4GeometricRepresentationContextCreator GetInstance() { return csc; }
static G4GeometricRepresentationContextCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4GeometricRepresentationContextCreator csc;
static G4GeometricRepresentationContextCreator csc;
};
#endif
@@ -1,63 +1,68 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GeometryCreator.hh,v 1.3 2000/01/21 13:45:26 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometryCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4GEOMETRYCREATOR_HH
#define G4GEOMETRYCREATOR_HH
//#include "G4OrderedTable.hh"
#include "G4STEPEntity.hh"
#include "G4NISTStepReader.hh"
#include "G4Curve.hh"
#include "G4PlacedSolid.hh"
//#include "G4Placement.hh"
#include "G4Axis2Placement3D.hh"
//typedef G4RWTPtrOrderedVector<G4Curve> G4CurveVector;
//typedef G4RWTPtrOrderedVector<G4CurveVector> G4BoundaryVector;
#include <schema.h>
#include "globals.hh"
#include "G4PlacedSolid.hh"
#include "G4Surface.hh"
#include "G4BREPSolid.hh"
typedef G4RWTPtrOrderedVector<G4PlacedSolid> G4PlacedSolidVector;
//typedef G4RWTPtrOrderedVector<G4GeometryCreator> G4CreatorVector;
typedef G4RWTPtrOrderedVector<G4Surface> G4SurfaceVector;
typedef G4RWTPtrOrderedVector<G4BREPSolid> G4SolidVector;
//typedef G4RWTPtrOrderedVector<G4Placement> G4PlacementVector;
//#include "G4STEPEntity.hh"
//erator ==(class G4RWTPtrOrderedVector<G4Curve> a, class G4RWTPtrOrderedVector<G4Curve> b){}
#include "globals.hh"
#include "instmgr.h"
#include "STEPentity.h"
#include "STEPaggregate.h"
#include "G4Curve.hh"
//#include "G4Surface.hh"
#include "G4FPlane.hh"
#include "G4FConicalSurface.hh"
#include "G4FCylindricalSurface.hh"
#include "G4CylindricalSurface.hh"
#include "G4ToroidalSurface.hh"
#include "G4SphericalSurface.hh"
#include "G4PlacedSolid.hh"
class G4GeometryCreator
{
public:
G4GeometryCreator(){}
virtual ~G4GeometryCreator(){};
public:
virtual void CreateG4Geometry(STEPentity&)=0;
virtual void CreateSTEPGeometry(void* =0)=0;
// Constructor & destructor
G4GeometryCreator() {;}
virtual ~G4GeometryCreator() {;}
virtual void* GetCreatedObject(){return createdObject;}
// Member functions
virtual G4String Name()=0;
virtual G4bool operator==(const G4GeometryCreator&){return 0;}
virtual STEPattribute* GetNamedAttribute(G4String&,STEPentity&);
virtual STEPentity* GetNamedEntity(G4String&,STEPentity&);
G4int GetNextId(){objectId +=10 ; return objectId; }
virtual void CreateG4Geometry(STEPentity&)=0;
virtual void CreateSTEPGeometry(void* =0)=0;
virtual void* GetCreatedObject() { return createdObject; }
static G4int objectId;
static InstMgr instanceManager;
void* createdObject;
virtual G4String Name()=0;
virtual G4bool operator==(const G4GeometryCreator&) { return 0; }
virtual STEPattribute* GetNamedAttribute(G4String&,STEPentity&);
virtual STEPentity* GetNamedEntity(G4String&,STEPentity&);
G4int GetNextId() { objectId+=10; return objectId; }
// Members
static G4int objectId;
static InstMgr instanceManager;
void* createdObject;
};
#endif
@@ -1,48 +1,64 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GeometryTable.hh,v 1.3 2000/01/21 13:45:26 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometryTable
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4GEOMETRYTABLE_HH
#define G4GEOMETRYTABLE_HH
#include "globals.hh"
#include "G4GeometryCreator.hh"
//#include "G4OrderedTable.hh"
//#include "G4NISTStepReader.hh"
//typedef G4RWTPtrOrderedVector<G4Curve> G4CurveVector;
//typedef G4RWTPtrOrderedVector<G4CurveVector> G4BoundaryVector;
//typedef G4RWTPtrOrderedVector<G4PlacedSolid> G4PlacedSolidVector;
//typedef G4RWTPtrOrderedVector<G4GeometryCreator*> G4CreatorVector;
typedef G4RWTPtrOrderedVector<G4GeometryCreator> G4CreatorVector;
//typedef G4RWTPtrOrderedVector<G4Surface> G4SurfaceVector;
//typedef G4RWTPtrOrderedVector<G4BREPSolid> G4SolidVector;
//operator ==(class G4RWTPtrOrderedVector<G4Curve> a, class G4RWTPtrOrderedVector<G4Curve> b){}
class G4GeometryTable
{
public:
public:
// Destructor
~G4GeometryTable();
//Member functions
static void RegisterObject(G4GeometryCreator*);
static G4bool ExistsInTable(G4String&);
static G4GeometryCreator* GetObject(G4String);
static void* CreateObject(STEPentity&);
static void* CreateSTEPObject(void*, G4String&);
static void PrintObjectNames();
static G4GeometryTable& GetInstance(){return gt;}
~G4GeometryTable();
// Member functions
static void RegisterObject(G4GeometryCreator*);
static G4bool ExistsInTable(G4String&);
static G4GeometryCreator* GetObject(G4String);
static void* CreateObject(STEPentity&);
static void* CreateSTEPObject(void*, G4String&);
static void PrintObjectNames();
static G4GeometryTable& GetInstance() { return gt; }
public:
public:
// Constructor, singleton
G4GeometryTable();
//Members
private:
static G4CreatorVector RegisteredObjects;
static G4GeometryTable gt;
G4GeometryTable();
// Members
private:
static G4CreatorVector RegisteredObjects;
static G4GeometryTable gt;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HyperbolaCreator.hh,v 1.2 2000/01/21 13:45:26 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4HyperbolaCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4HYPERBOLACREATOR_HH
#define G4HYPERBOLACREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4HyperbolaCreator: private G4GeometryCreator
{
public:
//Constructor
G4HyperbolaCreator();
~G4HyperbolaCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4HyperbolaCreator();
~G4HyperbolaCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Hyperbola";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Hyperbola"; }
static G4HyperbolaCreator GetInstance() { return csc; }
static G4HyperbolaCreator GetInstance(){return csc;};
// Members
private:
//Members
private:
static G4HyperbolaCreator csc;
static G4HyperbolaCreator csc;
};
#endif
@@ -1,29 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ItemDefinedTransformationCreator.hh,v 1.2 2000/01/21 13:45:27 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ItemDefinedTransformationCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4ITEMDEFINEDTRANSFORMATIONCREATOR_HH
#define G4ITEMDEFINEDTRANSFORMATIONCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "G4PlacementVector.hh"
class G4ItemDefinedTransformationCreator: private G4GeometryCreator
{
public:
//Constructor
G4ItemDefinedTransformationCreator();
~G4ItemDefinedTransformationCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ItemDefinedTransformationCreator();
~G4ItemDefinedTransformationCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Item_Defined_Transformation";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Item_Defined_Transformation"; }
static G4ItemDefinedTransformationCreator GetInstance() { return csc; }
static G4ItemDefinedTransformationCreator GetInstance(){return csc;};
// Members
private:
//Members
private:
static G4ItemDefinedTransformationCreator csc;
static G4ItemDefinedTransformationCreator csc;
};
#endif
@@ -1,29 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4LineCreator.hh,v 1.2 2000/01/21 13:45:27 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4LineCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4LINECREATOR_HH
#define G4LINECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "G4Line.hh"
class G4LineCreator: private G4GeometryCreator
{
public:
//Constructor
G4LineCreator();
~G4LineCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4LineCreator();
~G4LineCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Line";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Line"; }
static G4LineCreator GetInstance() { return csc; }
static G4LineCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4LineCreator csc;
static G4LineCreator csc;
};
#endif
@@ -1,29 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ManifoldSolidBrepCreator.hh,v 1.2 2000/01/21 13:45:27 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ManifoldSolidBrepCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4MANIFOLDSOLIDBREPCREATOR_HH
#define G4MANIFOLDSOLIDBREPCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "G4BREPSolid.hh"
class G4ManifoldSolidBrepCreator: private G4GeometryCreator
{
public:
//Constructor
G4ManifoldSolidBrepCreator();
~G4ManifoldSolidBrepCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ManifoldSolidBrepCreator();
~G4ManifoldSolidBrepCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Manifold_Solid_Brep";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Manifold_Solid_Brep"; }
static G4ManifoldSolidBrepCreator GetInstance() { return csc; }
static G4ManifoldSolidBrepCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4ManifoldSolidBrepCreator csc;
static G4ManifoldSolidBrepCreator csc;
};
#endif
@@ -5,31 +5,28 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NISTStepReader.hh,v 1.2 1999/12/15 14:50:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4NISTStepReader.hh,v 1.3 2000/01/21 13:45:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4NISTStepReader
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4NISTSTEPFILEREADER_HH
#define G4NISTSTEPFILEREADER_HH
#include <instmgr.h>
#include "G4StepFileReader.hh"
#include "STEPfile.h" /* STEPfile class and others used by SCL */
#include "sdai.h" /* definitions of for EXRPESS built-in types */
#include "schema.h"
#include "instmgr.h"
//#include "G4StepFile.h" /* or suitable substitute */
#ifdef __O3DB__
#include <OpenOODB.h>
#endif
#include "instmgr.h"
#include "Registry.h"
//#include "STEPfile.h"
#include "STEPentity.h"
#include "STEPaggregate.h"
///////////////////////////////////////////////////////////////////////////////
// Function defined as a stub (necessary to use the scl)
// The purpose of this function is to allow the DisplayNode object to delete
@@ -57,13 +54,12 @@ void AssignFileId (STEPentity *se, InstMgr& instance_list)
// define this to be the name of the display window object for
// STEP entity instance editing or define your own.
// This is only needed as there's a link to these from the toolkit
class STEPentity;
class InstMgr;
class StepEntityEditor
{
public:
StepEntityEditor() {};
~StepEntityEditor() {};
StepEntityEditor() {;}
~StepEntityEditor() {;}
};
extern void AssignFileId (STEPentity *se, InstMgr& instance_list);
@@ -74,15 +70,16 @@ extern void SchemaInit (Registry &);
class G4NISTStepReader: public G4StepFileReader
{
public:
void ReadSTEPFile(G4String);
void SaveSTEPFile();
void UpdateSTEPFile();
InstMgr GetInstanceManager(){return InstanceList;}
public:
private:
InstMgr InstanceList;
void ReadSTEPFile(G4String);
void SaveSTEPFile();
void UpdateSTEPFile();
InstMgr GetInstanceManager() { return InstanceList; }
private:
InstMgr InstanceList;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4OpenShellCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4OpenShellCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4OPENSHELLCREATOR_HH
#define G4OPENSHELLCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4OpenShellCreator: private G4GeometryCreator
{
public:
//Constructor
G4OpenShellCreator();
~G4OpenShellCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4OpenShellCreator();
~G4OpenShellCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Open_Shell";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Open_Shell"; }
static G4OpenShellCreator GetInstance() { return csc; }
static G4OpenShellCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4OpenShellCreator csc;
static G4OpenShellCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4OrientedEdgeCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4OrientedEdgeCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4ORIENTEDEDGECREATOR_HH
#define G4ORIENTEDEDGECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4OrientedEdgeCreator: private G4GeometryCreator
{
public:
//Constructor
G4OrientedEdgeCreator();
~G4OrientedEdgeCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4OrientedEdgeCreator();
~G4OrientedEdgeCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Oriented_Edge";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Oriented_Edge"; }
static G4OrientedEdgeCreator GetInstance() { return csc; }
static G4OrientedEdgeCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4OrientedEdgeCreator csc;
static G4OrientedEdgeCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ParabolaCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ParabolaCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4PARABOLACREATOR_HH
#define G4PARABOLACREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4ParabolaCreator: private G4GeometryCreator
{
public:
//Constructor
G4ParabolaCreator();
~G4ParabolaCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ParabolaCreator();
~G4ParabolaCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Parabola";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Parabola"; }
static G4ParabolaCreator GetInstance() { return csc; }
static G4ParabolaCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4ParabolaCreator csc;
static G4ParabolaCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PlaneCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4PlaneCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4PLANECREATOR_HH
#define G4PLANECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4PlaneCreator: private G4GeometryCreator
{
public:
//Constructor
G4PlaneCreator();
~G4PlaneCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4PlaneCreator();
~G4PlaneCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Plane";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Plane"; }
static G4PlaneCreator GetInstance() { return csc; }
static G4PlaneCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4PlaneCreator csc;
static G4PlaneCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PointCreator.hh,v 1.2 2000/01/21 13:45:28 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4PointCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4POINTCREATOR_HH
#define G4POINTCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4PointCreator: private G4GeometryCreator
{
public:
//Constructor
G4PointCreator();
~G4PointCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4PointCreator();
~G4PointCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Point";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Point"; }
static G4PointCreator GetInstance() { return csc; }
static G4PointCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4PointCreator csc;
static G4PointCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PointOnCurveCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4PointOnCurveCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4POINTONCURVECREATOR_HH
#define G4POINTONCURVECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4PointOnCurveCreator: private G4GeometryCreator
{
public:
//Constructor
G4PointOnCurveCreator();
~G4PointOnCurveCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4PointOnCurveCreator();
~G4PointOnCurveCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Point_On_Curve";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Point_On_Curve"; }
static G4PointOnCurveCreator GetInstance() { return csc; }
static G4PointOnCurveCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4PointOnCurveCreator csc;
static G4PointOnCurveCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PointOnSurfaceCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4PointOnSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4POINTONSURFACECREATOR_HH
#define G4POINTONSURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4PointOnSurfaceCreator: private G4GeometryCreator
{
public:
//Constructor
G4PointOnSurfaceCreator();
~G4PointOnSurfaceCreator();
public:
//Member functions
// Constructor & destructor
G4PointOnSurfaceCreator();
~G4PointOnSurfaceCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Point_On_Surface"; }
static G4PointOnSurfaceCreator GetInstance() { return csc; }
G4String Name(){return "Point_On_Surface";};
// Members
static G4PointOnSurfaceCreator GetInstance(){return csc;};
private:
//Members
private:
static G4PointOnSurfaceCreator csc;
static G4PointOnSurfaceCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PointReplicaCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4PointReplicaCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4POINTREPLICACREATOR_HH
#define G4POINTREPLICACREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4PointReplicaCreator: private G4GeometryCreator
{
public:
//Constructor
G4PointReplicaCreator();
~G4PointReplicaCreator();
public:
// Constructor & destructor
//Member functions
G4PointReplicaCreator();
~G4PointReplicaCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void* G4obj);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Point_Replica"; }
static G4PointReplicaCreator GetInstance() { return csc; }
G4String Name(){return "Point_Replica";};
// Members
static G4PointReplicaCreator GetInstance(){return csc;};
private:
//Members
private:
static G4PointReplicaCreator csc;
static G4PointReplicaCreator csc;
};
#endif
@@ -1,28 +1,53 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ProductDefinitionShapeCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ProductDefinitionShapeCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4PRODUCTDEFINITIONSHAPECREATOR_HH
#define G4PRODUCTDEFINITIONSHAPECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4ProductDefinitionShapeCreator: private G4GeometryCreator
{
public:
//Constructor
G4ProductDefinitionShapeCreator();
~G4ProductDefinitionShapeCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ProductDefinitionShapeCreator();
~G4ProductDefinitionShapeCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Product_Definition_Shape";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Product_Definition_Shape"; }
static G4ProductDefinitionShapeCreator GetInstance() { return csc; }
static G4ProductDefinitionShapeCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4ProductDefinitionShapeCreator csc;
static G4ProductDefinitionShapeCreator csc;
};
#endif
@@ -1,29 +1,53 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4RationalBSplineSurfaceCreator.hh,v 1.2 2000/01/21 13:45:29 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4RationalBSplineSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4RATIONALBSPLINESURFACECREATOR_HH
#define G4RATIONALBSPLINESURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "G4BSplineSurfaceCreator.hh"
class G4RationalBSplineSurfaceCreator: public G4BSplineSurfaceCreator
{
public:
//Constructor
G4RationalBSplineSurfaceCreator();
~G4RationalBSplineSurfaceCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4RationalBSplineSurfaceCreator();
~G4RationalBSplineSurfaceCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Rational_B_Spline_Surface";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Rational_B_Spline_Surface"; }
static G4RationalBSplineSurfaceCreator GetInstance() { return csc; }
// Members
static G4RationalBSplineSurfaceCreator GetInstance(){return csc;};
private:
//Members
private:
static G4RationalBSplineSurfaceCreator csc;
static G4RationalBSplineSurfaceCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4RepresentationRelationshipCreator.hh,v 1.3 2000/02/25 16:36:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4RepresentationRelationshipCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4REPRESENTATIONRELATIONSHIPCREATOR_HH
#define G4REPRESENTATIONRELATIONSHIPCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4RepresentationRelationshipCreator: private G4GeometryCreator
{
public:
//Constructor
G4RepresentationRelationshipCreator();
~G4RepresentationRelationshipCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4RepresentationRelationshipCreator();
~G4RepresentationRelationshipCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Representation_Relationship";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Representation_Relationship"; }
static G4RepresentationRelationshipCreator GetInstance() { return csc; }
static G4RepresentationRelationshipCreator GetInstance(){return csc;};
// Members
//Members
private:
static G4int placeCount;
static G4RepresentationRelationshipCreator csc;
private:
static G4RepresentationRelationshipCreator csc;
};
#endif
@@ -1,28 +1,55 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4RepresentationRelationshipWithTransformationCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4RepresentationRelationshipWithTransformationCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4REPRESENTATIONRELATIONSHIPWITHTRANSFORMATIONCREATOR_HH
#define G4REPRESENTATIONRELATIONSHIPWITHTRANSFORMATIONCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4RepresentationRelationshipWithTransformationCreator: private G4GeometryCreator
class G4RepresentationRelationshipWithTransformationCreator
: private G4GeometryCreator
{
public:
//Constructor
G4RepresentationRelationshipWithTransformationCreator();
~G4RepresentationRelationshipWithTransformationCreator();
public:
// Constructor & destructor
//Member functions
G4RepresentationRelationshipWithTransformationCreator();
~G4RepresentationRelationshipWithTransformationCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void*);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name()
{ return "Representation_Relationship_With_Transformation"; }
static G4RepresentationRelationshipWithTransformationCreator GetInstance()
{ return csc; }
G4String Name(){return "Representation_Relationship_With_Transformation";};
// Members
static G4RepresentationRelationshipWithTransformationCreator GetInstance(){return csc;};
private:
//Members
private:
static G4RepresentationRelationshipWithTransformationCreator csc;
static G4RepresentationRelationshipWithTransformationCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ShapeDefinitionRepresentationCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ShapeDefinitionRepresentationCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4SHAPEDEFINITIONREPRESENTATIONCREATOR_HH
#define G4SHAPEDEFINITIONREPRESENTATIONCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4ShapeDefinitionRepresentationCreator: private G4GeometryCreator
{
public:
//Constructor
G4ShapeDefinitionRepresentationCreator();
~G4ShapeDefinitionRepresentationCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ShapeDefinitionRepresentationCreator();
~G4ShapeDefinitionRepresentationCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Shape_Definition_Representation";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Shape_Definition_Representation"; }
static G4ShapeDefinitionRepresentationCreator GetInstance() { return csc; }
static G4ShapeDefinitionRepresentationCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4ShapeDefinitionRepresentationCreator csc;
static G4ShapeDefinitionRepresentationCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ShapeRepresentationCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ShapeRepresentationCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4SHAPEREPRESENTATIONCREATOR_HH
#define G4SHAPEREPRESENTATIONCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "G4PlacementVector.hh"
class G4ShapeRepresentationCreator: private G4GeometryCreator
{
public:
//Constructor
G4ShapeRepresentationCreator();
~G4ShapeRepresentationCreator();
public:
//Member functions
// Constructor
void CreateG4Geometry(STEPentity&);
G4ShapeRepresentationCreator();
~G4ShapeRepresentationCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Shape_Representation";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Shape_Representation"; }
static G4ShapeRepresentationCreator GetInstance() { return csc; }
static G4ShapeRepresentationCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4ShapeRepresentationCreator csc;
static G4ShapeRepresentationCreator csc;
};
#endif
@@ -1,29 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ShapeRepresentationRelationshipCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ShapeRepresentationRelationshipCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4SHAPEREPRESENTATIONRELATIONSHIPCREATOR_HH
#define G4SHAPEREPRESENTATIONRELATIONSHIPCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "G4PlacementVector.hh"
class G4ShapeRepresentationRelationshipCreator: private G4GeometryCreator
{
public:
//Constructor
G4ShapeRepresentationRelationshipCreator();
~G4ShapeRepresentationRelationshipCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ShapeRepresentationRelationshipCreator();
~G4ShapeRepresentationRelationshipCreator();
void CreateSTEPGeometry(void*);
// Member functions
G4String Name(){return "Shape_Representation_Relationship";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Shape_Representation_Relationship"; }
static G4ShapeRepresentationRelationshipCreator GetInstance() { return csc; }
static G4ShapeRepresentationRelationshipCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4ShapeRepresentationRelationshipCreator csc;
static G4ShapeRepresentationRelationshipCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4SphericalSurfaceCreator.hh,v 1.2 2000/01/21 13:45:30 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4SphericalSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4SPHERICALSURFACECREATOR_HH
#define G4SPHERICALSURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4SphericalSurfaceCreator: private G4GeometryCreator
{
public:
//Constructor
G4SphericalSurfaceCreator();
~G4SphericalSurfaceCreator();
public:
// Constructor & destructor
//Member functions
G4SphericalSurfaceCreator();
~G4SphericalSurfaceCreator();
void CreateG4Geometry(STEPentity&);
// Member functions
void CreateSTEPGeometry(void*);
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void*);
G4String Name() { return "Spherical_Surface"; }
static G4SphericalSurfaceCreator GetInstance() { return csc; }
G4String Name(){return "Spherical_Surface";};
// Members
static G4SphericalSurfaceCreator GetInstance(){return csc;};
private:
//Members
private:
static G4SphericalSurfaceCreator csc;
static G4SphericalSurfaceCreator csc;
};
#endif
@@ -5,22 +5,35 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4StepFileReader.hh,v 1.2 1999/12/15 14:50:20 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4StepFileReader.hh,v 1.3 2000/01/21 13:45:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4StepFileReader
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4STEPFILEREADER_HH
#define G4STEPFILEREADER_HH
#include <schema.h>
#include "globals.hh"
#include "instmgr.h"
class G4StepFileReader
{
public:
virtual void ReadSTEPFile(G4String)=0;
virtual void SaveSTEPFile()=0;
virtual void UpdateSTEPFile()=0;
virtual InstMgr GetInstanceManager()=0;
public:
virtual void ReadSTEPFile(G4String)=0;
virtual void SaveSTEPFile()=0;
virtual void UpdateSTEPFile()=0;
virtual InstMgr GetInstanceManager()=0;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ToroidalSurfaceCreator.hh,v 1.2 2000/01/21 13:45:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ToroidalSurfaceCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4TOROIDALSURFACECREATOR_HH
#define G4TOROIDALSURFACECREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4ToroidalSurfaceCreator: private G4GeometryCreator
{
public:
//Constructor
G4ToroidalSurfaceCreator();
~G4ToroidalSurfaceCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4ToroidalSurfaceCreator();
~G4ToroidalSurfaceCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Toroidal_Surface";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Toroidal_Surface"; }
static G4ToroidalSurfaceCreator GetInstance() { return csc; }
static G4ToroidalSurfaceCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4ToroidalSurfaceCreator csc;
static G4ToroidalSurfaceCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VectorCreator.hh,v 1.2 2000/01/21 13:45:31 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4VectorCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4VECTORCREATOR_HH
#define G4VECTORCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4VectorCreator: private G4GeometryCreator
{
public:
//Constructor
G4VectorCreator();
~G4VectorCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4VectorCreator();
~G4VectorCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Vector";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Vector"; }
static G4VectorCreator GetInstance() { return csc; }
static G4VectorCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4VectorCreator csc;
static G4VectorCreator csc;
};
#endif
@@ -1,28 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4VertexPointCreator.hh,v 1.2 2000/01/21 13:45:39 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4VertexPointCreator
//
// Class description:
//
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#ifndef G4VERTEXPOINTCREATOR_HH
#define G4VERTEXPOINTCREATOR_HH
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
class G4VertexPointCreator: private G4GeometryCreator
{
public:
//Constructor
G4VertexPointCreator();
~G4VertexPointCreator();
public:
//Member functions
// Constructor & destructor
void CreateG4Geometry(STEPentity&);
G4VertexPointCreator();
~G4VertexPointCreator();
void CreateSTEPGeometry(void* G4obj);
// Member functions
G4String Name(){return "Vertex_Point";};
void CreateG4Geometry(STEPentity&);
void CreateSTEPGeometry(void* G4obj);
G4String Name() { return "Vertex_Point"; }
static G4VertexPointCreator GetInstance() { return csc; }
static G4VertexPointCreator GetInstance(){return csc;};
// Members
//Members
private:
private:
static G4VertexPointCreator csc;
static G4VertexPointCreator csc;
};
#endif
@@ -1,3 +1,4 @@
#include <schema.h>
#include "G4PointCreator.hh"
#include "G4PointOnSurfaceCreator.hh"
#include "G4PointOnCurveCreator.hh"
@@ -1,7 +1,28 @@
#include "G4AdvancedBrepShapeRepresentationCreator.hh"
#include<stdio.h>
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AdvancedBrepShapeRepresentationCreator.cc,v 1.3 2000/02/25 16:36:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4AdvancedBrepShapeRepresentationCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
G4AdvancedBrepShapeRepresentationCreator
#include <stdio.h>
#include "G4AdvancedBrepShapeRepresentationCreator.hh"
#include "G4GeometryTable.hh"
G4AdvancedBrepShapeRepresentationCreator
G4AdvancedBrepShapeRepresentationCreator::csc;
@@ -16,11 +37,10 @@ G4AdvancedBrepShapeRepresentationCreator::
~G4AdvancedBrepShapeRepresentationCreator(){}
void G4AdvancedBrepShapeRepresentationCreator::
CreateG4Geometry(STEPentity& Ent)
void G4AdvancedBrepShapeRepresentationCreator::CreateG4Geometry(STEPentity& sEnt)
{
G4String attrName("items");
STEPattribute *Attr = GetNamedAttribute(attrName, Ent);
STEPattribute *Attr = GetNamedAttribute(attrName, sEnt);
EntityAggregate *ea = (EntityAggregate*)Attr->ptr.a;
// Get parts of this shape
@@ -48,38 +68,44 @@ void G4AdvancedBrepShapeRepresentationCreator::
{
ent = en->node;
void *tmp = G4GeometryTable::CreateObject(*ent);
if( !strcmp(ent->EntityName(), "Axis2_Placement_3d") )
if (tmp)
{
// Get placement
place = (G4Axis2Placement3D*)tmp;
placement = 1;
if( !strcmp(ent->EntityName(), "Axis2_Placement_3d") )
{
// Get placement
place = (G4Axis2Placement3D*)tmp;
placement = 1;
}
else
if( !strcmp(ent->EntityName(), "Manifold_Solid_Brep") )
{
// Get solid
sld = (G4BREPSolid*)tmp;
nbofsolids++;
G4int id = ent->GetFileId();
sld->SetId(id);
// Create the placed solid
if(placement)
placedSld = new G4PlacedSolid(sld, place);
else
placedSld = new G4PlacedSolid(sld, place0);
placedSldV->append(placedSld);
}
}
else
if( !strcmp(ent->EntityName(), "Manifold_Solid_Brep") )
{
// Get solid
sld = (G4BREPSolid*)tmp;
nbofsolids++;
G4cerr << "WARNING - G4AdvancedBrepShapeRepresentationCreator::CreateG4Geometry" << G4endl
<< "\tEntity part for " << ent->EntityName() << " NOT found." << G4endl;
G4int id = ent->GetFileId();
sld->SetId(id);
// Create the placed solid
if(placement)
placedSld = new G4PlacedSolid(sld, place);
else
placedSld = new G4PlacedSolid(sld, place0);
placedSldV->append(placedSld);
}
en = (EntityNode*)en->NextNode();
}
// Get geometric_representation_context, but it is not used
attrName = "context_of_items";
Attr = GetNamedAttribute(attrName, Ent);
Attr = GetNamedAttribute(attrName, sEnt);
createdObject = placedSldV;
}
@@ -87,6 +113,4 @@ void G4AdvancedBrepShapeRepresentationCreator::
void G4AdvancedBrepShapeRepresentationCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,4 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AdvancedFaceCreator.cc,v 1.3 2000/02/25 16:36:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4AdvancedFaceCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4AdvancedFaceCreator.hh"
#include "G4GeometryTable.hh"
#include "G4CurveVector.hh"
#include "G4CompositeCurve.hh"
#include "G4Surface.hh"
@@ -31,42 +52,55 @@ void G4AdvancedFaceCreator::CreateG4Geometry(STEPentity& Ent)
{
TmpEnt = ((EntityNode*)Node)->node;
tmp =G4GeometryTable::CreateObject(*TmpEnt);
G4CompositeCurve* pcc= new G4CompositeCurve;
pcc->Init(*((G4CurveVector*)tmp));
boundaryVec->insert(pcc);
if (tmp)
{
G4CompositeCurve* pcc= new G4CompositeCurve;
pcc->Init(*((G4CurveVector*)tmp));
boundaryVec->insert(pcc);
}
Node = Node->NextNode();
}
G4int boundNum = boundaryVec->entries();
if (boundNum != boundaryCount)
G4cerr << "WARNING - G4AdvancedFaceCreator::CreateG4Geometry" << G4endl
<< "\tTotal of " << boundNum << " G4CompositeCurve components created, out of "
<< boundaryCount << " expected !" << G4endl;
attrName = "face_geometry";
Attr = GetNamedAttribute(attrName, Ent);
TmpEnt = *Attr->ptr.c;
tmp =G4GeometryTable::CreateObject(*TmpEnt);
srf = (G4Surface*)tmp;
if (tmp)
{
srf = (G4Surface*)tmp;
Attr = Ent.NextAttribute();
// if(*Attr->ptr.b) // BINARY_TYPE
// sense = 1;
// else
// sense = 0;
Attr = Ent.NextAttribute();
// if(*Attr->ptr.b) // BINARY_TYPE
// sense = 1;
// else
// sense = 0;
// Utilize the INTEGER_TYPE attribute which is 0 or 1
sense = *Attr->ptr.i;
// Utilize the INTEGER_TYPE attribute which is 0 or 1
sense = *Attr->ptr.i;
// L. Broglia
srf->SetSameSense(sense);
// L. Broglia
srf->SetSameSense(sense);
// Now, re-calculate the normal of the plane
srf->CalcNormal();
// Now, re-calculate the normal of the plane
srf->CalcNormal();
srf->SetBoundaries(boundaryVec);
}
else
G4cerr << "WARNING - G4AdvancedFaceCreator::CreateG4Geometry" << G4endl
<< "\tNULL pointer to G4Surface. Advanced Face NOT instantiated."
<< G4endl;
srf->SetBoundaries(boundaryVec);
createdObject= srf;
}
void G4AdvancedFaceCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,5 +1,31 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4AssemblyCreator.cc,v 1.5 2000/02/25 16:36:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4AssemblyCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4AssemblyCreator.hh"
#include "G4Assembly.hh"
#include "G4GeometryTable.hh"
#include "G4StepFileReader.hh"
#include "G4NISTStepReader.hh"
#include "G4ToroidalSurface.hh"
extern void HeaderSchemaInit (Registry & reg);
G4AssemblyCreator G4AssemblyCreator::ci;
@@ -34,8 +60,11 @@ void G4AssemblyCreator::ReadStepFile()
instanceManager = StepReader->GetInstanceManager();
}
void G4AssemblyCreator::CreateG4Geometry(STEPentity& Ent)
{
void G4AssemblyCreator::CreateG4Geometry(STEPentity& sEntity)
{
G4cout << G4endl
<< "Creating assembly of G4 solids ..." << G4endl;
// Advanced_Brep_Shape_Representation are created into
// Context_Dependent_Shape_Representation and
// Shape_Definition_Representation
@@ -53,7 +82,7 @@ void G4AssemblyCreator::CreateG4Geometry(STEPentity& Ent)
STEPentity* ent=0;
index = 0;
int tmpindex;
int tmpindex = 0;
void *tmp = 0;
G4PlacedSolidVector* psv = new G4PlacedSolidVector();
@@ -63,46 +92,52 @@ void G4AssemblyCreator::CreateG4Geometry(STEPentity& Ent)
// L. Broglia
if(ConDepShapes>0)
{
//#define G4_STEPINTERFACE_DEBUG 1
#ifdef G4_STEPINTERFACE_DEBUG
G4cout<<"\n\n Creating the Context_Dependent_Shape_Representation"<<G4endl;
#endif
index = 0;
const char* keyw = "Context_Dependent_Shape_Representation";
#ifdef G4_STEPINTERFACE_DEBUG
G4cout << "\n\n Creating the " << keyw << G4endl;
#endif
for( a=0; a< ConDepShapes; a++)
{
#ifdef G4_STEPINTERFACE_DEBUG
G4cout<<"loop "<<a+1<<" of "<<ConDepShapes<<G4endl;
G4cout << "loop " << a+1 << " of " << ConDepShapes << G4endl;
#endif
// Be careful, tmpindex not correspond to STEPfile_id !
tmpindex =
instanceManager.GetIndex("Context_Dependent_Shape_Representation",
index );
ent = instanceManager.GetSTEPentity(tmpindex);
ent = instanceManager.GetApplication_instance(keyw, index);
if(ent!= ENTITY_NULL)
{
tmp =G4GeometryTable::CreateObject(*ent);
G4PlacedSolidVector* tmpV = (G4PlacedSolidVector*)tmp;
G4int entr = tmpV->entries();
// Be careful, tmpindex not correspond to STEPfile_id !
tmpindex = instanceManager.GetIndex(ent);
for(G4int b=0; b<entr; b++)
tmp = G4GeometryTable::CreateObject(*ent);
if (!tmp)
{
ps = tmpV->at(b);
psv->append(ps);
G4cerr << "--- GeometryTable::CreateG4Geometry()" << G4endl;
G4cerr << " No correspondent G4 geometry created for entity: "
<< ent->EntityName() << G4endl;
}
else
{
G4PlacedSolidVector* tmpV = (G4PlacedSolidVector*)tmp;
G4int entr = tmpV->entries();
for(G4int b=0; b<entr; b++)
{
ps = tmpV->at(b);
psv->append(ps);
}
}
index = ent->STEPfile_id ;
#ifdef G4_STEPINTERFACE_DEBUG
G4cout<<" Context_Dependent_Shape_Representation find in index "
<<index<<G4endl;
G4cout << keyw << " found in index " << index << G4endl;
#endif
}
// Set index to the true value
index = tmpindex + 1;
ent=0;
@@ -111,39 +146,50 @@ void G4AssemblyCreator::CreateG4Geometry(STEPentity& Ent)
}
else
{
const char* key = "Shape_Definition_Representation";
#ifdef G4_STEPINTERFACE_DEBUG
G4cout<<"\n Creating the Shape_Definition_Representation"<<G4endl;
G4cout << "\n Creating the " << key << G4endl;
#endif
for(a=0; a< ShapeDefReps ; a++)
{
#ifdef G4_STEPINTERFACE_DEBUG
G4cout<<"loop "<<a+1<<" of "<<ShapeDefReps<<G4endl;
G4cout << "loop " << a+1 << " of " << ShapeDefReps << G4endl;
#endif
// Be careful, tmpindex not correspond to STEPfile_id !
tmpindex = instanceManager.GetIndex("Shape_Definition_Representation",
index );
ent = instanceManager.GetSTEPentity(tmpindex);
ent = instanceManager.GetApplication_instance(key, index);
if(ent!= ENTITY_NULL)
{
// Be careful, tmpindex not correspond to STEPfile_id !
tmpindex = instanceManager.GetIndex(ent);
tmp = G4GeometryTable::CreateObject(*ent);
G4PlacedSolidVector* tmpV = (G4PlacedSolidVector*)tmp;
G4int entr = tmpV->entries();
for(G4int b=0; b<entr; b++)
if (!tmp)
{
ps = tmpV->at(b);
psv->append(ps);
G4cerr << "--- GeometryTable::CreateG4Geometry()" << G4endl;
G4cerr << " No correspondent G4 geometry created for entity: "
<< ent->EntityName() << G4endl;
}
else
{
G4PlacedSolidVector* tmpV = (G4PlacedSolidVector*)tmp;
G4int entr = tmpV->entries();
for(G4int b=0; b<entr; b++)
{
ps = tmpV->at(b);
psv->append(ps);
}
}
index = ent->STEPfile_id ;
#ifdef G4_STEPINTERFACE_DEBUG
G4cout<<" Shape_Definition_Representation find in index "<<index<<G4endl;
G4cout << key << " found in index "<< index << G4endl;
#endif
}
// Set index to the true value
@@ -171,7 +217,3 @@ void G4AssemblyCreator::CreateSTEPGeometry(void* G4obj)
void *tmp =G4GeometryTable::CreateSTEPObject(G4obj, name);
}
}
@@ -1,19 +1,39 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis1PlacementCreator.cc,v 1.2 2000/01/21 13:45:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis1PlacementCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4Axis1PlacementCreator.hh"
#include "G4GeometryTable.hh"
G4Axis1PlacementCreator G4Axis1PlacementCreator::csc;
G4Axis1PlacementCreator::G4Axis1PlacementCreator(){
G4Axis1PlacementCreator::G4Axis1PlacementCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4Axis1PlacementCreator::~G4Axis1PlacementCreator(){}
G4Axis1PlacementCreator::~G4Axis1PlacementCreator() {}
void G4Axis1PlacementCreator::CreateG4Geometry(STEPentity& Ent)
{
}
void G4Axis1PlacementCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,17 +1,39 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis2Placement2dCreator.cc,v 1.2 2000/01/21 13:45:57 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2Placement2dCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4Axis2Placement2dCreator.hh"
#include "G4GeometryTable.hh"
G4Axis2Placement2dCreator G4Axis2Placement2dCreator::csc;
G4Axis2Placement2dCreator::G4Axis2Placement2dCreator(){G4GeometryTable::RegisterObject(this);}
G4Axis2Placement2dCreator::G4Axis2Placement2dCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4Axis2Placement2dCreator::~G4Axis2Placement2dCreator(){}
G4Axis2Placement2dCreator::~G4Axis2Placement2dCreator() {}
void G4Axis2Placement2dCreator::CreateG4Geometry(STEPentity& Ent)
{
}
void G4Axis2Placement2dCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,4 +1,26 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis2Placement3dCreator.cc,v 1.3 2000/02/25 16:36:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2Placement3dCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4Axis2Placement3dCreator.hh"
#include "G4GeometryTable.hh"
G4Axis2Placement3dCreator G4Axis2Placement3dCreator::csc;
G4Axis2Placement3dCreator::G4Axis2Placement3dCreator()
@@ -6,7 +28,7 @@ G4Axis2Placement3dCreator::G4Axis2Placement3dCreator()
G4GeometryTable::RegisterObject(this);
}
G4Axis2Placement3dCreator::~G4Axis2Placement3dCreator(){}
G4Axis2Placement3dCreator::~G4Axis2Placement3dCreator() {}
void G4Axis2Placement3dCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -22,19 +44,34 @@ void G4Axis2Placement3dCreator::CreateG4Geometry(STEPentity& Ent)
// Get point on surface
STEPentity* TmpEnt = *Attr->ptr.c;
void * tmp = G4GeometryTable::CreateObject(*TmpEnt);
srfPoint = *(G4Point3D*)tmp;
if (tmp)
srfPoint = *(G4Point3D*)tmp;
else
G4cerr << "WARNING - G4Axis2Placement3dCreator::CreateG4Geometry" << G4endl
<< "\tPoint on surface (G4Point3D) NULL !" << G4endl
<< "\tThis will result as an incorrect placement." << G4endl;
// Get axis
Attr = Ent.NextAttribute();
TmpEnt = *Attr->ptr.c;
tmp =G4GeometryTable::CreateObject(*TmpEnt);
axis = *(G4Vector3D*)tmp;
if (tmp)
axis = *(G4Vector3D*)tmp;
else
G4cerr << "WARNING - G4Axis2Placement3dCreator::CreateG4Geometry" << G4endl
<< "\tPlacement axis (G4Vector3D) NULL !" << G4endl
<< "\tThis will result as an incorrect placement." << G4endl;
// Get direction
Attr = Ent.NextAttribute();
TmpEnt = *Attr->ptr.c;
tmp =G4GeometryTable::CreateObject(*TmpEnt);
dir = *(G4Vector3D*)tmp;
if (tmp)
dir = *(G4Vector3D*)tmp;
else
G4cerr << "WARNING - G4Axis2Placement3dCreator::CreateG4Geometry" << G4endl
<< "\tPlacement direction (G4Vector3D) NULL !" << G4endl
<< "\tThis will result as an incorrect placement." << G4endl;
createdObject = new G4Axis2Placement3D(dir, axis, srfPoint);
}
@@ -55,27 +92,22 @@ void G4Axis2Placement3dCreator::CreateSTEPGeometry(void* G4obj)
// Get location
void * tmp =G4GeometryTable::CreateSTEPObject(&pt, pointName);
place->Location((SdaiCartesian_point*)tmp);
place->location_((SdaiCartesian_point*)tmp);
// Get axis
tmp = G4GeometryTable::CreateSTEPObject(&axis, directionName);
place->Axis((SdaiDirection*)tmp);
place->axis_((SdaiDirection*)tmp);
// Get dir
tmp = G4GeometryTable::CreateSTEPObject(&dir, directionName);
place->Ref_direction((SdaiDirection*)tmp);
place->ref_direction_((SdaiDirection*)tmp);
// Set STEP info
place->SetFileId(GetNextId());
place->Name("");
place->name_("");
// Write out object & subobjects
place->STEPwrite(G4cout);
createdObject = place;
}
@@ -1,17 +1,39 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis2PlacementCreator.cc,v 1.2 2000/01/21 13:45:58 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2PlacementCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4Axis2PlacementCreator.hh"
#include "G4GeometryTable.hh"
G4Axis2PlacementCreator G4Axis2PlacementCreator::csc;
G4Axis2PlacementCreator::G4Axis2PlacementCreator(){G4GeometryTable::RegisterObject(this);}
G4Axis2PlacementCreator::G4Axis2PlacementCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4Axis2PlacementCreator::~G4Axis2PlacementCreator(){}
G4Axis2PlacementCreator::~G4Axis2PlacementCreator() {}
void G4Axis2PlacementCreator::CreateG4Geometry(STEPentity& Ent)
{
}
void G4Axis2PlacementCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,21 +1,41 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4Axis2PlacementsCreator.cc,v 1.3 2000/01/21 13:45:58 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4Axis2PlacementsCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4Axis2PlacementsCreator.hh"
#include "G4GeometryTable.hh"
G4Axis2PlacementsCreator G4Axis2PlacementsCreator::csc;
G4Axis2PlacementsCreator::G4Axis2PlacementsCreator(){
G4Axis2PlacementsCreator::G4Axis2PlacementsCreator()
{
// G4cerr << " G4Axis2PlacementsCreator default constructor "
// << " calling G4GeometryTable::RegisterObject(this) " << G4endl;
G4GeometryTable::RegisterObject(this);
}
G4Axis2PlacementsCreator::~G4Axis2PlacementsCreator(){}
G4Axis2PlacementsCreator::~G4Axis2PlacementsCreator() {}
void G4Axis2PlacementsCreator::CreateG4Geometry(STEPentity& Ent)
{
}
void G4Axis2PlacementsCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,5 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4BSplineCurveWithKnotsCreator.cc,v 1.4 2000/02/25 16:36:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineCurveWithKnotsCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include <instmgr.h>
#include "G4BSplineCurveWithKnotsCreator.hh"
#include "G4GeometryTable.hh"
#include "G4BSplineCurve.hh"
typedef G4RWTValVector<G4double> G4doubleVector;
G4BSplineCurveWithKnotsCreator G4BSplineCurveWithKnotsCreator::csc;
@@ -11,7 +34,7 @@ G4BSplineCurveWithKnotsCreator::G4BSplineCurveWithKnotsCreator()
}
G4BSplineCurveWithKnotsCreator::~G4BSplineCurveWithKnotsCreator(){}
G4BSplineCurveWithKnotsCreator::~G4BSplineCurveWithKnotsCreator() {}
void G4BSplineCurveWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
@@ -78,9 +101,16 @@ void G4BSplineCurveWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
MgrNode* MgrTmp = instanceManager.FindFileId(Index);
Index = instanceManager.GetIndex(MgrTmp);
Entity = instanceManager.GetSTEPentity(Index);
// Entity = instanceManager.GetSTEPentity(Index);
Entity = instanceManager.GetApplication_instance(Index);
void *tmp =G4GeometryTable::CreateObject(*Entity);
if (!tmp)
{
G4cerr << "ERROR - G4BSplineCurveWithKnotsCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL control point!" << G4endl;
G4Exception("G4BSplineCurveWithKnotsCreator: NULL G4Point3D* ?");
}
G4Point3D* pt = (G4Point3D*) tmp;
G4Point3D Pt(pt->x(), pt->y(), pt->z());
@@ -184,10 +214,8 @@ void G4BSplineCurveWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
bSpline->Init(degree, &controlPointsList, &knots, &weightsData);
createdObject = bSpline;
}
void G4BSplineCurveWithKnotsCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,5 +1,28 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4BSplineSurfaceCreator.cc,v 1.3 2000/02/25 16:36:17 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineSurfaceCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include <instmgr.h>
#include "G4BSplineSurfaceCreator.hh"
#include "G4GeometryTable.hh"
#include "G4ControlPoints.hh"
G4BSplineSurfaceCreator G4BSplineSurfaceCreator::csc;
G4BSplineSurfaceCreator::G4BSplineSurfaceCreator(){G4GeometryTable::RegisterObject(this);}
@@ -14,17 +37,17 @@ void G4BSplineSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
G4String attrName("u_degree");
STEPattribute *Attr = GetNamedAttribute(attrName, Ent);
u = *Attr->ptr.i;
bSpline->U_degree(*Attr->ptr.i);
bSpline->u_degree_(*Attr->ptr.i);
attrName = "v_degree";
Attr = GetNamedAttribute(attrName, Ent);
v=*Attr->ptr.i;
bSpline->V_degree(*Attr->ptr.i);
bSpline->v_degree_(*Attr->ptr.i);
attrName = "control_points_list";
Attr = GetNamedAttribute(attrName, Ent);
STEPaggregate *Aggr = Attr->ptr.a;
GenericAggregate* gAggr = (GenericAggregate*)Attr->ptr.a;
bSpline->Control_points_list(gAggr);
bSpline->control_points_list_(gAggr);
// Get control points
@@ -86,9 +109,14 @@ void G4BSplineSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
//Entity = InstanceList.GetSTEPentity(Index);
MgrNode* MgrTmp = instanceManager.FindFileId(Index);
Index = instanceManager.GetIndex(MgrTmp);
Entity = instanceManager.GetSTEPentity(Index);
// Entity = instanceManager.GetSTEPentity(Index);
Entity = instanceManager.GetApplication_instance(Index);
void *tmp =G4GeometryTable::CreateObject(*Entity);
controlPoints.put(a,b,*(G4PointRat*)tmp);
if (tmp)
controlPoints.put(a,b,*(G4PointRat*)tmp);
else
G4cerr << "WARNING - G4BSplineSurfaceCreator::CreateG4Geometry" << G4endl
<< "\tNULL control point (G4PointRat) detected." << G4endl;
}
createdObject = bSpline;
@@ -1,18 +1,52 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4BSplineSurfaceWithKnotsCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4BSplineSurfaceWithKnotsCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include <instmgr.h>
#include "G4BSplineSurfaceWithKnotsCreator.hh"
#include "G4GeometryTable.hh"
#include "G4ControlPoints.hh"
#include "G4KnotVector.hh"
#include "G4BSplineSurface.hh"
G4BSplineSurfaceWithKnotsCreator G4BSplineSurfaceWithKnotsCreator::csc;
G4BSplineSurfaceWithKnotsCreator::G4BSplineSurfaceWithKnotsCreator(){G4GeometryTable::RegisterObject(this);}
G4BSplineSurfaceWithKnotsCreator::G4BSplineSurfaceWithKnotsCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4BSplineSurfaceWithKnotsCreator::~G4BSplineSurfaceWithKnotsCreator(){}
G4BSplineSurfaceWithKnotsCreator::~G4BSplineSurfaceWithKnotsCreator() {}
void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
{
SdaiB_spline_surface_with_knots *bSpline = new SdaiB_spline_surface_with_knots(&Ent);
G4int rows=0, cols=0;
G4KnotVector* uKnots=0;
G4KnotVector* vKnots=0;
G4ControlPoints* controlPoints=0;
SdaiB_spline_surface_with_knots bSpline(&Ent);
// U dir
G4String attrName("u_multiplicities");
STEPattribute *Attr = GetNamedAttribute(attrName, Ent);
bSpline->U_multiplicities((IntAggregate*)Attr->ptr.a);
bSpline.u_multiplicities_((IntAggregate*)Attr->ptr.a);
STEPaggregate *multAggr = Attr->ptr.a;
G4int uMultCount = multAggr->EntryCount();
@@ -32,12 +66,12 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
multiNode = (IntNode*)multiNode->NextNode();
}
G4KnotVector *uKnots = new G4KnotVector(totalUKnotCount);
uKnots = new G4KnotVector(totalUKnotCount);
RealNode* knotNode = (RealNode*)knotAggr->GetHead();
multiNode = (IntNode*)multAggr->GetHead();
bSpline->U_knots((RealAggregate*)knotAggr);
bSpline.u_knots_((RealAggregate*)knotAggr);
G4int multValue=0;
G4double knotValue=0;
@@ -60,13 +94,13 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
attrName = "v_multiplicities";
Attr = GetNamedAttribute(attrName, Ent);
multAggr = Attr->ptr.a;
bSpline->V_multiplicities((IntAggregate*)Attr->ptr.a);
bSpline.v_multiplicities_((IntAggregate*)Attr->ptr.a);
G4int vMultCount = multAggr->EntryCount();
attrName = "v_knots";
Attr = GetNamedAttribute(attrName, Ent);
knotAggr = Attr->ptr.a;
bSpline->V_knots((RealAggregate*)knotAggr);
bSpline.v_knots_((RealAggregate*)knotAggr);
G4int vKnotCount = knotAggr->EntryCount();
G4int totalVKnotCount = 0;
@@ -77,7 +111,7 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
totalVKnotCount += multiNode->value;
multiNode = (IntNode*)multiNode->NextNode();
}
G4KnotVector *vKnots = new G4KnotVector(totalVKnotCount);
vKnots = new G4KnotVector(totalVKnotCount);
knotNode = (RealNode*)knotAggr->GetHead();
multiNode = (IntNode*)multAggr->GetHead();
@@ -108,17 +142,22 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
if(Attr)
{
u = *Attr->ptr.i;
bSpline->U_degree(*Attr->ptr.i);
bSpline.u_degree_(*Attr->ptr.i);
}
else
G4cerr << "WARNING - G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry" << G4endl
<< "\tSurface attribute u_degree not valid." << G4endl;
attrName = "v_degree";
Attr = GetNamedAttribute(attrName, Ent);
if(Attr)
{
v=*Attr->ptr.i;
bSpline->V_degree(*Attr->ptr.i);
bSpline.v_degree_(*Attr->ptr.i);
}
else
G4cerr << "WARNING - G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry" << G4endl
<< "\tSurface attribute v_degree not valid." << G4endl;
attrName = "control_points_list";
Attr = GetNamedAttribute(attrName, Ent);
@@ -126,7 +165,7 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
{
STEPaggregate *Aggr = Attr->ptr.a;
GenericAggregate* gAggr = (GenericAggregate*)Attr->ptr.a;
bSpline->Control_points_list(gAggr);
bSpline.control_points_list_(gAggr);
// Get control points
G4int cols,rows;
@@ -141,7 +180,7 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
const char *Str = Aggr->asStr(s);
G4int stringlength = strlen(Str);
G4ControlPoints controlPoints(4,rows, cols);
controlPoints = new G4ControlPoints(4,rows, cols);
RealAggregate rationalAggr;
RealNode* rNode =0;
for(G4int a=0;a<rows;a++)
@@ -187,22 +226,35 @@ void G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry(STEPentity& Ent)
//Entity = InstanceList.GetSTEPentity(Index);
MgrNode* MgrTmp = instanceManager.FindFileId(Index);
Index = instanceManager.GetIndex(MgrTmp);
Entity = instanceManager.GetSTEPentity(Index);
// Entity = instanceManager.GetSTEPentity(Index);
Entity = instanceManager.GetApplication_instance(Index);
void *tmp =G4GeometryTable::CreateObject(*Entity);
controlPoints.put(a,b,*(G4PointRat*)tmp);
if (tmp)
controlPoints->put(a,b,*(G4PointRat*)tmp);
else
G4cerr << "WARNING - G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry" << G4endl
<< "\tNULL control point (G4PointRat) detected." << G4endl;
}
}
}
else
G4cerr << "WARNING - G4BSplineSurfaceWithKnotsCreator::CreateG4Geometry" << G4endl
<< "\tSurface attribute control_points_list not valid." << G4endl;
createdObject = bSpline;
if (uKnots && vKnots && controlPoints)
{
createdObject = new G4BSplineSurface(rows, cols, *uKnots, *vKnots, *controlPoints);
delete uKnots;
delete vKnots;
delete controlPoints;
}
else
{
createdObject = 0;
G4cerr << "\tG4BSplineSurface not created !" << G4endl;
}
}
void G4BSplineSurfaceWithKnotsCreator::CreateSTEPGeometry(void* G4obj)
void G4BSplineSurfaceWithKnotsCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,11 +1,39 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4BoundedSurfaceCreator.cc,v 1.4 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4BoundedSurfaceCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include <instmgr.h>
#include <STEPcomplex.h>
#include "G4BoundedSurfaceCreator.hh"
#include "STEPcomplex.h"
#include "G4GeometryTable.hh"
#include "G4ControlPoints.hh"
#include "G4BSplineSurface.hh"
G4BoundedSurfaceCreator G4BoundedSurfaceCreator::csc;
G4BoundedSurfaceCreator::G4BoundedSurfaceCreator(){G4GeometryTable::RegisterObject(this);}
G4BoundedSurfaceCreator::G4BoundedSurfaceCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4BoundedSurfaceCreator::~G4BoundedSurfaceCreator(){}
G4BoundedSurfaceCreator::~G4BoundedSurfaceCreator() {}
void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -19,25 +47,40 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
if(complexEnt->EntityExists("B_Spline_Surface"))
{
subEnt = complexEnt->EntityPart("B_Spline_Surface");
bSpline =(SdaiB_spline_surface*)G4GeometryTable::CreateObject(*subEnt);
bSpline =(SdaiB_spline_surface*)G4GeometryTable::CreateObject(*subEnt);
if (!bSpline)
G4cerr << "WARNING - G4BoundedSurfaceCreator::CreateG4Geometry" << G4endl
<< "\tComplex entity part -BSpline surface- not found !" << G4endl;
}
if(complexEnt->EntityExists("B_Spline_Surface_With_Knots"))
{
subEnt = complexEnt->EntityPart("B_Spline_Surface_With_Knots");
bSplineWithKnots =(SdaiB_spline_surface_with_knots*)G4GeometryTable::CreateObject(*subEnt);
if (!bSplineWithKnots)
G4cerr << "WARNING - G4BoundedSurfaceCreator::CreateG4Geometry" << G4endl
<< "\tComplex entity part -BSpline surface with knots- not found !" << G4endl;
}
if(complexEnt->EntityExists("Rational_B_Spline_Surface"))
{
subEnt = complexEnt->EntityPart("Rational_B_Spline_Surface");
rationalBSpline =(SdaiRational_b_spline_surface*)G4GeometryTable::CreateObject(*subEnt);
if (!rationalBSpline)
G4cerr << "WARNING - G4BoundedSurfaceCreator::CreateG4Geometry" << G4endl
<< "\tComplex entity part -Rational BSpline surface- not found !" << G4endl;
}
if ((!bSpline) || (!bSplineWithKnots) || (!rationalBSpline))
{
G4cerr << "\tComplex Bounded Surface NOT created." << G4endl;
createdObject = 0;
return;
}
G4int u,v;
u=bSpline->U_degree();
v=bSpline->V_degree();
u=bSpline->u_degree_();
v=bSpline->v_degree_();
// Get control points
@@ -50,7 +93,7 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
G4int Index;
STEPentity *Entity;
SCLstring s;
STEPaggregate *Aggr=bSpline->Control_points_list();
STEPaggregate *Aggr=bSpline->control_points_list_();
const char *Str = Aggr->asStr(s);
G4int stringlength = strlen(Str);
@@ -101,16 +144,21 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
//Entity = InstanceList.GetSTEPentity(Index);
MgrNode* MgrTmp = instanceManager.FindFileId(Index);
Index = instanceManager.GetIndex(MgrTmp);
Entity = instanceManager.GetSTEPentity(Index);
// Entity = instanceManager.GetSTEPentity(Index);
Entity = instanceManager.GetApplication_instance(Index);
void *tmp =G4GeometryTable::CreateObject(*Entity);
controlPoints.put(a,b,*(G4PointRat*)tmp);
if (tmp)
controlPoints.put(a,b,*(G4PointRat*)tmp);
else
G4cerr << "WARNING - G4BoundedSurfaceCreator::CreateG4Geometry" << G4endl
<< "\tNULL control point (G4PointRat) detected." << G4endl;
}
// Get knot vectors
STEPaggregate *multAggr = bSplineWithKnots->U_multiplicities();
STEPaggregate *multAggr = bSplineWithKnots->u_multiplicities_();
G4int uMultCount = multAggr->EntryCount();
STEPaggregate *knotAggr = bSplineWithKnots->U_knots();
STEPaggregate *knotAggr = bSplineWithKnots->u_knots_();
G4int uKnotCount = knotAggr->EntryCount();
G4int totalUKnotCount = 0;
@@ -122,7 +170,7 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
multiNode = (IntNode*)multiNode->NextNode();
}
G4KnotVector *uKnots = new G4KnotVector(totalUKnotCount);
G4KnotVector uKnots(totalUKnotCount);
RealNode* knotNode = (RealNode*)knotAggr->GetHead();
multiNode = (IntNode*)multAggr->GetHead();
@@ -137,7 +185,7 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
for(G4int b=0;b<multValue;b++)
{
uKnots->PutKnot(index, knotValue);
uKnots.PutKnot(index, knotValue);
index++;
}
knotNode = (RealNode*)knotNode->NextNode();
@@ -146,10 +194,10 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
// V dir
multAggr = bSplineWithKnots->V_multiplicities();
multAggr = bSplineWithKnots->v_multiplicities_();
G4int vMultCount = multAggr->EntryCount();
knotAggr = bSplineWithKnots->V_knots();
knotAggr = bSplineWithKnots->v_knots_();
G4int vKnotCount = knotAggr->EntryCount();
G4int totalVKnotCount = 0;
@@ -160,7 +208,7 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
totalVKnotCount += multiNode->value;
multiNode = (IntNode*)multiNode->NextNode();
}
G4KnotVector *vKnots = new G4KnotVector(totalVKnotCount);
G4KnotVector vKnots(totalVKnotCount);
knotNode = (RealNode*)knotAggr->GetHead();
multiNode = (IntNode*)multAggr->GetHead();
@@ -176,7 +224,7 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
for(G4int b=0;b<multValue;b++)
{
vKnots->PutKnot(index, knotValue);
vKnots.PutKnot(index, knotValue);
index++;
}
knotNode = (RealNode*)knotNode->NextNode();
@@ -185,7 +233,8 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
// copy weights data
STEPaggregate *weightAggr = rationalBSpline->Weights_data();
STEPaggregate *weightAggr = rationalBSpline->weights_data_();
// Temp solution until NIST supports
// two dimensional instances.grrh
const char* Str2 = weightAggr->asStr(s);
@@ -227,19 +276,19 @@ void G4BoundedSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
}
controlPoints.SetWeights(ratVector);
delete [] ratVector;
// create BSpline
G4BSplineSurface* bSplineSrf = new G4BSplineSurface(
u,
v,
*uKnots,
*vKnots,
uKnots,
vKnots,
controlPoints
);
);
createdObject = bSplineSrf;
}
void G4BoundedSurfaceCreator::CreateSTEPGeometry(void * G4obj)
{
}
@@ -1,4 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CartesianPointCreator.cc,v 1.2 2000/01/21 13:45:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4CartesianPointCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4CartesianPointCreator.hh"
#include "G4GeometryTable.hh"
G4CartesianPointCreator G4CartesianPointCreator::csc;
@@ -7,7 +28,7 @@ G4CartesianPointCreator::G4CartesianPointCreator()
G4GeometryTable::RegisterObject(this);
}
G4CartesianPointCreator::~G4CartesianPointCreator(){}
G4CartesianPointCreator::~G4CartesianPointCreator() {}
void G4CartesianPointCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -52,16 +73,10 @@ void G4CartesianPointCreator::CreateSTEPGeometry(void* G4obj)
pointAggr.AddNode(za);
SdaiCartesian_point *sPoint = new SdaiCartesian_point();
sPoint->Coordinates(&pointAggr);
sPoint->coordinates_(&pointAggr);
sPoint->SetFileId(GetNextId());
sPoint->Name("");
sPoint->name_("");
sPoint->STEPwrite(G4cout);
createdObject = sPoint;
}
@@ -1,4 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CircleCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4CircleCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4CircleCreator.hh"
#include "G4GeometryTable.hh"
#include "G4CircularCurve.hh"
@@ -9,7 +30,7 @@ G4CircleCreator::G4CircleCreator()
G4GeometryTable::RegisterObject(this);
}
G4CircleCreator::~G4CircleCreator(){}
G4CircleCreator::~G4CircleCreator() {}
void G4CircleCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -24,13 +45,18 @@ void G4CircleCreator::CreateG4Geometry(STEPentity& Ent)
Attr = Ent.NextAttribute();
// Get the placement
SelectNode* SelectN = (SelectNode*)Attr->ptr.sh;
SdaiSelect* Select = (SdaiSelect*)SelectN;
// SelectNode* SelectN = (SelectNode*)Attr->ptr.sh;
// SdaiSelect* Select = (SdaiSelect*)SelectN;
SdaiSelect* Select = Attr->ptr.sh;
SdaiAxis2_placement* Place = (SdaiAxis2_placement*)Select;
STEPentity* TmpEnt = Place->operator SdaiAxis2_placement_3dH();
void * tmp =G4GeometryTable::CreateObject(*TmpEnt);
place = *(G4Axis2Placement3D*)tmp;
if (tmp)
place = *(G4Axis2Placement3D*)tmp;
else
G4cerr << "WARNING - G4CircleCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL axis placement (G4Axis2Placement3D) detected." << G4endl;
Attr = Ent.NextAttribute();
radius = *Attr->ptr.r;
@@ -42,6 +68,4 @@ void G4CircleCreator::CreateG4Geometry(STEPentity& Ent)
void G4CircleCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,14 +1,38 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ClosedShellCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ClosedShellCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4ClosedShellCreator.hh"
#include "G4GeometryTable.hh"
#include "G4BREPSolid.hh"
G4ClosedShellCreator G4ClosedShellCreator::csc;
G4ClosedShellCreator::G4ClosedShellCreator(){G4GeometryTable::RegisterObject(this);}
G4ClosedShellCreator::G4ClosedShellCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4ClosedShellCreator::~G4ClosedShellCreator(){}
G4ClosedShellCreator::~G4ClosedShellCreator() {}
void G4ClosedShellCreator::CreateG4Geometry(STEPentity& Ent)
{
G4String attrName("cfs_faces");
STEPattribute *Attr = GetNamedAttribute(attrName, Ent);
STEPaggregate *Aggr = Attr->ptr.a;
@@ -19,26 +43,28 @@ void G4ClosedShellCreator::CreateG4Geometry(STEPentity& Ent)
G4SurfaceVector SurfaceVec;
for(G4int a=0; a<FaceCount;a++)
for(size_t a=0; a<FaceCount;a++)
{
TmpEnt = ((EntityNode*)Node)->node;
void *tmp =::G4GeometryTable::CreateObject(*TmpEnt);
SurfaceVec.append((G4Surface*)tmp);
void *tmp = G4GeometryTable::CreateObject(*TmpEnt);
if (tmp) SurfaceVec.append((G4Surface*)tmp);
Node = Node->NextNode();
}
// create G4solid
G4Surface** srfVec = new G4Surface*[FaceCount];
for(G4int b=0;b<FaceCount;b++)
G4int SurfNum = SurfaceVec.entries();
G4Surface** srfVec = new G4Surface*[SurfNum];
if (SurfNum != FaceCount)
G4cerr << "WARNING - G4ClosedShellCreator::CreateG4Geometry" << G4endl
<< "\tTotal of " << SurfNum << " G4Surface components created, out of "
<< FaceCount << " expected !" << G4endl
<< "\tBREP Solid not correctly instantiated." << G4endl;
for(size_t b=0;b<SurfNum;b++)
srfVec[b] = (SurfaceVec[b]);
G4BREPSolid* sld = new G4BREPSolid(" ", srfVec, FaceCount);
G4BREPSolid* sld = new G4BREPSolid(" ", srfVec, SurfNum);
createdObject = sld;
// delete [] srfVec;
// delete sld;
}
void G4ClosedShellCreator::CreateSTEPGeometry(void* G4obj)
@@ -62,14 +88,10 @@ void G4ClosedShellCreator::CreateSTEPGeometry(void* G4obj)
eNode = new EntityNode((STEPentity*)tmp);
eAggr.AddNode(eNode);
}
sld->Cfs_faces(&eAggr);
sld->cfs_faces_(&eAggr);
sld->SetFileId(GetNextId());
sld->Name("");
sld->name_("");
sld->STEPwrite(G4cout);
createdObject = sld;
@@ -1,10 +1,34 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ConicCreator.cc,v 1.2 2000/01/21 13:45:59 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ConicCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4ConicCreator.hh"
#include "G4GeometryTable.hh"
G4ConicCreator G4ConicCreator::csc;
G4ConicCreator::G4ConicCreator(){G4GeometryTable::RegisterObject(this);}
G4ConicCreator::G4ConicCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4ConicCreator::~G4ConicCreator(){}
G4ConicCreator::~G4ConicCreator() {}
void G4ConicCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -22,5 +46,4 @@ void G4ConicCreator::CreateG4Geometry(STEPentity& Ent)
void G4ConicCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,11 +1,36 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ConicalSurfaceCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ConicalSurfaceCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4ConicalSurfaceCreator.hh"
#include "G4GeometryTable.hh"
#include "G4ConicalSurface.hh"
#include "G4FConicalSurface.hh"
G4ConicalSurfaceCreator G4ConicalSurfaceCreator::csc;
G4ConicalSurfaceCreator::G4ConicalSurfaceCreator(){G4GeometryTable::RegisterObject(this);}
G4ConicalSurfaceCreator::G4ConicalSurfaceCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4ConicalSurfaceCreator::~G4ConicalSurfaceCreator(){}
G4ConicalSurfaceCreator::~G4ConicalSurfaceCreator() {}
void G4ConicalSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -29,14 +54,17 @@ void G4ConicalSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
angle = *Attr->ptr.r; // Be careful, angle is in degree
G4ConicalSurface* aG4cone =
new G4ConicalSurface( (*place).GetLocation() ,
(*place).GetAxis() ,
angle * 2*M_PI/360 );
G4ConicalSurface* aG4cone = 0;
if (place)
aG4cone = new G4ConicalSurface( (*place).GetLocation() ,
(*place).GetAxis() ,
abs(angle * 2*M_PI/360) );
else
G4cerr << "WARNING - G4ConicalSurfaceCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL axis placement (G4Axis2Placement3D) !" << G4endl
<< "\tConical Surface NOT created." << G4endl;
createdObject = aG4cone;
}
void G4ConicalSurfaceCreator::CreateSTEPGeometry(void* G4obj)
@@ -47,20 +75,17 @@ void G4ConicalSurfaceCreator::CreateSTEPGeometry(void* G4obj)
G4String placementName("Axis2Placement3d");
void * tmp =G4GeometryTable::CreateSTEPObject(&fCon, placementName);
SdaiAxis2_placement_3d *place = (SdaiAxis2_placement_3d*)tmp;
srf->Position(place);
srf->position_(place);
// radius
srf->Radius(fCon->GetSmallRadius());
srf->radius_(fCon->GetSmallRadius());
// semi-angle
//srf->Semi_angle(fCon->GetAngle());
// Set STEP info
srf->SetFileId(GetNextId());
srf->Name("");
srf->name_("");
// Write out object
srf->STEPwrite(G4cout);
createdObject = srf;
}
@@ -1,17 +1,39 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ConnectedFaceSetCreator.cc,v 1.2 2000/01/21 13:46:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ConnectedFaceSetCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4ConnectedFaceSetCreator.hh"
#include "G4GeometryTable.hh"
G4ConnectedFaceSetCreator G4ConnectedFaceSetCreator::csc;
G4ConnectedFaceSetCreator::G4ConnectedFaceSetCreator(){G4GeometryTable::RegisterObject(this);}
G4ConnectedFaceSetCreator::G4ConnectedFaceSetCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4ConnectedFaceSetCreator::~G4ConnectedFaceSetCreator(){}
G4ConnectedFaceSetCreator::~G4ConnectedFaceSetCreator() {}
void G4ConnectedFaceSetCreator::CreateG4Geometry(STEPentity& Ent)
{
}
void G4ConnectedFaceSetCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,21 +1,51 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ContextDependentShapeRepresentationCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4ContextDependentShapeRepresentationCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4ContextDependentShapeRepresentationCreator.hh"
#include "G4GeometryTable.hh"
G4ContextDependentShapeRepresentationCreator G4ContextDependentShapeRepresentationCreator::csc;
G4ContextDependentShapeRepresentationCreator
G4ContextDependentShapeRepresentationCreator::csc;
G4ContextDependentShapeRepresentationCreator::G4ContextDependentShapeRepresentationCreator(){G4GeometryTable::RegisterObject(this);}
G4ContextDependentShapeRepresentationCreator::~G4ContextDependentShapeRepresentationCreator(){}
void G4ContextDependentShapeRepresentationCreator::CreateG4Geometry(STEPentity& Ent)
G4ContextDependentShapeRepresentationCreator::
G4ContextDependentShapeRepresentationCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4ContextDependentShapeRepresentationCreator::
~G4ContextDependentShapeRepresentationCreator() {}
void G4ContextDependentShapeRepresentationCreator::
CreateG4Geometry(STEPentity& Ent)
{
G4String attrName("representation_relation");
STEPattribute *Attr = GetNamedAttribute(attrName, Ent);
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
if (!tmp)
G4cerr << "WARNING - G4ContextDependentShapeRepresentationCreator::CreateG4Geometry" << G4endl
<< "\tNULL G4PlacedSolidVector returned." << G4endl;
G4PlacedSolidVector* psV = (G4PlacedSolidVector*)tmp;
// L. Broglia
// For the moment, the represented_product_relation is not needed
// So don`t create it
@@ -27,7 +57,7 @@ void G4ContextDependentShapeRepresentationCreator::CreateG4Geometry(STEPentity&
createdObject = psV;
}
void G4ContextDependentShapeRepresentationCreator::CreateSTEPGeometry(void* obj)
void G4ContextDependentShapeRepresentationCreator::
CreateSTEPGeometry(void* obj)
{
}
@@ -1,11 +1,35 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CurveCreator.cc,v 1.2 2000/01/21 13:46:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4CurveCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4CurveCreator.hh"
#include "G4GeometryTable.hh"
G4CurveCreator G4CurveCreator::csc;
G4CurveCreator::G4CurveCreator(){G4GeometryTable::RegisterObject(this);}
G4CurveCreator::G4CurveCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4CurveCreator::~G4CurveCreator(){}
G4CurveCreator::~G4CurveCreator() {}
void G4CurveCreator::CreateG4Geometry(STEPentity& Ent){}
void G4CurveCreator::CreateG4Geometry(STEPentity& Ent) {}
void G4CurveCreator::CreateSTEPGeometry(void* G4obj){}
void G4CurveCreator::CreateSTEPGeometry(void* G4obj) {}
@@ -1,13 +1,36 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4CylindricalSurfaceCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4CylindricalSurfaceCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4CylindricalSurfaceCreator.hh"
#include "G4GeometryTable.hh"
#include "G4FCylindricalSurface.hh"
#include "G4CylindricalSurface.hh"
G4CylindricalSurfaceCreator G4CylindricalSurfaceCreator::csc;
G4CylindricalSurfaceCreator::G4CylindricalSurfaceCreator(){G4GeometryTable::RegisterObject(this);}
G4CylindricalSurfaceCreator::G4CylindricalSurfaceCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4CylindricalSurfaceCreator::~G4CylindricalSurfaceCreator(){}
G4CylindricalSurfaceCreator::~G4CylindricalSurfaceCreator() {}
void G4CylindricalSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -30,10 +53,16 @@ void G4CylindricalSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
Attr = GetNamedAttribute(attrNameR, Ent);
radius = *Attr->ptr.r;
G4CylindricalSurface* aG4cylinder =
new G4CylindricalSurface( (*place).GetLocation() ,
(*place).GetAxis() ,
radius );
G4CylindricalSurface* aG4cylinder = 0;
if (place)
aG4cylinder = new G4CylindricalSurface( (*place).GetLocation() ,
(*place).GetAxis() ,
radius );
else
G4cerr << "WARNING - G4CylindricalSurfaceCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL axis placement (G4Axis2Placement3D) !" << G4endl
<< "\tCylindrical Surface NOT created." << G4endl;
createdObject = aG4cylinder;
}
@@ -46,21 +75,17 @@ void G4CylindricalSurfaceCreator::CreateSTEPGeometry(void* G4obj)
G4String placementName("Axis2Placement3d");
void * tmp =G4GeometryTable::CreateSTEPObject(&fCyl, placementName);
SdaiAxis2_placement_3d *place = (SdaiAxis2_placement_3d*)tmp;
srf->Position(place);
srf->position_(place);
// radius
srf->Radius(fCyl->GetRadius());
srf->radius_(fCyl->GetRadius());
// Set STEP info
srf->SetFileId(GetNextId());
srf->Name("");
srf->name_("");
// Write out object
srf->STEPwrite(G4cout);
createdObject = srf;
}
@@ -1,4 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4DirectionCreator.cc,v 1.2 2000/01/21 13:46:00 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4DirectionCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4DirectionCreator.hh"
#include "G4GeometryTable.hh"
G4DirectionCreator G4DirectionCreator::csc;
@@ -7,7 +28,7 @@ G4DirectionCreator::G4DirectionCreator()
G4GeometryTable::RegisterObject(this);
}
G4DirectionCreator::~G4DirectionCreator(){}
G4DirectionCreator::~G4DirectionCreator() {}
void G4DirectionCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -54,12 +75,9 @@ void G4DirectionCreator::CreateSTEPGeometry(void* G4obj)
dirAggr.AddNode(za);
SdaiDirection *sDir = new SdaiDirection();
sDir->Direction_ratios(&dirAggr);
sDir->direction_ratios_(&dirAggr);
sDir->SetFileId(GetNextId());
sDir->Name("");
sDir->name_("");
sDir->STEPwrite(G4cout);
createdObject = sDir;
}
@@ -1,4 +1,25 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EdgeCurveCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4EdgeCurveCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4EdgeCurveCreator.hh"
#include "G4GeometryTable.hh"
G4EdgeCurveCreator G4EdgeCurveCreator::csc;
@@ -7,12 +28,12 @@ G4EdgeCurveCreator::G4EdgeCurveCreator()
G4GeometryTable::RegisterObject(this);
}
G4EdgeCurveCreator::~G4EdgeCurveCreator(){}
G4EdgeCurveCreator::~G4EdgeCurveCreator() {}
void G4EdgeCurveCreator::CreateG4Geometry(STEPentity& Ent)
{
G4Point3D *pt1,*pt2;
G4Curve* crv;
G4Curve* crv=0;
G4bool sameSense;
// Get start point
@@ -21,6 +42,9 @@ void G4EdgeCurveCreator::CreateG4Geometry(STEPentity& Ent)
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
pt1 = (G4Point3D*)tmp;
if (!tmp)
G4cerr << "WARNING - G4EdgeCurveCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL edge-start (G4Point3D) !" << G4endl;
// Get end point
attrName = "edge_end";
@@ -28,20 +52,38 @@ void G4EdgeCurveCreator::CreateG4Geometry(STEPentity& Ent)
TmpEnt = *Attr->ptr.c;
tmp =G4GeometryTable::CreateObject(*TmpEnt);
pt2 = (G4Point3D*)tmp;
if (!tmp)
G4cerr << "WARNING - G4EdgeCurveCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL edge-end (G4Point3D) !" << G4endl;
// Get curve
attrName = "edge_geometry";
Attr = GetNamedAttribute(attrName, Ent);
TmpEnt = *Attr->ptr.c;
tmp =G4GeometryTable::CreateObject(*TmpEnt);
crv = (G4Curve*)tmp;
// set the bounds
G4Point3D p1(pt1->x(), pt1->y(), pt1->z());
G4Point3D p2(pt2->x(), pt2->y(), pt1->z());
if ((!pt1) || (!pt2))
{
G4cerr << "\tEdge Curve NOT created." << G4endl;
createdObject = 0;
return;
}
crv->SetBounds(p1, p2);
if (tmp)
{
crv = (G4Curve*)tmp;
// set the bounds
G4Point3D p1(pt1->x(), pt1->y(), pt1->z());
G4Point3D p2(pt2->x(), pt2->y(), pt1->z());
crv->SetBounds(p1, p2);
}
else
G4cerr << "WARNING - G4EdgeCurveCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL curve (G4Curve) !" << G4endl
<< "\tEdge Curve NOT created." << G4endl;
//get sense info
Attr = Ent.NextAttribute();
// sameSense = *Attr->ptr.b;
@@ -50,9 +92,4 @@ void G4EdgeCurveCreator::CreateG4Geometry(STEPentity& Ent)
}
void G4EdgeCurveCreator::CreateSTEPGeometry(void* G4obj){}
void G4EdgeCurveCreator::CreateSTEPGeometry(void* G4obj) {}
@@ -1,10 +1,34 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EdgeLoopCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4EdgeLoopCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4EdgeLoopCreator.hh"
#include "G4GeometryTable.hh"
G4EdgeLoopCreator G4EdgeLoopCreator::csc;
G4EdgeLoopCreator::G4EdgeLoopCreator(){G4GeometryTable::RegisterObject(this);}
G4EdgeLoopCreator::G4EdgeLoopCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4EdgeLoopCreator::~G4EdgeLoopCreator(){}
G4EdgeLoopCreator::~G4EdgeLoopCreator() {}
void G4EdgeLoopCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -16,20 +40,25 @@ void G4EdgeLoopCreator::CreateG4Geometry(STEPentity& Ent)
STEPentity* TmpEnt=0;
G4int EdgeCount = Aggr->EntryCount();
G4CurveVector* CurveVec = new G4CurveVector[EdgeCount];
G4CurveVector* CurveVec = new G4CurveVector;
for(G4int a=0; a<EdgeCount;a++)
{
TmpEnt = ((EntityNode*)Node)->node;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
CurveVec->append((G4Curve*)tmp);
if (tmp) CurveVec->append((G4Curve*)tmp);
Node = Node->NextNode();
}
G4int EdgeNum = CurveVec->entries();
if (EdgeNum != EdgeCount)
G4cerr << "WARNING - G4EdgeLoopCreator::CreateG4Geometry" << G4endl
<< "\tTotal of " << EdgeNum << " G4Curve components created, out of "
<< EdgeCount << " expected !" << G4endl;
createdObject = CurveVec;
}
void G4EdgeLoopCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,10 +1,34 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4EllipseCreator.cc,v 1.3 2000/02/25 16:36:18 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4EllipseCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4EllipseCreator.hh"
#include "G4GeometryTable.hh"
G4EllipseCreator G4EllipseCreator::csc;
G4EllipseCreator::G4EllipseCreator(){G4GeometryTable::RegisterObject(this);}
G4EllipseCreator::G4EllipseCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4EllipseCreator::~G4EllipseCreator(){}
G4EllipseCreator::~G4EllipseCreator() {}
void G4EllipseCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -12,7 +36,7 @@ void G4EllipseCreator::CreateG4Geometry(STEPentity& Ent)
// L. Broglia
// G4Placement* place;
G4Axis2Placement3D* place;
G4Axis2Placement3D* place=0;
Ent.ResetAttributes();
STEPattribute* Attr = Ent.NextAttribute();
@@ -38,5 +62,4 @@ void G4EllipseCreator::CreateG4Geometry(STEPentity& Ent)
void G4EllipseCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,10 +1,34 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4FaceBoundCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4FaceBoundCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4FaceBoundCreator.hh"
#include "G4GeometryTable.hh"
G4FaceBoundCreator G4FaceBoundCreator::csc;
G4FaceBoundCreator::G4FaceBoundCreator(){G4GeometryTable::RegisterObject(this);}
G4FaceBoundCreator::G4FaceBoundCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4FaceBoundCreator::~G4FaceBoundCreator(){}
G4FaceBoundCreator::~G4FaceBoundCreator() {}
void G4FaceBoundCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -15,6 +39,10 @@ void G4FaceBoundCreator::CreateG4Geometry(STEPentity& Ent)
// Get curve
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
if (!tmp)
G4cerr << "WARNING - G4FaceBoundCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL curve vector (G4CurveVector) !" << G4endl
<< "\tEntity NOT created." << G4endl;
// L. Broglia
// Mistake : the created object tmp is a G4CurveVector
@@ -25,10 +53,8 @@ void G4FaceBoundCreator::CreateG4Geometry(STEPentity& Ent)
//orientation = *Attr->ptr.i;
//crv->SetSameSense(orientation);
createdObject = crv;
}
void G4FaceBoundCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,12 +1,35 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4FaceOuterBoundCreator.cc,v 1.2 2000/01/21 13:46:01 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4FaceOuterBoundCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4FaceOuterBoundCreator.hh"
#include "G4GeometryTable.hh"
G4FaceOuterBoundCreator G4FaceOuterBoundCreator::csc;
G4FaceOuterBoundCreator::G4FaceOuterBoundCreator(){G4GeometryTable::RegisterObject(this);}
G4FaceOuterBoundCreator::G4FaceOuterBoundCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4FaceOuterBoundCreator::~G4FaceOuterBoundCreator(){}
G4FaceOuterBoundCreator::~G4FaceOuterBoundCreator() {}
void G4FaceOuterBoundCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,10 +1,34 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4FaceSurfaceCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4FaceSurfaceCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4FaceSurfaceCreator.hh"
#include "G4GeometryTable.hh"
G4FaceSurfaceCreator G4FaceSurfaceCreator::csc;
G4FaceSurfaceCreator::G4FaceSurfaceCreator(){G4GeometryTable::RegisterObject(this);}
G4FaceSurfaceCreator::G4FaceSurfaceCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4FaceSurfaceCreator::~G4FaceSurfaceCreator(){}
G4FaceSurfaceCreator::~G4FaceSurfaceCreator() {}
void G4FaceSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -17,6 +41,10 @@ void G4FaceSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
srf = (G4Surface*)tmp;
if (!tmp)
G4cerr << "WARNING - G4FaceSurfaceCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL pointer to G4Surface !" << G4endl
<< "\tFace Surface NOT created." << G4endl;
Attr = Ent.NextAttribute();
// sense = *Attr->ptr.b;
@@ -25,8 +53,4 @@ void G4FaceSurfaceCreator::CreateG4Geometry(STEPentity& Ent)
void G4FaceSurfaceCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,16 +1,37 @@
#include "G4GeometricRepresentationContextCreator.hh"
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GeometricRepresentationContextCreator.cc,v 1.3 2000/01/21 13:46:02 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
// ----------------------------------------------------------------------
// Class G4GeometricRepresentationContextCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
G4GeometricRepresentationContextCreator G4GeometricRepresentationContextCreator
::csc;
#include "G4GeometricRepresentationContextCreator.hh"
#include "G4GeometryTable.hh"
G4GeometricRepresentationContextCreator
G4GeometricRepresentationContextCreator::csc;
G4GeometricRepresentationContextCreator::
G4GeometricRepresentationContextCreator()
G4GeometricRepresentationContextCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4GeometricRepresentationContextCreator::
~G4GeometricRepresentationContextCreator(){}
~G4GeometricRepresentationContextCreator() {}
void G4GeometricRepresentationContextCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -30,5 +51,4 @@ void G4GeometricRepresentationContextCreator::CreateG4Geometry(STEPentity& Ent)
void G4GeometricRepresentationContextCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,11 +1,35 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GeometryCreator.cc,v 1.3 2000/01/21 13:46:02 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4GeometryCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include <instmgr.h>
#include <STEPcomplex.h>
#include "G4GeometryCreator.hh"
#include "G4GeometryTable.hh"
#include "STEPcomplex.h"
InstMgr G4GeometryCreator::instanceManager;
G4int G4GeometryCreator::objectId = 0;
STEPattribute* G4GeometryCreator::GetNamedAttribute(G4String& attrName, STEPentity& Ent)
STEPattribute*
G4GeometryCreator::GetNamedAttribute(G4String& attrName, STEPentity& Ent)
{
STEPattribute* attr;
@@ -24,7 +48,8 @@ STEPattribute* G4GeometryCreator::GetNamedAttribute(G4String& attrName, STEPenti
return 0; // NULL
}
STEPentity* G4GeometryCreator::GetNamedEntity(G4String& entName, STEPentity& Ent)
STEPentity*
G4GeometryCreator::GetNamedEntity(G4String& entName, STEPentity& Ent)
{
// Ent is a complex entity
@@ -48,6 +73,7 @@ STEPentity* G4GeometryCreator::GetNamedEntity(G4String& entName, STEPentity& Ent
return 0;
}
/*
G4int[][] G4GeometryCreator::GetIds(GenericAggregate& aggr)
{
@@ -57,12 +83,5 @@ G4int[][] G4GeometryCreator::GetIds(GenericAggregate& aggr)
SCLstring str;
G4String aggrStr = gNode->asStr(str);
}
*/
@@ -1,5 +1,26 @@
#include "G4GeometryTable.hh"
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4GeometryTable.cc,v 1.6 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4GeometryTable
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "includes"
#include "G4GeometryTable.hh"
G4GeometryTable G4GeometryTable::gt;
@@ -11,7 +32,6 @@ G4GeometryTable::G4GeometryTable()
G4GeometryTable::~G4GeometryTable()
{
}
G4bool G4GeometryTable::ExistsInTable(G4String& objectName)
@@ -50,25 +70,29 @@ G4GeometryCreator* G4GeometryTable::GetObject(G4String objectName)
return (G4GeometryCreator*)0;
}
void* G4GeometryTable::CreateObject(STEPentity& Ent)
{
Ent.ResetAttributes();
G4String name = Ent.EntityName();
G4GeometryCreator* gctmp = GetObject(name);
#ifdef G4_STEPINTERFACE_DEBUG
G4cout << "G4GeometryTable::CreateObject(STEPentity&) - "
<< "Found STEPEntity " << name << " :" << G4endl;
#endif
if(gctmp)
{
gctmp->CreateG4Geometry(Ent);
void* obj = gctmp->GetCreatedObject();
//#define G4_STEPINTERFACE_DEBUG 1
#ifdef G4_STEPINTERFACE_DEBUG
if (obj == 0)
G4cout << "G4 object of type " << gctmp->Name()
<< " not necessary" << G4endl;
else
//G4cout << "Created G4 object of type " << gctmp->Name() << G4endl;
G4cout << "Created G4 object of type "
<< gctmp->Name() << G4endl;
#endif
return obj;
@@ -76,13 +100,12 @@ void* G4GeometryTable::CreateObject(STEPentity& Ent)
else
{
G4String err = "Geometry creator for entity " + name + " not found.";
G4cout << err << G4endl;
// G4Exception(err);
G4cerr << err << G4endl;
// G4Exception(err);
return 0;
}
}
void* G4GeometryTable::CreateSTEPObject(void* G4obj, G4String& objName)
{
@@ -96,15 +119,14 @@ void* G4GeometryTable::CreateSTEPObject(void* G4obj, G4String& objName)
}
else
{
G4String err = "\nSTEP creator for entity " + objName + " not found.\n";
G4cout << err;
// G4Exception(err);
G4String err = "STEP creator for entity " + objName + " not found.";
G4cerr << err << G4endl;
// G4Exception(err);
return 0;
}
}
void G4GeometryTable::PrintObjectNames()
{
G4String name;
@@ -129,7 +151,6 @@ void G4GeometryTable::PrintObjectNames()
}
G4PointCreator a;
G4CartesianPointCreator b;
G4PointOnCurveCreator c;
@@ -170,7 +191,7 @@ G4SphericalSurfaceCreator s6;
G4ConicalSurfaceCreator s7;
G4BSplineSurfaceCreator s8;
G4BoundedSurfaceCreator s9;
G4RationalBSplineSurfaceCreator s10;
//G4RationalBSplineSurfaceCreator s10;
G4BSplineSurfaceWithKnotsCreator s11;
G4ClosedShellCreator sc1;
@@ -194,10 +215,3 @@ G4ShapeRepresentationCreator srcs;
G4ShapeDefinitionRepresentationCreator sdr;
G4GeometricRepresentationContextCreator grc;
@@ -1,10 +1,35 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4HyperbolaCreator.cc,v 1.2 2000/01/21 13:46:02 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4HyperbolaCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4HyperbolaCreator.hh"
#include "G4GeometryTable.hh"
G4HyperbolaCreator G4HyperbolaCreator::csc;
G4HyperbolaCreator::G4HyperbolaCreator(){G4GeometryTable::RegisterObject(this);}
G4HyperbolaCreator::G4HyperbolaCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4HyperbolaCreator::~G4HyperbolaCreator(){}
G4HyperbolaCreator::~G4HyperbolaCreator() {}
void G4HyperbolaCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -38,8 +63,4 @@ void G4HyperbolaCreator::CreateG4Geometry(STEPentity& Ent)
void G4HyperbolaCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,10 +1,36 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ItemDefinedTransformationCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4ItemDefinedTransformationCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4ItemDefinedTransformationCreator.hh"
#include "G4GeometryTable.hh"
#include "G4PlacementVector.hh"
G4ItemDefinedTransformationCreator G4ItemDefinedTransformationCreator::csc;
G4ItemDefinedTransformationCreator::G4ItemDefinedTransformationCreator(){G4GeometryTable::RegisterObject(this);}
G4ItemDefinedTransformationCreator::G4ItemDefinedTransformationCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4ItemDefinedTransformationCreator::~G4ItemDefinedTransformationCreator(){}
G4ItemDefinedTransformationCreator::~G4ItemDefinedTransformationCreator() {}
void G4ItemDefinedTransformationCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -18,27 +44,34 @@ void G4ItemDefinedTransformationCreator::CreateG4Geometry(STEPentity& Ent)
STEPattribute *Attr = GetNamedAttribute(attrName, Ent);
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
if (!tmp)
G4cerr << "WARNING - G4ItemDefinedTransformationCreator::CreateG4Geometry" << G4endl
<< "\t" << attrName << ": unexpected NULL axis placement (G4Axis2Placement3D) !"
<< G4endl;
// L. Broglia
// place = (G4Placement*)tmp;
place = (G4Axis2Placement3D*)tmp;
places->append(place);
if (place) places->append(place);
attrName="transform_item_2";
Attr = GetNamedAttribute(attrName, Ent);
TmpEnt = *Attr->ptr.c;
tmp =G4GeometryTable::CreateObject(*TmpEnt);
if (!tmp)
G4cerr << "WARNING - G4ItemDefinedTransformationCreator::CreateG4Geometry" << G4endl
<< "\t" << attrName << ": unexpected NULL axis placement (G4Axis2Placement3D) !"
<< G4endl;
// L. Broglia
// place = (G4Placement*)tmp;
place = (G4Axis2Placement3D*)tmp;
places->append(place);
if (place) places->append(place);
createdObject = places;
}
void G4ItemDefinedTransformationCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,10 +1,36 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4LineCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4LineCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4LineCreator.hh"
#include "G4GeometryTable.hh"
#include "G4Line.hh"
G4LineCreator G4LineCreator::csc;
G4LineCreator::G4LineCreator(){G4GeometryTable::RegisterObject(this);}
G4LineCreator::G4LineCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4LineCreator::~G4LineCreator(){}
G4LineCreator::~G4LineCreator() {}
void G4LineCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -20,14 +46,23 @@ void G4LineCreator::CreateG4Geometry(STEPentity& Ent)
// Get the line origin
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
origin = *(G4ThreeVector*)tmp;
if (tmp)
origin = *(G4ThreeVector*)tmp;
else
G4cerr << "WARNING - G4LineCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL origin (G4ThreeVector) for G4Line !" << G4endl
<< "\tG4Line origin set to (0,0,0)." << G4endl;
// Get the line direction
Attr = Ent.NextAttribute();
TmpEnt = *Attr->ptr.c;
tmp =G4GeometryTable::CreateObject(*TmpEnt);
dir = *(G4ThreeVector*)tmp;
if (tmp)
dir = *(G4ThreeVector*)tmp;
else
G4cerr << "WARNING - G4LineCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL direction (G4ThreeVector) for G4Line !" << G4endl
<< "\tG4Line direction set to (0,0,0)." << G4endl;
G4Line* line = new G4Line();
line->Init(origin, dir);
@@ -36,5 +71,4 @@ void G4LineCreator::CreateG4Geometry(STEPentity& Ent)
void G4LineCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,10 +1,36 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ManifoldSolidBrepCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4ManifoldSolidBrepCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4ManifoldSolidBrepCreator.hh"
#include "G4GeometryTable.hh"
#include "G4BREPSolid.hh"
G4ManifoldSolidBrepCreator G4ManifoldSolidBrepCreator::csc;
G4ManifoldSolidBrepCreator::G4ManifoldSolidBrepCreator(){G4GeometryTable::RegisterObject(this);}
G4ManifoldSolidBrepCreator::G4ManifoldSolidBrepCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4ManifoldSolidBrepCreator::~G4ManifoldSolidBrepCreator(){}
G4ManifoldSolidBrepCreator::~G4ManifoldSolidBrepCreator() {}
void G4ManifoldSolidBrepCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -16,11 +42,15 @@ void G4ManifoldSolidBrepCreator::CreateG4Geometry(STEPentity& Ent)
// Get solid
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
if (!tmp)
G4cerr << "WARNING - G4ManifoldSolidBrepCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL pointer to BREP Solid !" << G4endl
<< "\tBREP Solid NOT created." << G4endl;
sld = (G4BREPSolid*)tmp;
createdObject = sld;
}
void G4ManifoldSolidBrepCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -5,11 +5,31 @@
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4NISTStepReader.cc,v 1.2 1999/12/15 14:50:21 gunter Exp $
// GEANT4 tag $Name: geant4-01-01 $
// $Id: G4NISTStepReader.cc,v 1.3 2000/01/21 13:46:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4NISTStepReader
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4NISTStepReader.hh"
#include "instmgr.h"
#include "Registry.h"
#include "STEPaggregate.h"
#include "STEPfile.h" /* STEPfile class and others used by SCL */
#ifdef __O3DB__
#include <OpenOODB.h>
#endif
void G4NISTStepReader::ReadSTEPFile(G4String STEPfilename)
{
// Reads the Step file into the nist toolkit class library
@@ -58,6 +78,6 @@ void G4NISTStepReader::ReadSTEPFile(G4String STEPfilename)
}
void G4NISTStepReader::SaveSTEPFile(){}
void G4NISTStepReader::SaveSTEPFile() {}
void G4NISTStepReader::UpdateSTEPFile(){}
void G4NISTStepReader::UpdateSTEPFile() {}
@@ -1,17 +1,40 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4OpenShellCreator.cc,v 1.2 2000/01/21 13:46:03 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4OpenShellCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4OpenShellCreator.hh"
#include "G4GeometryTable.hh"
G4OpenShellCreator G4OpenShellCreator::csc;
G4OpenShellCreator::G4OpenShellCreator(){G4GeometryTable::RegisterObject(this);}
G4OpenShellCreator::G4OpenShellCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4OpenShellCreator::~G4OpenShellCreator(){}
G4OpenShellCreator::~G4OpenShellCreator() {}
void G4OpenShellCreator::CreateG4Geometry(STEPentity& Ent)
{
}
void G4OpenShellCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,15 +1,40 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4OrientedEdgeCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4OrientedEdgeCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4OrientedEdgeCreator.hh"
#include "G4GeometryTable.hh"
G4OrientedEdgeCreator G4OrientedEdgeCreator::csc;
G4OrientedEdgeCreator::G4OrientedEdgeCreator(){G4GeometryTable::RegisterObject(this);}
G4OrientedEdgeCreator::G4OrientedEdgeCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4OrientedEdgeCreator::~G4OrientedEdgeCreator(){}
G4OrientedEdgeCreator::~G4OrientedEdgeCreator() {}
void G4OrientedEdgeCreator::CreateG4Geometry(STEPentity& Ent)
{
G4int orientation;
G4Curve* crv;
G4Curve* crv=0;
G4String attrName("edge_element");
STEPattribute *Attr = GetNamedAttribute(attrName, Ent);
@@ -17,18 +42,24 @@ void G4OrientedEdgeCreator::CreateG4Geometry(STEPentity& Ent)
// Get curve
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
crv = (G4Curve*)tmp;
if (tmp)
{
crv = (G4Curve*)tmp;
// Get orientation
Attr = Ent.NextAttribute();
orientation = *Attr->ptr.i;// INTEGER_TYPE
// Get orientation
Attr = Ent.NextAttribute();
orientation = *Attr->ptr.i;// INTEGER_TYPE
crv->SetSameSense(orientation);
crv->SetSameSense(orientation);
}
else
G4cerr << "WARNING - G4OrientedEdgeCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL pointer to G4Curve !" << G4endl
<< "\tOriented Edge NOT created." << G4endl;
createdObject = crv;
}
void G4OrientedEdgeCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,10 +1,35 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4ParabolaCreator.cc,v 1.2 2000/01/21 13:46:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4ParabolaCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4ParabolaCreator.hh"
#include "G4GeometryTable.hh"
G4ParabolaCreator G4ParabolaCreator::csc;
G4ParabolaCreator::G4ParabolaCreator(){G4GeometryTable::RegisterObject(this);}
G4ParabolaCreator::G4ParabolaCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4ParabolaCreator::~G4ParabolaCreator(){}
G4ParabolaCreator::~G4ParabolaCreator() {}
void G4ParabolaCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -36,5 +61,4 @@ void G4ParabolaCreator::CreateG4Geometry(STEPentity& Ent)
void G4ParabolaCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,16 +1,42 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PlaneCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4PlaneCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4PlaneCreator.hh"
#include "G4GeometryTable.hh"
#include "G4FPlane.hh"
G4PlaneCreator G4PlaneCreator::csc;
G4PlaneCreator::G4PlaneCreator(){G4GeometryTable::RegisterObject(this);}
G4PlaneCreator::G4PlaneCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4PlaneCreator::~G4PlaneCreator(){}
G4PlaneCreator::~G4PlaneCreator() {}
void G4PlaneCreator::CreateG4Geometry(STEPentity& Ent)
{
// L. Broglia
// G4Placement* place;
G4Axis2Placement3D* place;
G4Axis2Placement3D* place=0;
Ent.ResetAttributes();
STEPattribute *Attr;
@@ -22,14 +48,24 @@ void G4PlaneCreator::CreateG4Geometry(STEPentity& Ent)
STEPentity* TmpEnt = *Attr->ptr.c;
void *tmp =G4GeometryTable::CreateObject(*TmpEnt);
place = (G4Axis2Placement3D*)tmp;
createdObject = new G4FPlane( place->GetRefDirection(),
place->GetAxis(),
place->GetLocation());
G4FPlane* fplane = 0;
if (tmp)
{
place = (G4Axis2Placement3D*)tmp;
fplane = new G4FPlane( place->GetRefDirection(),
place->GetAxis(),
place->GetLocation());
}
else
G4cerr << "WARNING - G4PlaneCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL axis placement (G4Axis2Placement3D) !" << G4endl
<< "\tPlane Surface NOT created." << G4endl;
createdObject = fplane;
}
void G4PlaneCreator::CreateSTEPGeometry(void* G4obj)
{
}
@@ -1,4 +1,26 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PointCreator.cc,v 1.2 2000/01/21 13:46:04 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4PointCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4PointCreator.hh"
#include "G4GeometryTable.hh"
G4PointCreator G4PointCreator::csc;
@@ -7,8 +29,8 @@ G4PointCreator::G4PointCreator()
G4GeometryTable::RegisterObject(this);
}
G4PointCreator::~G4PointCreator(){}
G4PointCreator::~G4PointCreator() {}
void G4PointCreator::CreateG4Geometry(STEPentity& Ent){}
void G4PointCreator::CreateG4Geometry(STEPentity& Ent) {}
void G4PointCreator::CreateSTEPGeometry(void* G4obj){}
void G4PointCreator::CreateSTEPGeometry(void* G4obj) {}
@@ -1,10 +1,35 @@
// This code implementation is the intellectual property of
// the GEANT4 collaboration.
//
// By copying, distributing or modifying the Program (or any work
// based on the Program) you indicate your acceptance of this statement,
// and all its terms.
//
// $Id: G4PointOnCurveCreator.cc,v 1.3 2000/02/25 16:36:19 gcosmo Exp $
// GEANT4 tag $Name: geant4-02-00 $
//
//
// ----------------------------------------------------------------------
// Class G4PointOnCurveCreator
//
// Authors: J.Sulkimo, P.Urban.
// Revisions by: L.Broglia, G.Cosmo.
//
// History:
// 18-Nov-1999: First step of re-engineering - G.Cosmo
// ----------------------------------------------------------------------
#include "G4PointOnCurveCreator.hh"
#include "G4GeometryTable.hh"
G4PointOnCurveCreator G4PointOnCurveCreator::csc;
G4PointOnCurveCreator::G4PointOnCurveCreator(){G4GeometryTable::RegisterObject(this);}
G4PointOnCurveCreator::G4PointOnCurveCreator()
{
G4GeometryTable::RegisterObject(this);
}
G4PointOnCurveCreator::~G4PointOnCurveCreator(){}
G4PointOnCurveCreator::~G4PointOnCurveCreator() {}
void G4PointOnCurveCreator::CreateG4Geometry(STEPentity& Ent)
{
@@ -18,20 +43,18 @@ void G4PointOnCurveCreator::CreateG4Geometry(STEPentity& Ent)
Attr = Ent.NextAttribute();
// Get basis curve
STEPentity* TmpEnt= *Attr->ptr.c;
STEPentity* TmpEnt= *Attr->ptr.c;
void* tmp =G4GeometryTable::CreateObject(*TmpEnt);
crv = (G4Curve*)tmp;
crv = (G4Curve*)tmp;
if (!tmp)
G4cerr << "WARNING - G4PointOnCurveCreator::CreateG4Geometry" << G4endl
<< "\tUnexpected NULL pointer to G4Curve !" << G4endl;
// Get parameter value
Attr = Ent.NextAttribute();
Attr = Ent.NextAttribute();
pval = *Attr->ptr.r;
createdObject = new G4double(pval);
}
void G4PointOnCurveCreator::CreateSTEPGeometry(void* G4obj){}
void G4PointOnCurveCreator::CreateSTEPGeometry(void* G4obj) {}

Some files were not shown because too many files have changed in this diff Show More