X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FEntityGUI%2FEntityGUI_3DSketcherDlg.h;h=893bbe83ed7e62c8053e3c137106a8790ce3575e;hb=08a90cb03f6d2befe6f0b923bd690182ded48378;hp=8888cf0655a7d8ab5a2aa2ccd604ed45aeca8239;hpb=95e277aea0904f4d6f159787d4d7c63e52df83b9;p=modules%2Fgeom.git diff --git a/src/EntityGUI/EntityGUI_3DSketcherDlg.h b/src/EntityGUI/EntityGUI_3DSketcherDlg.h index 8888cf065..893bbe83e 100755 --- a/src/EntityGUI/EntityGUI_3DSketcherDlg.h +++ b/src/EntityGUI/EntityGUI_3DSketcherDlg.h @@ -28,12 +28,15 @@ class QButtonGroup; class QDoubleSpinBox; class EntityGUI_3Spin; +class EntityGUI_Type; class EntityGUI_Angles; class EntityGUI_Controls; -class DlgRef_3Radio; class SOCC_Prs; +class gp_Dir; #include +#include +#include #ifndef COORD_MIN # define COORD_MIN -1e+15 @@ -52,11 +55,20 @@ class EntityGUI_3DSketcherDlg : public GEOMBase_Skeleton struct XYZ { - XYZ() { x = y = z = 0.0; command = params = ""; } + XYZ() { x = y = z = 0.0; command = params = ""; L=A=0; } double x, y, z; // for preview only + int L, A; // for preview only QString command; QString params; }; + + struct prsType + { + prsType(){L=A=0;} + int L; + int A; + }; + typedef QList XYZList; public: @@ -82,10 +94,30 @@ private: const int = -1, const int = -1); + Handle(AIS_LengthDimension) createAISLengthDimension(double theLength, + gp_Pnt P1, + gp_Pnt P2, + gp_Dir theNormal); + + Handle(AIS_AngleDimension) createAISAngleDimension(double theAngle, + gp_Pnt P0, + gp_Pnt P1, + gp_Pnt P2); + + void displayAngle(double theAngle, + gp_Pnt P0, + gp_Pnt P1, + gp_Pnt P2, + bool store = false); + + void displayLength(gp_Pnt P1, + gp_Pnt P2, + gp_Dir theNormal, + bool store = false); + void displayTrihedron( int ); - void displayAngle( double, double, double, int, bool store = false ); - void displayLength( double theLength = -1.0, bool store = false, int type = 1); + void displayDimensions(bool store = false); bool createShapes( GEOM::GEOM_Object_ptr, TopoDS_Shape&, @@ -95,27 +127,29 @@ private: XYZ getPenultimatePoint() const; XYZ getCurrentPoint() const; + gp_Dir getPresentationPlane() const; + std::string doubleToString( double ); - void removeLastIOFromPrs( int ); - void restoreLastIOToPrs( int ); + void removeLastIOFromPrs(); + void restoreLastIOToPrs(); private: XYZList myPointsList; XYZList myRedoList; AIS_ListOfInteractive myLengthIORedoList; AIS_ListOfInteractive myAngleIORedoList; - int myPrsType; - std::list myPrsTypeList; - std::list myPrsTypeRedoList; + prsType myPrsType; EntityGUI_3Spin* Group3Spin; EntityGUI_Angles* GroupAngles; EntityGUI_Controls* GroupControls; - DlgRef_3Radio* GroupType; - QButtonGroup* myTypeGroup; + EntityGUI_Type* GroupType; + QButtonGroup* myTypeGroup1; + QButtonGroup* myTypeGroup2; int myMode; + int myCoordType; int myOrientation; bool myOK; bool isLengthVisible;