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 <AIS_ListOfInteractive.hxx>
+#include <AIS_AngleDimension.hxx>
+#include <AIS_LengthDimension.hxx>
#ifndef COORD_MIN
# define COORD_MIN -1e+15
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<XYZ> XYZList;
public:
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&,
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<int> myPrsTypeList;
- std::list<int> 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;