Geant4  9.6.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
G4NURBS Class Referenceabstract

#include <G4NURBS.hh>

Inheritance diagram for G4NURBS:
Inheritance graph
[legend]
Collaboration diagram for G4NURBS:
Collaboration graph
[legend]

Classes

class  CtrlPtsCoordsIterator
 
class  CtrlPtsIterator
 
class  KnotsIterator
 
struct  t_Dir
 

Public Types

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
 

Public Member Functions

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 &)
 

Static Public Member Functions

static char Tochar (t_direction in_dir)
 

Protected Types

enum  t_CheckFlag { NOcheck, check }
 
typedef Float G4Float
 
typedef G4Float t_Coord
 
typedef t_Coord t_CtrlPt [NofC]
 

Protected Member Functions

 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

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

t_Dir m [NofD]
 
t_indCtrlPt mtotnbrCtrlPts
 
t_CtrlPtmpCtrlPts
 
- Protected Attributes inherited from G4Visible
const G4VisAttributesfpVisAttributes
 
G4bool fAllocatedVisAttributes
 

Friends

class KnotsIterator
 
class CtrlPtsCoordsIterator
 
class CtrlPtsIterator
 
std::ostream & operator<< (std::ostream &inout_OutStream, t_KnotVectorGenFlag in_KVGFlag)
 

Detailed Description

Definition at line 51 of file G4NURBS.hh.

Member Typedef Documentation

typedef Float G4NURBS::G4Float
protected

Definition at line 168 of file G4NURBS.hh.

typedef G4Float G4NURBS::t_Coord
protected

Definition at line 181 of file G4NURBS.hh.

typedef t_Coord G4NURBS::t_CtrlPt[NofC]
protected

Definition at line 182 of file G4NURBS.hh.

typedef G4double G4NURBS::t_doubleCtrlPt[NofC]

Definition at line 110 of file G4NURBS.hh.

typedef G4float G4NURBS::t_floatCtrlPt[NofC]

Definition at line 111 of file G4NURBS.hh.

typedef unsigned int G4NURBS::t_indCoord

Definition at line 90 of file G4NURBS.hh.

typedef unsigned int G4NURBS::t_indCtrlPt

Definition at line 91 of file G4NURBS.hh.

Definition at line 92 of file G4NURBS.hh.

typedef unsigned int G4NURBS::t_index

Definition at line 84 of file G4NURBS.hh.

Definition at line 87 of file G4NURBS.hh.

Definition at line 176 of file G4NURBS.hh.

Definition at line 173 of file G4NURBS.hh.

Member Enumeration Documentation

anonymous enum
Enumerator
X 
Y 
Z 
W 
NofC 

Definition at line 106 of file G4NURBS.hh.

enum G4NURBS::t_CheckFlag
protected
Enumerator
NOcheck 
check 

Definition at line 280 of file G4NURBS.hh.

Enumerator
U 
V 
DMask 
NofD 

Definition at line 71 of file G4NURBS.hh.

Enumerator
UserDefined 
Regular 
RegularRep 

Definition at line 319 of file G4NURBS.hh.

Constructor & Destructor Documentation

G4NURBS::~G4NURBS ( )
virtual

Definition at line 546 of file G4NURBS.cc.

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 
)
protected

Definition at line 412 of file G4NURBS.cc.

Here is the call graph for this function:

G4NURBS::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 
)
protected

Definition at line 464 of file G4NURBS.cc.

Here is the call graph for this function:

Member Function Documentation

void G4NURBS::CalcPoint ( G4double  u,
G4double  v,
G4Point3D p,
G4Vector3D utan,
G4Vector3D vtan 
) const

Definition at line 659 of file G4NURBS.cc.

Here is the call graph for this function:

void G4NURBS::CP ( G4NURBS::t_CtrlPt rcp,
t_Coord  x,
t_Coord  y,
t_Coord  z,
t_Coord  w 
)
inlinestaticprotected

Definition at line 520 of file G4NURBS.hh.

Here is the caller graph for this function:

void G4NURBS::CP ( G4NURBS::t_CtrlPt rcp,
t_Coord  x,
t_Coord  y,
t_Coord  z,
t_Coord  w,
G4Float  factor 
)
inlinestaticprotected

Definition at line 530 of file G4NURBS.hh.

G4double * G4NURBS::GetdoubleAllCtrlPts ( ) const

Definition at line 226 of file G4NURBS.cc.

G4double * G4NURBS::GetdoubleAllKnots ( t_direction  in_dir) const

Definition at line 209 of file G4NURBS.cc.

G4NURBS::t_doubleCtrlPt * G4NURBS::GetdoubleCtrlPt ( t_indCtrlPt  in_onedimindex) const

Definition at line 170 of file G4NURBS.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

G4NURBS::t_doubleCtrlPt * G4NURBS::GetdoubleCtrlPt ( t_inddCtrlPt  in_Uindex,
t_inddCtrlPt  in_Vindex 
) const

Definition at line 184 of file G4NURBS.cc.

Here is the call graph for this function:

G4double G4NURBS::GetdoubleKnot ( t_direction  in_dir,
t_indKnot  in_index 
) const

Definition at line 123 of file G4NURBS.cc.

G4float * G4NURBS::GetfloatAllCtrlPts ( ) const

Definition at line 218 of file G4NURBS.cc.

G4float * G4NURBS::GetfloatAllKnots ( t_direction  in_dir) const

Definition at line 200 of file G4NURBS.cc.

G4NURBS::t_floatCtrlPt * G4NURBS::GetfloatCtrlPt ( t_indCtrlPt  in_onedimindex) const

Definition at line 140 of file G4NURBS.cc.

Here is the call graph for this function:

G4NURBS::t_floatCtrlPt * G4NURBS::GetfloatCtrlPt ( t_inddCtrlPt  in_Uindex,
t_inddCtrlPt  in_Vindex 
) const

Definition at line 154 of file G4NURBS.cc.

Here is the call graph for this function:

G4float G4NURBS::GetfloatKnot ( t_direction  in_dir,
t_indKnot  in_index 
) const

Definition at line 108 of file G4NURBS.cc.

G4int G4NURBS::GetnbrCtrlPts ( G4NURBS::t_direction  in_dir) const
inline

Definition at line 463 of file G4NURBS.hh.

G4int G4NURBS::GetnbrKnots ( G4NURBS::t_direction  in_dir) const
inline

Definition at line 459 of file G4NURBS.hh.

Here is the caller graph for this function:

G4int G4NURBS::Getorder ( G4NURBS::t_direction  in_dir) const
inline

Definition at line 455 of file G4NURBS.hh.

G4int G4NURBS::GettotalnbrCtrlPts ( ) const
inline

Definition at line 437 of file G4NURBS.hh.

G4double G4NURBS::GetUmax ( ) const
inline

Definition at line 443 of file G4NURBS.hh.

Here is the call graph for this function:

G4double G4NURBS::GetUmin ( ) const
inline

Definition at line 439 of file G4NURBS.hh.

Here is the call graph for this function:

G4int G4NURBS::GetUnbrCtrlPts ( ) const
inline

Definition at line 435 of file G4NURBS.hh.

Here is the caller graph for this function:

G4int G4NURBS::GetUnbrKnots ( ) const
inline

Definition at line 433 of file G4NURBS.hh.

G4int G4NURBS::GetUorder ( ) const
inline

Definition at line 431 of file G4NURBS.hh.

Here is the caller graph for this function:

G4double G4NURBS::GetVmax ( ) const
inline

Definition at line 451 of file G4NURBS.hh.

Here is the call graph for this function:

G4double G4NURBS::GetVmin ( ) const
inline

Definition at line 447 of file G4NURBS.hh.

Here is the call graph for this function:

G4int G4NURBS::GetVnbrCtrlPts ( ) const
inline

Definition at line 436 of file G4NURBS.hh.

Here is the caller graph for this function:

G4int G4NURBS::GetVnbrKnots ( ) const
inline

Definition at line 434 of file G4NURBS.hh.

G4int G4NURBS::GetVorder ( ) const
inline

Definition at line 432 of file G4NURBS.hh.

Here is the caller graph for this function:

G4bool G4NURBS::MakeKnotVector ( t_Dir inout_dirdat,
t_KnotVectorGenFlag  in_KVGFlag 
)
staticprotected

Definition at line 331 of file G4NURBS.cc.

Here is the caller graph for this function:

G4bool G4NURBS::MakeKnotVector ( G4NURBS::t_Dir p_inoutdirdat,
G4NURBS::t_KnotVectorGenFlag  in_KVGFlag 
)
inlinestaticprotected

Definition at line 507 of file G4NURBS.hh.

Here is the call graph for this function:

G4NURBS::t_indCtrlPt G4NURBS::To1d ( t_inddCtrlPt  in_Uindex,
t_inddCtrlPt  in_Vindex 
) const
inlineprotected

Definition at line 481 of file G4NURBS.hh.

Here is the caller graph for this function:

char G4NURBS::Tochar ( G4NURBS::t_direction  in_dir)
inlinestatic

Definition at line 467 of file G4NURBS.hh.

Here is the caller graph for this function:

G4NURBS::t_doubleCtrlPt * G4NURBS::TodoubleCtrlPt ( const t_CtrlPt in_krcp)
inlinestaticprotected

Definition at line 498 of file G4NURBS.hh.

Here is the caller graph for this function:

G4NURBS::t_floatCtrlPt * G4NURBS::TofloatCtrlPt ( const t_CtrlPt in_krcp)
inlinestaticprotected

Definition at line 488 of file G4NURBS.hh.

Here is the caller graph for this function:

virtual const char* G4NURBS::Whoami ( ) const
pure virtual

Implemented in G4NURBShexahedron, G4NURBStubesector, G4NURBSbox, G4NURBScylinder, and G4NURBStube.

Here is the caller graph for this function:

Friends And Related Function Documentation

friend class CtrlPtsCoordsIterator
friend

Definition at line 202 of file G4NURBS.hh.

friend class CtrlPtsIterator
friend

Definition at line 203 of file G4NURBS.hh.

friend class KnotsIterator
friend

Definition at line 198 of file G4NURBS.hh.

std::ostream& operator<< ( std::ostream &  inout_OutStream,
G4NURBS::t_KnotVectorGenFlag  in_KVGFlag 
)
friend

Definition at line 369 of file G4NURBS.cc.

Member Data Documentation

t_Dir G4NURBS::m[NofD]
protected

Definition at line 348 of file G4NURBS.hh.

t_CtrlPt* G4NURBS::mpCtrlPts
protected

Definition at line 350 of file G4NURBS.hh.

t_indCtrlPt G4NURBS::mtotnbrCtrlPts
protected

Definition at line 349 of file G4NURBS.hh.


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