feat: Implement sketch object base class and line geometry

Co-authored-by: aider (gemini/gemini-2.5-pro) <aider@aider.chat>
This commit is contained in:
2026-02-14 19:12:59 -07:00
parent f46590219a
commit a1cfbc2e3f
6 changed files with 159 additions and 0 deletions

View File

@@ -2,8 +2,11 @@
#define SKETCHFEATURE_H
#include <TopoDS_Shape.hxx>
#include <QList>
#include "Feature.h"
class SketchObject;
class SketchFeature : public Feature
{
public:
@@ -14,6 +17,7 @@ public:
};
SketchFeature(const QString& name);
~SketchFeature();
QString type() const override;
@@ -22,12 +26,16 @@ public:
const TopoDS_Shape& shape() const;
void addObject(SketchObject* object);
const QList<SketchObject*>& objects() const;
void read(const QJsonObject &json) override;
void write(QJsonObject &json) const override;
private:
SketchPlane m_plane;
TopoDS_Shape m_shape;
QList<SketchObject*> m_objects;
};
#endif // SKETCHFEATURE_H