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

Hyperbolic.h

Go to the documentation of this file.
00001 // $Id: Hyperbolic.h,v 1.2 2000/01/18 00:42:07 burnett Exp $
00002 //
00003 
00004 #ifndef HYPERBOLIC_H
00005 #define HYPERBOLIC_H
00006 
00007 #include "geometry/Surface.h"
00008 
00010 class Hyperbolic : public Surface
00011 {
00012   public:
00013 
00014     Hyperbolic(const Point& origin, const Vector& axis, double ri, double ro, double h_z);
00015 
00016     virtual double how_near( const Point& x ) const;
00017     virtual double distance( const Point& x ,const Vector& v,int) const;
00019     virtual Vector normal( const Point& x )const;
00020 
00021     // specify geometry
00022 
00023     const Vector& axis()const{return Surface::direction();}
00024 
00025     double radius(double z=0)const;
00026     // radius at position z from origin
00027 
00028     virtual const char *nameOf() const { return "Hyperbolic"; }
00029     virtual void printOn( std::ostream& os = std::cout ) const;
00030 
00031 
00032 };
00033 #endif
00034 

Generated at Mon Nov 26 18:18:21 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000