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

Circle Class Reference

#include <Geometry.h>

Collaboration diagram for Circle:

Collaboration graph
[legend]
List of all members.

Public Methods

 Circle ()
 Circle (VecPosition pos, double dR)
void show (ostream &os=cout)
bool setCircle (VecPosition pos, double dR)
bool setRadius (double dR)
double getRadius ()
bool setCenter (VecPosition pos)
VecPosition getCenter ()
double getCircumference ()
double getArea ()
bool isInside (VecPosition pos)
int getIntersectionPoints (Circle c, VecPosition *p1, VecPosition *p2)
double getIntersectionArea (Circle c)

Private Attributes

VecPosition m_posCenter
double m_dRadius

Detailed Description

This class represents a circle. A circle is defined by one VecPosition (which denotes the center) and its radius.

Definition at line 229 of file Geometry.h.


Constructor & Destructor Documentation

Circle::Circle  
 

This is the constructor of a circle which initializes a circle with a radius of zero.

Definition at line 1155 of file Geometry.cpp.

References setCircle().

Circle::Circle VecPosition    pos,
double    dR
 

This is the constructor of a circle.

Parameters:
pos  first point that defines the center of circle
dR  the radius of the circle
Returns:
circle with pos as center and radius as radius

Definition at line 1148 of file Geometry.cpp.

References setCircle().


Member Function Documentation

double Circle::getArea  
 

This method returns the area inside the circle.

Returns:
area inside the circle

Definition at line 1228 of file Geometry.cpp.

References getRadius().

VecPosition Circle::getCenter  
 

This method returns the center of the circle.

Returns:
center of the circle

Definition at line 1214 of file Geometry.cpp.

References m_posCenter.

Referenced by Line::getCircleIntersectionPoints(), getIntersectionArea(), and getIntersectionPoints().

double Circle::getCircumference  
 

This method returns the circumference of the circle.

Returns:
circumference of the circle

Definition at line 1221 of file Geometry.cpp.

References getRadius().

double Circle::getIntersectionArea Circle    c
 

This method returns the size of the intersection area of two circles.

Parameters:
c  circle with which intersection should be determined
Returns:
size of the intersection area.

Definition at line 1305 of file Geometry.cpp.

References AngDeg, getCenter(), VecPosition::getDistanceTo(), getIntersectionPoints(), getRadius(), VecPosition::getVecPositionOnLineFraction(), and min().

int Circle::getIntersectionPoints Circle    c,
VecPosition   p1,
VecPosition   p2
 

This method returns the two possible intersection points between two circles. This method returns the number of solutions that were found.

Parameters:
c  circle with which intersection should be found
p1  will be filled with first solution
p2  will be filled with second solution
Returns:
number of solutions.

Definition at line 1251 of file Geometry.cpp.

References getCenter(), getRadius(), VecPosition::getX(), VecPosition::getY(), and VecPosition::setVecPosition().

Referenced by getIntersectionArea().

double Circle::getRadius  
 

This method returns the radius of the circle.

Returns:
radius of the circle

Definition at line 1198 of file Geometry.cpp.

References m_dRadius.

Referenced by getArea(), Line::getCircleIntersectionPoints(), getCircumference(), getIntersectionArea(), getIntersectionPoints(), and isInside().

bool Circle::isInside VecPosition    pos
 

This method returns a boolean that indicates whether 'pos' is located inside the circle.

Parameters:
pos  position of which should be checked whether it is located in the circle
Returns:
bool indicating whether pos lies inside the circle

Definition at line 1240 of file Geometry.cpp.

References VecPosition::getDistanceTo(), getRadius(), and m_posCenter.

Referenced by WorldModel::getNrInSetInCircle().

bool Circle::setCenter VecPosition    pos
 

This method sets the center of the circle.

Parameters:
pos  new center of the circle
Returns:
bool indicating whether center was set

Definition at line 1206 of file Geometry.cpp.

References m_posCenter.

Referenced by setCircle().

bool Circle::setCircle VecPosition    pos,
double    dR
 

This method sets the values of the circle.

Parameters:
pos  new center of the circle
dR  new radius of the circle ( > 0 )
Returns:
bool indicating whether radius was set

Definition at line 1174 of file Geometry.cpp.

References setCenter(), and setRadius().

Referenced by Circle().

bool Circle::setRadius double    dR
 

This method sets the radius of the circle.

Parameters:
dR  new radius of the circle ( > 0 )
Returns:
bool indicating whether radius was set

Definition at line 1182 of file Geometry.cpp.

References m_dRadius.

Referenced by setCircle().

void Circle::show ostream &    os = cout
 

This method prints the circle information to the specified output stream in the following format: "c: (c_x,c_y), r: rad" where (c_x,c_y) denotes the center of the circle and rad the radius.

Parameters:
os  output stream to which output is written.

Definition at line 1164 of file Geometry.cpp.

References m_dRadius, and m_posCenter.


Member Data Documentation

double Circle::m_dRadius [private]
 

Radius of the circle

Definition at line 232 of file Geometry.h.

Referenced by getRadius(), setRadius(), and show().

VecPosition Circle::m_posCenter [private]
 

Center of the circle

Definition at line 231 of file Geometry.h.

Referenced by getCenter(), isInside(), setCenter(), and show().


The documentation for this class was generated from the following files:
Generated on Fri Nov 7 11:46:01 2003 for UvA Trilearn 2003 Base Code by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001