CMS 3D CMS Logo

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions

BoundCylinder Class Reference

#include <BoundCylinder.h>

Inheritance diagram for BoundCylinder:
Cylinder BoundSurface Surface Surface GloballyPositioned< float > BasicReferenceCounted GloballyPositioned< float > BasicReferenceCounted

List of all members.

Public Types

typedef
ReferenceCountingPointer
< BoundCylinder
BoundCylinderPointer
typedef
ConstReferenceCountingPointer
< BoundCylinder
ConstBoundCylinderPointer

Public Member Functions

 BoundCylinder (const PositionType &pos, const RotationType &rot, Scalar radius, const Bounds &bounds)
 BoundCylinder (const PositionType &pos, const RotationType &rot, const Bounds &bounds)
 Obsolete constructor, radius should be given explicitly.
 BoundCylinder (const PositionType &pos, const RotationType &rot, const Bounds *bounds)
 Obsolete constructor, radius should be given explicitly.
 BoundCylinder (const PositionType &pos, const RotationType &rot, Scalar radius, MediumProperties *mp, const Bounds &bounds)
virtual ~BoundCylinder ()

Static Public Member Functions

static BoundCylinderPointer build (const PositionType &pos, const RotationType &rot, Scalar radius, const Bounds *bounds, MediumProperties *mp=0)
static BoundCylinderPointer build (const PositionType &pos, const RotationType &rot, Scalar radius, const Bounds &bounds, MediumProperties *mp=0)

Protected Member Functions

 BoundCylinder (const PositionType &pos, const RotationType &rot, Scalar radius, const Bounds *bounds, MediumProperties *mp=0)

Detailed Description

A Cylinder with Bounds.

Warning:
Surfaces are reference counted, so only ReferenceCountingPointer should be used to point to them. For this reason, they should be using the static build() method. (The normal constructor will become private in the future).
Date:
2007/10/06 20:21:23
Revision:
1.3

Definition at line 21 of file BoundCylinder.h.


Member Typedef Documentation

Definition at line 24 of file BoundCylinder.h.

Definition at line 25 of file BoundCylinder.h.


Constructor & Destructor Documentation

virtual BoundCylinder::~BoundCylinder ( ) [inline, virtual]

Definition at line 48 of file BoundCylinder.h.

{}
BoundCylinder::BoundCylinder ( const PositionType pos,
const RotationType rot,
Scalar  radius,
const Bounds bounds 
) [inline]

Do not use this constructor directly; use the static build method, which returns a ReferenceCountingPointer. This constructor will soon become private

Definition at line 55 of file BoundCylinder.h.

Referenced by build().

                                      :
    Surface( pos,rot ),
    Cylinder( pos, rot, radius), 
    BoundSurface(pos, rot, bounds) 
  { }
BoundCylinder::BoundCylinder ( const PositionType pos,
const RotationType rot,
Scalar  radius,
MediumProperties mp,
const Bounds bounds 
) [inline]

Do not use this constructor directly; use the static build method, which returns a ReferenceCountingPointer. This constructor will soon become private

Definition at line 67 of file BoundCylinder.h.

                                      : 
    Surface( pos,rot ),
    Cylinder( pos, rot, radius, mp ), 
    BoundSurface( pos, rot, bounds ) 
  { }
BoundCylinder::BoundCylinder ( const PositionType pos,
const RotationType rot,
const Bounds bounds 
)

Obsolete constructor, radius should be given explicitly.

Definition at line 3 of file BoundCylinder.cc.

                                                    :
    Surface( pos,rot ),
    Cylinder( pos, rot, bounds->width()/2. - bounds->thickness()/2.),
    BoundSurface( pos, rot, bounds ) 
{ }
BoundCylinder::BoundCylinder ( const PositionType pos,
const RotationType rot,
const Bounds bounds 
)

Obsolete constructor, radius should be given explicitly.

Definition at line 11 of file BoundCylinder.cc.

                                                    :
    Surface( pos,rot ),
    Cylinder( pos, rot, bounds.width()/2. - bounds.thickness()/2.),
    BoundSurface( pos, rot, bounds )
{ }
BoundCylinder::BoundCylinder ( const PositionType pos,
const RotationType rot,
Scalar  radius,
const Bounds bounds,
MediumProperties mp = 0 
) [inline, protected]

Definition at line 89 of file BoundCylinder.h.

                                        : 
    Surface( pos,rot ),
    Cylinder(pos, rot, radius, mp), 
    BoundSurface(pos, rot, bounds, mp)
  { }

Member Function Documentation

static BoundCylinderPointer BoundCylinder::build ( const PositionType pos,
const RotationType rot,
Scalar  radius,
const Bounds bounds,
MediumProperties mp = 0 
) [inline, static]

Construct a cylinder with origin at pos and with rotation matrix rot, with bounds. The bounds you provide are cloned.

Definition at line 29 of file BoundCylinder.h.

References BoundCylinder().

                                                            {
    return BoundCylinderPointer(new BoundCylinder(pos, rot, radius, bounds, mp));
  }
static BoundCylinderPointer BoundCylinder::build ( const PositionType pos,
const RotationType rot,
Scalar  radius,
const Bounds bounds,
MediumProperties mp = 0 
) [inline, static]

Construct a cylinder with origin at pos and with rotation matrix rot, with bounds. The bounds you provide are cloned.

Definition at line 40 of file BoundCylinder.h.

References BoundCylinder().

                                                            {
    return BoundCylinderPointer(new BoundCylinder(pos, rot, radius, &bounds, mp));
  }