Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Helix Class Reference

Ray subclass that implements a helix. More...

#include <Helix.h>

Inheritance diagram for Helix:

Ray GeomObject List of all members.

Public Methods

 Helix ( const Point& p, const Vector& d, const Vector& a, double r )
 Helix ( const Helix& h )
Point position ( double step ) const
 position along the Helix. More...

Vector direction ( double step ) const
 direction at the given distance along the Helix. More...

double curvature (double =0) const
 return the local curvature, here just the const. inverse of the radius. More...

double step () const
 used by Intersection::distance to step along rays searching for surface crossings. More...

GeomObjecttransform ( const CoordTransform &)
 transform the Ray to a new system. More...

const char* nameOf () const
 makes name available to subclasses using the type info facility. More...

void printOn ( std::ostream& os = std::cout ) const
 print info about this object. More...


Private Methods

void updateCache (double) const

Private Attributes

Vector axis
double rho
Vector perp
double parallel

Detailed Description

Ray subclass that implements a helix.

Definition at line 9 of file Helix.h.


Constructor & Destructor Documentation

Helix::Helix ( const Point & p,
const Vector & d,
const Vector & a,
double r )
 

Definition at line 9 of file Helix.cxx.

Helix::Helix ( const Helix & h )
 

Definition at line 19 of file Helix.cxx.


Member Function Documentation

double Helix::curvature ( double = 0 ) const [inline, virtual]
 

return the local curvature, here just the const. inverse of the radius.

Reimplemented from Ray.

Definition at line 23 of file Helix.h.

Vector Helix::direction ( double step ) const [virtual]
 

direction at the given distance along the Helix.

Reimplemented from Ray.

Definition at line 66 of file Helix.cxx.

const char * Helix::nameOf ( ) const [inline, virtual]
 

makes name available to subclasses using the type info facility.

Reimplemented from Ray.

Definition at line 31 of file Helix.h.

Point Helix::position ( double step ) const [virtual]
 

position along the Helix.

Reimplemented from Ray.

Definition at line 47 of file Helix.cxx.

void Helix::printOn ( std::ostream & os = std::cout ) const [virtual]
 

print info about this object.

Reimplemented from Ray.

Definition at line 28 of file Helix.cxx.

double Helix::step ( ) const [inline, virtual]
 

used by Intersection::distance to step along rays searching for surface crossings.

Reimplemented from Ray.

Definition at line 27 of file Helix.h.

GeomObject & Helix::transform ( const CoordTransform & T ) [virtual]
 

transform the Ray to a new system.

Reimplemented from Ray.

Definition at line 74 of file Helix.cxx.

void Helix::updateCache ( double step ) const [inline, private]
 

Definition at line 35 of file Helix.cxx.

Referenced by direction(), and position().


Member Data Documentation

Vector Helix::axis [private]
 

Definition at line 35 of file Helix.h.

double Helix::parallel [private]
 

Definition at line 38 of file Helix.h.

Vector Helix::perp [private]
 

Definition at line 37 of file Helix.h.

double Helix::rho [private]
 

Definition at line 36 of file Helix.h.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 12:20:13 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000