Arc2D

Description

This structure is used to represent two-dimensional arc in the Cartesian system.

struct Arc2D
{
	Point2D center;
	float radius;
	float startAngle;
	float sweepAngle;

	Arc2D();
	Arc2D(float x, float y, float radius, float startAngle, float sweepAngle);
	Arc2D(const Point2D center, float radius, float startAngle, float sweepAngle);

	Point2D Center() const;				
	float Radius( void ) const;		
	float StartAngle( void ) const;	
	float SweepAngle( void ) const;	
	float X( void ) const;			
	float Y( void ) const;			
	Circle2D GetCircle() const;			

	bool operator == ( const Arc2D& rhs ) const;
	bool operator != ( const Arc2D& rhs ) const;
};

Structure fields and default values (if defined) are described below:

struct Arc2D
{
	Point2D	Center;
	float	Radius;
	Real	StartAngle;
	Real	SweepAngle;


	Point2D Center( void ) const	{ return Center;		};
	float Radius( void ) const		{ return Radius;		};
	Real StartAngle( void ) const	{ return StartAngle;	};
	Real SweepAngle( void ) const	{ return SweepAngle;	};

	bool operator == ( const avl::Arc2D& rhs ) const
	{
		return Center == rhs.Center && 
			Radius == rhs.Radius && 
			StartAngle == rhs.StartAngle && 
			SweepAngle == rhs.SweepAngle;
	}

	bool operator != ( const avl::Arc2D& rhs ) const
	{
		return !(operator==(rhs));
	}

};

See also

Geometry 2D Basics