/*************************************************************************** * Copyright (c) 2020 WandererFan # include #include "DrawViewDimension.h" class TopoDS_Shape; class gp_Ax2; namespace Measure { class Measurement; } namespace TechDraw { class DrawViewPart; class TechDrawExport LandmarkDimension : public TechDraw::DrawViewDimension { PROPERTY_HEADER_WITH_OVERRIDE(TechDraw::LandmarkDimension); public: /// Constructor LandmarkDimension(); virtual ~LandmarkDimension(); App::PropertyStringList ReferenceTags; //tags of 2d vertices in DVP virtual App::DocumentObjectExecReturn *execute(void) override; short mustExecute() const override; virtual void unsetupObject() override; virtual const char* getViewProviderName(void) const override { return "TechDrawGui::ViewProviderDimension"; } /* virtual PyObject *getPyObject(void) override;*/ virtual bool checkReferences2D() const override; virtual bool has2DReferences(void) const override; virtual pointPair getPointsTwoVerts() override; std::vector get2DPoints(void) const; virtual DrawViewPart* getViewPart() const override; virtual int getRefType() const override; gp_Ax2 getProjAxis(void) const; protected: virtual void onChanged(const App::Property* prop) override; virtual void onDocumentRestored() override; Base::Vector3d projectPoint(const Base::Vector3d& pt, DrawViewPart* dvp) const; private: }; } //namespace TechDraw #endif