Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

JCircle Class Reference

#include <JCircle.hpp>

Inheritance diagram for JCircle::

JPoint JCylinder List of all members.

Public Methods

__inline JCircle ()
__inline JCircle (Type X)
__inline JCircle (Type X, Type Y)
__inline JCircle (Type X, Type Y, FType Radius)
__inline JCircle (const JCircle &src)
__inline const JCircle & operator= (const JCircle &src)
__inline bool operator== (const JCircle &src)
__inline bool operator!= (const JCircle &src)
__inline const JCircle & operator++ ()
__inline const JCircle & operator++ (int)
__inline const JCircle & operator-- ()
__inline const JCircle & operator-- (int)
__inline void setRadius (FType r)
__inline void check ()
__inline FType getRadius () const
__inline JCircle & setCircle (Type X, Type Y, FType Radius)
__inline JCircle & setPoint (Type X, Type Y)
__inline FType area ()
__inline JCircle & setPolar (FType R, FType Theta)
__inline JCircle & setX (Type X)
__inline JCircle & setY (Type Y)
__inline JCircle & setR (FType R)
__inline JCircle & setAngle (FType Theta)

Protected Attributes

JCircle_t c

Friends

ostream & operator<< (ostream &os, const JCircle &Circ)

Constructor & Destructor Documentation

__inline JCircle::JCircle   [inline]
 

Definition at line 38 of file JCircle.hpp.

00038                      : JPoint()
00039     {
00040        memset( &c, 0, sizeof( JCircle_t ) );
00041     }

__inline JCircle::JCircle Type    X [inline]
 

Definition at line 43 of file JCircle.hpp.

00043                              : JPoint( X )
00044     {
00045        memset( &c, 0, sizeof( JCircle_t ) );
00046     }

__inline JCircle::JCircle Type    X,
Type    Y
[inline]
 

Definition at line 48 of file JCircle.hpp.

00048                                      : JPoint( X, Y )
00049     {
00050        memset( &c, 0, sizeof( JCircle_t ) );
00051     }

__inline JCircle::JCircle Type    X,
Type    Y,
FType    Radius
[inline]
 

Definition at line 53 of file JCircle.hpp.

00053                                                    : JPoint( X, Y )
00054     {
00055        memset( &c, 0, sizeof( JCircle_t ) );
00056        c.radius = Radius;
00057        c.area_cache = -1;
00058        check();
00059     }

__inline JCircle::JCircle const JCircle &    src [inline]
 

Definition at line 61 of file JCircle.hpp.

00061                                         : JPoint( (const JPoint&)src )
00062    {
00063      // memcpy( &pt, &src.pt, sizeof( JPoint_t  ) );
00064      memcpy( &c,  &src.c,  sizeof( JCircle_t ) );
00065    }


Member Function Documentation

__inline FType JCircle::area   [inline]
 

Definition at line 152 of file JCircle.hpp.

Referenced by JCylinder::area(), main(), and JCylinder::volume().

00153     {
00154       if ( c.area_cache < 0 ) {
00155         c.area_cache = Math_PI * c.radius * c.radius;
00156       }
00157       return c.area_cache;
00158     }

__inline void JCircle::check   [inline]
 

Definition at line 122 of file JCircle.hpp.

Referenced by JCircle(), setCircle(), and setRadius().

00123     {
00124       if ( c.radius <= 0 ) {
00125         c.radius = 0;
00126       }
00127     }

__inline FType JCircle::getRadius   const [inline]
 

Definition at line 130 of file JCircle.hpp.

Referenced by JCylinder::area(), and main().

00131     {
00132       return c.radius;
00133     }

__inline bool JCircle::operator!= const JCircle &    src [inline]
 

Definition at line 81 of file JCircle.hpp.

00082    {
00083      return  memcmp( &pt, &src.pt, (sizeof( Type ) * 2)  ) ||
00084              ( c.radius != src.c.radius);
00085    }

__inline const JCircle& JCircle::operator++ int    [inline]
 

Reimplemented from JPoint.

Definition at line 93 of file JCircle.hpp.

00094    {
00095       JPoint::operator++( 0 );
00096       return *this;
00097    }

__inline const JCircle& JCircle::operator++   [inline]
 

Reimplemented from JPoint.

Definition at line 87 of file JCircle.hpp.

00088    {
00089       JPoint::operator++();
00090       return *this;
00091    }

__inline const JCircle& JCircle::operator-- int    [inline]
 

Reimplemented from JPoint.

Definition at line 105 of file JCircle.hpp.

00106    {
00107       JPoint::operator--( 0 );
00108       return *this;
00109    }

__inline const JCircle& JCircle::operator--   [inline]
 

Reimplemented from JPoint.

Definition at line 99 of file JCircle.hpp.

00100    {
00101       JPoint::operator--();
00102       return *this;
00103    }

__inline const JCircle& JCircle::operator= const JCircle &    src [inline]
 

Reimplemented in JCylinder.

Definition at line 67 of file JCircle.hpp.

00068    {
00069      memcpy( &pt, &src.pt, sizeof( JPoint_t  ) );
00070      memcpy( &c,  &src.c,  sizeof( JCircle_t ) );
00071      return *this;
00072    }

__inline bool JCircle::operator== const JCircle &    src [inline]
 

Definition at line 75 of file JCircle.hpp.

00076    {
00077      return !memcmp( &pt, &src.pt, (sizeof( Type ) * 2)  ) &&
00078              ( c.radius == src.c.radius);
00079    }

__inline JCircle& JCircle::setAngle FType    Theta [inline]
 

Reimplemented from JPoint.

Reimplemented in JCylinder.

Definition at line 186 of file JCircle.hpp.

Referenced by JCylinder::setAngle().

00186                                              {
00187        JPoint::setAngle( Theta );
00188        return *this;
00189     }

__inline JCircle& JCircle::setCircle Type    X,
Type    Y,
FType    Radius
[inline]
 

Reimplemented in JCylinder.

Definition at line 136 of file JCircle.hpp.

Referenced by JCylinder::setCircle().

00137     {
00138        JPoint::setPoint( X, Y );
00139        c.radius = Radius;
00140        check();
00141        return *this;
00142     }

__inline JCircle& JCircle::setPoint Type    X,
Type    Y
[inline]
 

Reimplemented from JPoint.

Reimplemented in JCylinder.

Definition at line 145 of file JCircle.hpp.

Referenced by JCylinder::setPoint().

00146     {
00147        JPoint::setPoint( X, Y );
00148        return *this;
00149     }

__inline JCircle& JCircle::setPolar FType    R,
FType    Theta
[inline]
 

JPoint related functions. ////////////////////////////////////////////////////////////////////.

Reimplemented from JPoint.

Reimplemented in JCylinder.

Definition at line 165 of file JCircle.hpp.

Referenced by JCylinder::setPolar().

00166     {
00167        JPoint::setPolar( R, Theta );
00168        return *this;
00169     }

__inline JCircle& JCircle::setR FType    R [inline]
 

Reimplemented from JPoint.

Reimplemented in JCylinder.

Definition at line 181 of file JCircle.hpp.

Referenced by JCylinder::setR().

00181                                      {
00182        JPoint::setR( R );
00183        return *this;
00184     }

__inline void JCircle::setRadius FType    r [inline]
 

JCircle related functions. /////////////////////////////////////////////////.

Reimplemented in JCylinder.

Definition at line 116 of file JCircle.hpp.

Referenced by JCylinder::setRadius().

00117     {
00118       c.radius = r;
00119       check();
00120     }

__inline JCircle& JCircle::setX Type    X [inline]
 

Reimplemented in JCylinder.

Definition at line 171 of file JCircle.hpp.

Referenced by JCylinder::setX().

00171                                     {
00172        JPoint::setX( X );
00173        return *this;
00174     }

__inline JCircle& JCircle::setY Type    Y [inline]
 

Reimplemented in JCylinder.

Definition at line 176 of file JCircle.hpp.

Referenced by JCylinder::setY().

00176                                     {
00177        JPoint::setY( Y );
00178        return *this;
00179     }


Friends And Related Function Documentation

ostream& operator<< ostream &    os,
const JCircle &    Circ
[friend]
 

Definition at line 193 of file JCircle.hpp.

00194    {
00195      os << "Center = " << (const JPoint&)(Circ)
00196         << "; Radius = "
00197         << setiosflags( ios::fixed | ios::showpoint )
00198         << setprecision( 2 ) 
00199         << Circ.c.radius;
00200      return os;                          // Enable cascaded calls
00201    }


Member Data Documentation

struct JCircle_t JCircle::c [protected]
 

Definition at line 204 of file JCircle.hpp.

Referenced by operator!=(), operator<<(), JCylinder::operator=(), operator=(), and operator==().


The documentation for this class was generated from the following file:
Generated on Sun Oct 14 18:48:44 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001