Mobius.h

Go to the documentation of this file.
00001 
00009 #ifndef _MESHLIB_MOBIUS_H_
00010 #define _MESHLIB_MOBIUS_H_
00011 
00012 #include <assert.h>
00013 #include <math.h>
00014 #include <complex>
00015 
00016 namespace MeshLib{
00017 
00021 typedef std::complex<double> Complex;
00022 
00026 class CMobius
00027 {
00028 public:
00032         CMobius(){ m_z0=Complex(0,0); m_theta = std::polar(1.0,0.0);};
00038         CMobius( Complex z0, double theta ) { m_z0 = z0; m_theta = std::polar(1.0,theta);};
00042         ~CMobius(){};
00047         Complex operator*( Complex z ) { return m_theta * (z - m_z0)/(Complex(1.0,0.0)-std::conj(m_z0)*z); };
00048 
00049 protected:
00053         Complex  m_theta;
00057         Complex  m_z0;
00058 };
00059 
00060 }//name space MeshLib
00061 
00062 #endif //_MESHLIB_POINT_H_ defiined
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Defines