X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FSketcherPrs%2FSketcherPrs_LengthDimension.h;h=f505e7fff4be7dbeccadf227c6bb91403c20321b;hb=b67410b7e66bb035081015af2245b62223510474;hp=c0716bc5825c8802fb4a4c339e827b8b1158c165;hpb=0edd45c3399c408340a033c8521ed2e3440e8375;p=modules%2Fshaper.git diff --git a/src/SketcherPrs/SketcherPrs_LengthDimension.h b/src/SketcherPrs/SketcherPrs_LengthDimension.h index c0716bc58..f505e7fff 100644 --- a/src/SketcherPrs/SketcherPrs_LengthDimension.h +++ b/src/SketcherPrs/SketcherPrs_LengthDimension.h @@ -13,10 +13,11 @@ #include #include -#include - -#include +#include +#include +#include +#include DEFINE_STANDARD_HANDLE(SketcherPrs_LengthDimension, AIS_LengthDimension) @@ -25,7 +26,7 @@ DEFINE_STANDARD_HANDLE(SketcherPrs_LengthDimension, AIS_LengthDimension) * A class for representation of linear dimension constraint. * It supports SketchPlugin_ConstraintLength and SketchPlugin_ConstraintDistance features. */ -class SketcherPrs_LengthDimension : public AIS_LengthDimension, public Events_Listener +class SketcherPrs_LengthDimension : public AIS_LengthDimension { public: /// Constructor @@ -39,10 +40,6 @@ public: DEFINE_STANDARD_RTTI(SketcherPrs_LengthDimension) - /// Process the ModelAPI_DocumentCreatedMessage to fulfill a document - /// from the message with origin and planes - virtual void processEvent(const std::shared_ptr& theMessage); - /// Returns true if the constraint feature arguments are correcly filled to build AIS presentation /// \param theConstraint a constraint feature /// \param thePlane a coordinate plane of current sketch @@ -59,20 +56,28 @@ protected: const Standard_Integer aMode); private: - static bool getPoints(ModelAPI_Feature* theConstraint, - const std::shared_ptr& thePlane, - gp_Pnt& thePnt1, gp_Pnt& thePnt2); + static bool readyToDisplay(ModelAPI_Feature* theConstraint, + const std::shared_ptr& thePlane, + gp_Pnt& thePnt1, gp_Pnt& thePnt2); /// Constraint feature ModelAPI_Feature* myConstraint; /// Plane of the current sketcher - std::shared_ptr myPlane; + std::shared_ptr mySketcherPlane; + + //Handle(Prs3d_DimensionAspect) myAspect; + + /// Listener to update dimension visualization style + SketcherPrs_DimensionStyleListener* myStyleListener; - Handle(Prs3d_DimensionAspect) myAspect; + /// container of values obtained from the constraint, which are necessary to fill the presentation + gp_Pnt myFirstPoint; ///< the dimension first point for measured geometry + gp_Pnt mySecondPoint; ///< the dimension first point for measured geometry + gp_Pln myPlane; ///< the plane(plane of the sketch) for measured geometry + double myDistance; ///< the flyout distance - /// Style how the parameter of dimension should be visualized - SketcherPrs_ParameterStyleMessage::ParameterStyle myStyle; + SketcherPrs_DimensionStyleListener::DimensionValue myValue; /// the structure filled by constraint }; #endif \ No newline at end of file