elliptical-arc.h revision 01d27eab5fca2dcb8e883011f8be77ae6b78a11c
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * \brief Elliptical Arc - implementation of the svg elliptical arc path element
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * MenTaLguY <mental@rydia.net>
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * Marco Cecchetti <mrcekets at gmail.com>
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * Copyright 2007-2008 authors
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * This library is free software; you can redistribute it and/or
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * modify it either under the terms of the GNU Lesser General Public
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * License version 2.1 as published by the Free Software Foundation
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * (the "LGPL") or, at your option, under the terms of the Mozilla
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * Public License Version 1.1 (the "MPL"). If you do not alter this
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * notice, a recipient may use your version of this file under either
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * the MPL or the LGPL.
280f00d3e4d4d8e08047b2aa9175858280d77c83gouldtj * You should have received a copy of the LGPL along with this library
#ifndef _2GEOM_ELLIPTICAL_ARC_H_
#define _2GEOM_ELLIPTICAL_ARC_H_
#include <algorithm>
double center(unsigned int i) const
return m_center[i];
return m_center;
return m_initial_point;
return m_final_point;
double start_angle() const
return m_start_angle;
double end_angle() const
return m_end_angle;
double ray(unsigned int i) const
bool large_arc_flag() const
return m_large_arc;
bool sweep_flag() const
return m_sweep;
double rotation_angle() const
return m_rot_angle;
bool isDegenerate() const
return boundsExact();
return from;
return arc_pair;
return rarc;
double sweep_angle() const
if ( !sweep_flag() ) d = -d;