Geant4 9.6.0
Toolkit for the simulation of the passage of particles through matter
Loading...
Searching...
No Matches
G4NURBShexahedron Class Reference

#include <G4NURBShexahedron.hh>

+ Inheritance diagram for G4NURBShexahedron:

Public Member Functions

 G4NURBShexahedron (const G4ThreeVector Corners[8])
 
const char * Whoami () const
 
- Public Member Functions inherited from G4NURBS
virtual const char * Whoami () const =0
 
virtual ~G4NURBS ()
 
G4int GetUorder () const
 
G4int GetVorder () const
 
G4int GetUnbrKnots () const
 
G4int GetVnbrKnots () const
 
G4int GetUnbrCtrlPts () const
 
G4int GetVnbrCtrlPts () const
 
G4int GettotalnbrCtrlPts () const
 
G4double GetUmin () const
 
G4double GetUmax () const
 
G4double GetVmin () const
 
G4double GetVmax () const
 
void CalcPoint (G4double u, G4double v, G4Point3D &p, G4Vector3D &utan, G4Vector3D &vtan) const
 
G4int Getorder (t_direction in_dir) const
 
G4int GetnbrKnots (t_direction in_dir) const
 
G4int GetnbrCtrlPts (t_direction in_dir) const
 
G4float GetfloatKnot (t_direction in_dir, t_indKnot in_index) const
 
G4double GetdoubleKnot (t_direction in_dir, t_indKnot in_index) const
 
t_floatCtrlPtGetfloatCtrlPt (t_indCtrlPt in_onedimindex) const
 
t_floatCtrlPtGetfloatCtrlPt (t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const
 
t_doubleCtrlPtGetdoubleCtrlPt (t_indCtrlPt in_onedimindex) const
 
t_doubleCtrlPtGetdoubleCtrlPt (t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const
 
G4floatGetfloatAllKnots (t_direction in_dir) const
 
G4doubleGetdoubleAllKnots (t_direction in_dir) const
 
G4floatGetfloatAllCtrlPts () const
 
G4doubleGetdoubleAllCtrlPts () const
 
- Public Member Functions inherited from G4Visible
 G4Visible ()
 
 G4Visible (const G4Visible &)
 
 G4Visible (const G4VisAttributes *)
 
virtual ~G4Visible ()
 
G4Visibleoperator= (const G4Visible &)
 
G4bool operator!= (const G4Visible &right) const
 
const G4VisAttributesGetVisAttributes () const
 
void SetVisAttributes (const G4VisAttributes *)
 
void SetVisAttributes (const G4VisAttributes &)
 

Additional Inherited Members

- Public Types inherited from G4NURBS
enum  t_direction { U = 0 , V = 1 , DMask = 1 , NofD = 2 }
 
enum  {
  X , Y , Z , W ,
  NofC
}
 
enum  t_KnotVectorGenFlag { UserDefined , Regular , RegularRep }
 
typedef unsigned int t_index
 
typedef t_index t_indKnot
 
typedef unsigned int t_indCoord
 
typedef unsigned int t_indCtrlPt
 
typedef t_index t_inddCtrlPt
 
typedef G4double t_doubleCtrlPt[NofC]
 
typedef G4float t_floatCtrlPt[NofC]
 
typedef t_index t_order
 
typedef G4Float t_Knot
 
- Static Public Member Functions inherited from G4NURBS
static char Tochar (t_direction in_dir)
 
- Protected Types inherited from G4NURBS
enum  t_CheckFlag { NOcheck , check }
 
typedef Float G4Float
 
typedef G4Float t_Coord
 
typedef t_Coord t_CtrlPt[NofC]
 
- Protected Member Functions inherited from G4NURBS
 G4NURBS (t_order in_Uorder, t_order in_Vorder, t_inddCtrlPt in_UnbrCtrlPts, t_inddCtrlPt in_VnbrCtrlPts, t_CtrlPt *in_pCtrlPts, t_Knot *in_pUKnots=0, t_Knot *in_pVKnots=0, t_CheckFlag in_CheckFlag=check)
 
 G4NURBS (t_order in_Uorder, t_order in_Vorder, t_inddCtrlPt in_UnbrCtrlPts, t_inddCtrlPt in_VnbrCtrlPts, t_KnotVectorGenFlag in_UKVGFlag=Regular, t_KnotVectorGenFlag in_VKVGFlag=Regular, t_CheckFlag in_CheckFlag=check)
 
t_indCtrlPt To1d (t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const
 
- Static Protected Member Functions inherited from G4NURBS
static t_floatCtrlPtTofloatCtrlPt (const t_CtrlPt &)
 
static t_doubleCtrlPtTodoubleCtrlPt (const t_CtrlPt &)
 
static G4bool MakeKnotVector (t_Dir &inout_dirdat, t_KnotVectorGenFlag in_KVGFlag)
 
static G4bool MakeKnotVector (t_Dir *p_inoutdirdat, t_KnotVectorGenFlag in_KVGFlag)
 
static void CP (G4NURBS::t_CtrlPt &rcp, t_Coord x, t_Coord y, t_Coord z, t_Coord w)
 
static void CP (G4NURBS::t_CtrlPt &rcp, t_Coord x, t_Coord y, t_Coord z, t_Coord w, G4Float factor)
 
- Protected Attributes inherited from G4NURBS
t_Dir m [NofD]
 
t_indCtrlPt mtotnbrCtrlPts
 
t_CtrlPtmpCtrlPts
 
- Protected Attributes inherited from G4Visible
const G4VisAttributesfpVisAttributes
 
G4bool fAllocatedVisAttributes
 

Detailed Description

Definition at line 42 of file G4NURBShexahedron.hh.

Constructor & Destructor Documentation

◆ G4NURBShexahedron()

G4NURBShexahedron::G4NURBShexahedron ( const G4ThreeVector  Corners[8])

Definition at line 34 of file G4NURBShexahedron.cc.

35 : G4NURBS( 2, 2, // linear along U and V
36 5, 4 ) // Square x polyline
37{
38 // let's it Generate regular knots vector
39
40 CP(mpCtrlPts[To1d(0,0)] , c[0].x(), c[0].y(), c[0].z(), 1 );
41 CP(mpCtrlPts[To1d(1,0)] , c[1].x(), c[1].y(), c[1].z(), 1 );
42 CP(mpCtrlPts[To1d(2,0)] , c[1].x(), c[1].y(), c[1].z(), 1 );
43 CP(mpCtrlPts[To1d(3,0)] , c[0].x(), c[0].y(), c[0].z(), 1 );
44 CP(mpCtrlPts[To1d(4,0)] , c[0].x(), c[0].y(), c[0].z(), 1 );
45
46 CP(mpCtrlPts[To1d(0,1)] , c[0].x(), c[0].y(), c[0].z(), 1 );
47 CP(mpCtrlPts[To1d(1,1)] , c[1].x(), c[1].y(), c[1].z(), 1 );
48 CP(mpCtrlPts[To1d(2,1)] , c[2].x(), c[2].y(), c[2].z(), 1 );
49 CP(mpCtrlPts[To1d(3,1)] , c[3].x(), c[3].y(), c[3].z(), 1 );
50 CP(mpCtrlPts[To1d(4,1)] , c[0].x(), c[0].y(), c[0].z(), 1 );
51
52 CP(mpCtrlPts[To1d(0,2)] , c[4].x(), c[4].y(), c[4].z(), 1 );
53 CP(mpCtrlPts[To1d(1,2)] , c[5].x(), c[5].y(), c[5].z(), 1 );
54 CP(mpCtrlPts[To1d(2,2)] , c[6].x(), c[6].y(), c[6].z(), 1 );
55 CP(mpCtrlPts[To1d(3,2)] , c[7].x(), c[7].y(), c[7].z(), 1 );
56 CP(mpCtrlPts[To1d(4,2)] , c[4].x(), c[4].y(), c[4].z(), 1 );
57
58 CP(mpCtrlPts[To1d(0,3)] , c[4].x(), c[4].y(), c[4].z(), 1 );
59 CP(mpCtrlPts[To1d(1,3)] , c[5].x(), c[5].y(), c[5].z(), 1 );
60 CP(mpCtrlPts[To1d(2,3)] , c[5].x(), c[5].y(), c[5].z(), 1 );
61 CP(mpCtrlPts[To1d(3,3)] , c[4].x(), c[4].y(), c[4].z(), 1 );
62 CP(mpCtrlPts[To1d(4,3)] , c[4].x(), c[4].y(), c[4].z(), 1 );
63}
t_CtrlPt * mpCtrlPts
Definition: G4NURBS.hh:350
static void CP(G4NURBS::t_CtrlPt &rcp, t_Coord x, t_Coord y, t_Coord z, t_Coord w)
Definition: G4NURBS.hh:520
t_indCtrlPt To1d(t_inddCtrlPt in_Uindex, t_inddCtrlPt in_Vindex) const
Definition: G4NURBS.hh:481

Member Function Documentation

◆ Whoami()

const char * G4NURBShexahedron::Whoami ( ) const
virtual

Implements G4NURBS.

Definition at line 65 of file G4NURBShexahedron.cc.

66{
67 return "Hexahedron";
68}

The documentation for this class was generated from the following files: