| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| #ifndef TECHDRAW_COSMETICEXTENSION_H |
| #define TECHDRAW_COSMETICEXTENSION_H |
|
|
| #include <App/DocumentObjectExtension.h> |
| #include <App/ExtensionPython.h> |
| #include <Base/Vector3D.h> |
| #include <Mod/TechDraw/TechDrawGlobal.h> |
|
|
| #include "Geometry.h" |
| #include "PropertyCenterLineList.h" |
| #include "PropertyCosmeticEdgeList.h" |
| #include "PropertyCosmeticVertexList.h" |
| #include "PropertyGeomFormatList.h" |
|
|
|
|
| namespace TechDraw { |
| class DrawViewPart; |
| class GeometryObject; |
|
|
| class TechDrawExport CosmeticExtension : public App::DocumentObjectExtension { |
| EXTENSION_PROPERTY_HEADER_WITH_OVERRIDE(TechDraw::CosmeticObject); |
|
|
| public: |
| CosmeticExtension(); |
| ~CosmeticExtension() override; |
|
|
| TechDraw::PropertyCosmeticVertexList CosmeticVertexes; |
| TechDraw::PropertyCosmeticEdgeList CosmeticEdges; |
| TechDraw::PropertyCenterLineList CenterLines; |
| TechDraw::PropertyGeomFormatList GeomFormats; |
|
|
| virtual CosmeticVertex* getCosmeticVertexBySelection(const int i) const; |
| virtual CosmeticVertex* getCosmeticVertexBySelection(const std::string& name) const; |
| virtual CosmeticVertex* getCosmeticVertex(const std::string& tag) const; |
| virtual int add1CVToGV(const std::string& tag); |
| virtual int getCVIndex(const std::string& tag); |
| virtual std::string addCosmeticVertex(const Base::Vector3d& pos, bool invert = true); |
| virtual void addCosmeticVertexesToGeom(); |
| virtual void clearCosmeticVertexes(); |
| virtual void refreshCVGeoms(); |
| virtual void removeCosmeticVertex(const std::string& tag); |
| virtual void removeCosmeticVertex(const std::vector<std::string>& tags); |
|
|
| virtual std::string addCosmeticEdge(Base::Vector3d start, Base::Vector3d end); |
| virtual std::string addCosmeticEdge(TechDraw::BaseGeomPtr bg); |
| virtual CosmeticEdge* getCosmeticEdgeBySelection(const std::string& name) const; |
| virtual CosmeticEdge* getCosmeticEdgeBySelection(int i) const; |
| virtual CosmeticEdge* getCosmeticEdge(const std::string& id) const; |
| virtual void removeCosmeticEdge(const std::string& tag); |
| virtual void removeCosmeticEdge(const std::vector<std::string>& delTags); |
| virtual void clearCosmeticEdges(); |
| virtual int add1CEToGE(const std::string& tag); |
| virtual void addCosmeticEdgesToGeom(); |
| virtual void refreshCEGeoms(); |
|
|
| virtual void refreshCLGeoms(); |
| virtual void addCenterLinesToGeom(); |
| virtual int add1CLToGE(const std::string &tag); |
| virtual std::string addCenterLine(Base::Vector3d start, Base::Vector3d end); |
| virtual std::string addCenterLine(TechDraw::CenterLine* cl); |
| virtual std::string addCenterLine(TechDraw::BaseGeomPtr bg); |
| virtual CenterLine* getCenterLineBySelection(const std::string& name) const; |
| virtual CenterLine* getCenterLineBySelection(int i) const; |
| virtual CenterLine* getCenterLine(const std::string& tag) const; |
| virtual void removeCenterLine(const std::string& tag); |
| virtual void removeCenterLine(const std::vector<std::string>& delTags); |
| virtual void clearCenterLines(); |
|
|
| virtual std::string addGeomFormat(TechDraw::GeomFormat* gf); |
| virtual GeomFormat* getGeomFormatBySelection(const std::string& name) const; |
| virtual GeomFormat* getGeomFormatBySelection(int i) const; |
| virtual GeomFormat* getGeomFormat(const std::string& id) const; |
| virtual void removeGeomFormat(const std::string& tag); |
| virtual void clearGeomFormats(); |
|
|
| void deleteCosmeticElements(std::vector<std::string> removables); |
|
|
| TechDraw::DrawViewPart* getOwner(); |
|
|
| PyObject* getExtensionPyObject() override; |
|
|
| private: |
|
|
| }; |
|
|
| using CosmeticExtensionPython = App::ExtensionPythonT<CosmeticExtension>; |
|
|
| } |
|
|
| #endif |
|
|