- // text height (DIMTXT)
- double dimtxt = getTextHeight();
- // text distance to line (DIMGAP)
- double dimgap = getDimensionLineGap();
-
- // length of dimension line:
- double distance = p1.distanceTo(p2);
-
- // do we have to put the arrows outside of the line?
- bool outsideArrows = (distance<getArrowSize()*2.5);
-
- // arrow angles:
- double arrowAngle1, arrowAngle2;
-
- // Create dimension line:
- RS_Line* dimensionLine = new RS_Line(this, RS_LineData(p1, p2));
- dimensionLine->setPen(RS_Pen(RS2::FlagInvalid));
- dimensionLine->setLayer(NULL);
- addEntity(dimensionLine);
-
- if (outsideArrows==false) {
- arrowAngle1 = dimensionLine->getAngle2();
- arrowAngle2 = dimensionLine->getAngle1();
- } else {
- arrowAngle1 = dimensionLine->getAngle1();
- arrowAngle2 = dimensionLine->getAngle2();
-
- // extend dimension line outside arrows
- Vector dir;
- dir.setPolar(getArrowSize()*2, arrowAngle2);
- dimensionLine->setStartpoint(p1 + dir);
- dimensionLine->setEndpoint(p2 - dir);
- }
-
- // Arrows:
- RS_SolidData sd;
- RS_Solid* arrow;
-
- if (arrow1) {
- // arrow 1
- arrow = new RS_Solid(this, sd);
- arrow->shapeArrow(p1,
- arrowAngle1,
- getArrowSize());
- arrow->setPen(RS_Pen(RS2::FlagInvalid));
- arrow->setLayer(NULL);
- addEntity(arrow);
- }
-
- if (arrow2) {
- // arrow 2:
- arrow = new RS_Solid(this, sd);
- arrow->shapeArrow(p2,
- arrowAngle2,
- getArrowSize());
- arrow->setPen(RS_Pen(RS2::FlagInvalid));
- arrow->setLayer(NULL);
- addEntity(arrow);
- }
-
- // Text label:
- RS_TextData textData;
- Vector textPos;
+ // text height (DIMTXT)
+ double dimtxt = getTextHeight();
+ // text distance to line (DIMGAP)
+ double dimgap = getDimensionLineGap();
+
+ // length of dimension line:
+ double distance = p1.distanceTo(p2);
+
+ // do we have to put the arrows outside of the line?
+ bool outsideArrows = (distance<getArrowSize()*2.5);
+
+ // arrow angles:
+ double arrowAngle1, arrowAngle2;
+
+ // Create dimension line:
+ RS_Line * dimensionLine = new RS_Line(this, RS_LineData(p1, p2));
+ dimensionLine->setPen(RS_Pen(RS2::FlagInvalid));
+ dimensionLine->setLayer(NULL);
+ addEntity(dimensionLine);
+
+ if (outsideArrows == false)
+ {
+ arrowAngle1 = dimensionLine->getAngle2();
+ arrowAngle2 = dimensionLine->getAngle1();
+ }
+ else
+ {
+ arrowAngle1 = dimensionLine->getAngle1();
+ arrowAngle2 = dimensionLine->getAngle2();
+
+ // extend dimension line outside arrows
+ Vector dir;
+ dir.setPolar(getArrowSize() * 2, arrowAngle2);
+ dimensionLine->setStartpoint(p1 + dir);
+ dimensionLine->setEndpoint(p2 - dir);
+ }
+
+ // Arrows:
+ RS_SolidData sd;
+ RS_Solid * arrow;
+
+ if (arrow1)
+ {
+ // arrow 1
+ arrow = new RS_Solid(this, sd);
+ arrow->shapeArrow(p1, arrowAngle1, getArrowSize());
+ arrow->setPen(RS_Pen(RS2::FlagInvalid));
+ arrow->setLayer(NULL);
+ addEntity(arrow);
+ }
+
+ if (arrow2)
+ {
+ // arrow 2:
+ arrow = new RS_Solid(this, sd);
+ arrow->shapeArrow(p2, arrowAngle2, getArrowSize());
+ arrow->setPen(RS_Pen(RS2::FlagInvalid));
+ arrow->setLayer(NULL);
+ addEntity(arrow);
+ }
+
+ // Text label:
+ RS_TextData textData;
+ Vector textPos;