#include <G4NURBScylinder.hh>
Inheritance diagram for G4NURBScylinder:
Public Member Functions | |
G4NURBScylinder (G4double R, G4double DZ) | |
const char * | Whoami () const |
Definition at line 44 of file G4NURBScylinder.hh.
Definition at line 40 of file G4NURBScylinder.cc.
References G4NURBS::CP(), G4NURBS::m, G4NURBS::mpCtrlPts, and G4NURBS::V.
00041 : G4NURBS ( 2, 3, // linear along U, quadratic along V 00042 4, 9, // half rectangle along U, circle along V 00043 (new t_CtrlPt [ 4 * 9 ]), // the array for CtrlPts 00044 0, // the knot vector along U will be generated 00045 (new t_Knot [ 3 + 9 ]) ) // knot vector for the circle 00046 { 00047 // define the V knot vector 00048 m[V].pKnots[ 0] = 0; 00049 m[V].pKnots[ 1] = 0; 00050 m[V].pKnots[ 2] = 0; 00051 m[V].pKnots[ 3] = 0.25; 00052 m[V].pKnots[ 4] = 0.25; 00053 m[V].pKnots[ 5] = 0.5; 00054 m[V].pKnots[ 6] = 0.5; 00055 m[V].pKnots[ 7] = 0.75; 00056 m[V].pKnots[ 8] = 0.75; 00057 m[V].pKnots[ 9] = 1; 00058 m[V].pKnots[10] = 1; 00059 m[V].pKnots[11] = 1; 00060 00061 // define control points 00062 00063 const G4double sr2o2 = std::sqrt(2.)/2. ; 00064 00065 CP(mpCtrlPts[ 0] , 0, 0, DZ, 1 ); 00066 CP(mpCtrlPts[ 1] , R, 0, DZ, 1 ); 00067 CP(mpCtrlPts[ 2] , R, 0, -DZ, 1 ); 00068 CP(mpCtrlPts[ 3] , 0, 0, -DZ, 1 ); 00069 00070 CP(mpCtrlPts[ 4] , 0, 0, DZ, 1 ); 00071 CP(mpCtrlPts[ 5] , R, R, DZ, 1 , sr2o2); 00072 CP(mpCtrlPts[ 6] , R, R,-DZ, 1 , sr2o2); 00073 CP(mpCtrlPts[ 7] , 0, 0, -DZ, 1 ); 00074 00075 CP(mpCtrlPts[ 8] , 0, 0, DZ, 1 ); 00076 CP(mpCtrlPts[ 9] , 0, R, DZ, 1 ); 00077 CP(mpCtrlPts[10] , 0, R, -DZ, 1 ); 00078 CP(mpCtrlPts[11] , 0, 0, -DZ, 1 ); 00079 00080 CP(mpCtrlPts[12] , 0, 0, DZ, 1 ); 00081 CP(mpCtrlPts[13] , -R, R, DZ, 1 , sr2o2); 00082 CP(mpCtrlPts[14] , -R, R,-DZ, 1 , sr2o2); 00083 CP(mpCtrlPts[15] , 0, 0, -DZ, 1 ); 00084 00085 CP(mpCtrlPts[16] , 0, 0, DZ, 1 ); 00086 CP(mpCtrlPts[17] , -R, 0, DZ, 1 ); 00087 CP(mpCtrlPts[18] , -R, 0, -DZ, 1 ); 00088 CP(mpCtrlPts[19] , 0, 0, -DZ, 1 ); 00089 00090 CP(mpCtrlPts[20] , 0, 0, DZ, 1 ); 00091 CP(mpCtrlPts[21] , -R,-R, DZ, 1 , sr2o2); 00092 CP(mpCtrlPts[22] , -R,-R,-DZ, 1 , sr2o2); 00093 CP(mpCtrlPts[23] , 0, 0, -DZ, 1 ); 00094 00095 CP(mpCtrlPts[24] , 0, 0, DZ, 1 ); 00096 CP(mpCtrlPts[25] , 0, -R, DZ, 1 ); 00097 CP(mpCtrlPts[26] , 0, -R,-DZ, 1 ); 00098 CP(mpCtrlPts[27] , 0, 0, -DZ, 1 ); 00099 00100 CP(mpCtrlPts[28] , 0, 0, DZ, 1 ); 00101 CP(mpCtrlPts[29] , R,-R, DZ, 1 , sr2o2); 00102 CP(mpCtrlPts[30] , R,-R,-DZ, 1 , sr2o2); 00103 CP(mpCtrlPts[31] , 0, 0, -DZ, 1 ); 00104 00105 CP(mpCtrlPts[32] , 0, 0, DZ, 1 ); 00106 CP(mpCtrlPts[33] , R, 0, DZ, 1 ); 00107 CP(mpCtrlPts[34] , R, 0, -DZ, 1 ); 00108 CP(mpCtrlPts[35] , 0, 0, -DZ, 1 ); 00109 }
const char * G4NURBScylinder::Whoami | ( | ) | const [virtual] |