Add svg conversion.
This commit is contained in:
parent
1f85954e98
commit
dfbc87cb09
33 changed files with 602 additions and 79 deletions
|
@ -9,6 +9,50 @@ SvgCircle::SvgCircle(Type type)
|
|||
|
||||
}
|
||||
|
||||
Point SvgCircle::getLocation() const
|
||||
{
|
||||
double cx = 0.0;
|
||||
double cy = 0.0;
|
||||
if (auto attr = getAttribute("cx"); attr)
|
||||
{
|
||||
cx = std::stod(attr->getValue());
|
||||
}
|
||||
if (auto attr = getAttribute("cy"); attr)
|
||||
{
|
||||
cy = std::stod(attr->getValue());
|
||||
}
|
||||
return { cx, cy };
|
||||
}
|
||||
|
||||
double SvgCircle::getRadius() const
|
||||
{
|
||||
double radius = 1.0;
|
||||
if (auto attr = getAttribute("rx"); attr)
|
||||
{
|
||||
radius = std::stod(attr->getValue());
|
||||
}
|
||||
else if (auto attr = getAttribute("r"); attr)
|
||||
{
|
||||
radius = std::stod(attr->getValue());
|
||||
}
|
||||
return radius;
|
||||
}
|
||||
|
||||
SvgCircle::Type SvgCircle::getType() const
|
||||
{
|
||||
return mType;
|
||||
}
|
||||
|
||||
double SvgCircle::getMinorRadius() const
|
||||
{
|
||||
double radius = 0.0;
|
||||
if (auto attr = getAttribute("ry"); attr)
|
||||
{
|
||||
radius = std::stod(attr->getValue());
|
||||
}
|
||||
return radius;
|
||||
}
|
||||
|
||||
void SvgCircle::setLocation(const Point& loc)
|
||||
{
|
||||
auto cx = std::make_unique<XmlAttribute>("cx");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue