45 lines
1.0 KiB
C++
45 lines
1.0 KiB
C++
#include "SketchFeature.h"
|
|
|
|
SketchFeature::SketchFeature(const QString& name)
|
|
: Feature(name)
|
|
{
|
|
}
|
|
|
|
QString SketchFeature::type() const
|
|
{
|
|
return "Sketch";
|
|
}
|
|
|
|
void SketchFeature::setPlane(SketchPlane plane)
|
|
{
|
|
m_plane = plane;
|
|
}
|
|
|
|
SketchFeature::SketchPlane SketchFeature::plane() const
|
|
{
|
|
return m_plane;
|
|
}
|
|
|
|
void SketchFeature::read(const QJsonObject& json)
|
|
{
|
|
Feature::read(json);
|
|
if (json.contains("plane") && json["plane"].isString()) {
|
|
QString planeStr = json["plane"].toString();
|
|
if (planeStr == "XY") m_plane = SketchPlane::XY;
|
|
else if (planeStr == "XZ") m_plane = SketchPlane::XZ;
|
|
else if (planeStr == "YZ") m_plane = SketchPlane::YZ;
|
|
}
|
|
}
|
|
|
|
void SketchFeature::write(QJsonObject& json) const
|
|
{
|
|
Feature::write(json);
|
|
QString planeStr;
|
|
switch (m_plane) {
|
|
case SketchPlane::XY: planeStr = "XY"; break;
|
|
case SketchPlane::XZ: planeStr = "XZ"; break;
|
|
case SketchPlane::YZ: planeStr = "YZ"; break;
|
|
}
|
|
json["plane"] = planeStr;
|
|
}
|