* @para d Common dimension geometrical data.
* @para ed Extended geometrical data for angular dimension.
*/
-RS_DimAngular::RS_DimAngular(RS_EntityContainer * parent, const RS_DimensionData & d,
- const RS_DimAngularData & ed): RS_Dimension(parent, d), edata(ed)
+DimAngular::DimAngular(EntityContainer * parent, const DimensionData & d,
+ const DimAngularData & ed): Dimension(parent, d), edata(ed)
{
calculateBorders();
}
-/*virtual*/ RS_DimAngular::~RS_DimAngular()
+/*virtual*/ DimAngular::~DimAngular()
{
}
-/*virtual*/ RS_Entity * RS_DimAngular::clone()
+/*virtual*/ Entity * DimAngular::clone()
{
- RS_DimAngular * d = new RS_DimAngular(*this);
+ DimAngular * d = new DimAngular(*this);
#warning "!!! Need to deal with setAutoDelete() Qt3->Qt4 !!!"
// d->entities.setAutoDelete(entities.autoDelete());
d->initId();
}
/** @return RS2::EntityDimAngular */
-/*virtual*/ RS2::EntityType RS_DimAngular::rtti() const
+/*virtual*/ RS2::EntityType DimAngular::rtti() const
{
return RS2::EntityDimAngular;
}
* @return Copy of data that defines the angular dimension.
* @see getData()
*/
-RS_DimAngularData RS_DimAngular::getEData() const
+DimAngularData DimAngular::getEData() const
{
return edata;
}
* @return Automatically created label for the default
* measurement of this dimension.
*/
-QString RS_DimAngular::getMeasuredLabel()
+QString DimAngular::getMeasuredLabel()
{
QString ret;
int dimaunit = getGraphicVariableInt("$DIMAUNIT", 0);
int dimadec = getGraphicVariableInt("$DIMADEC", 0);
- ret = RS_Units::formatAngle(getAngle(),
- RS_FilterDXF::numberToAngleFormat(dimaunit),
+ ret = Units::formatAngle(getAngle(),
+ FilterDXF::numberToAngleFormat(dimaunit),
dimadec);
/*
ret = QString("%1%2")
- .arg(RS_Math::rad2deg(getAngle()))
+ .arg(Math::rad2deg(getAngle()))
.arg(RS_Char(0xB0));
*/
return ret;
/**
* @return Angle of the measured dimension.
*/
-double RS_DimAngular::getAngle() {
+double DimAngular::getAngle() {
double ang1 = 0.0;
double ang2 = 0.0;
bool reversed = false;
/**
* @return Center of the measured dimension.
*/
-Vector RS_DimAngular::getCenter() {
- RS_ConstructionLine l1(NULL, RS_ConstructionLineData(edata.definitionPoint1,
+Vector DimAngular::getCenter() {
+ ConstructionLine l1(NULL, ConstructionLineData(edata.definitionPoint1,
edata.definitionPoint2));
- RS_ConstructionLine l2(NULL, RS_ConstructionLineData(edata.definitionPoint3,
+ ConstructionLine l2(NULL, ConstructionLineData(edata.definitionPoint3,
data.definitionPoint));
- VectorSolutions vs = RS_Information::getIntersection(&l1, &l2, false);
+ VectorSolutions vs = Information::getIntersection(&l1, &l2, false);
return vs.get(0);
}
*
* @return true: on success
*/
-bool RS_DimAngular::getAngles(double& ang1, double& ang2, bool& reversed,
+bool DimAngular::getAngles(double& ang1, double& ang2, bool& reversed,
Vector& p1, Vector& p2) {
Vector center = getCenter();
// find out the angles this dimension refers to:
for (int f1=0; f1<=1 && !done; ++f1) {
- ang1 = RS_Math::correctAngle(
+ ang1 = Math::correctAngle(
edata.definitionPoint1.angleTo(edata.definitionPoint2) + f1*M_PI);
if (f1==0) {
p1 = edata.definitionPoint2;
p1 = edata.definitionPoint1;
}
for (int f2=0; f2<=1 && !done; ++f2) {
- ang2 = RS_Math::correctAngle(
+ ang2 = Math::correctAngle(
edata.definitionPoint3.angleTo(data.definitionPoint) + f2*M_PI);
if (f2==0) {
p2 = data.definitionPoint;
angDiff = ang1-ang2;
}
- ang1 = RS_Math::correctAngle(ang1);
- ang2 = RS_Math::correctAngle(ang2);
+ ang1 = Math::correctAngle(ang1);
+ ang2 = Math::correctAngle(ang2);
- if (RS_Math::isAngleBetween(ang, ang1, ang2, reversed) &&
+ if (Math::isAngleBetween(ang, ang1, ang2, reversed) &&
angDiff<=M_PI) {
done = true;
break;
*
* @param autoText Automatically reposition the text label
*/
-void RS_DimAngular::update(bool /*autoText*/) {
+void DimAngular::update(bool /*autoText*/) {
- RS_DEBUG->print("RS_DimAngular::update");
+ DEBUG->print("DimAngular::update");
clear();
double rad = edata.definitionPoint4.distanceTo(center);
- RS_Line* line;
+ Line* line;
Vector dir;
double len;
double dist;
dist = center.distanceTo(p1);
len = rad - dist + dimexe;
dir.setPolar(1.0, ang1);
- line = new RS_Line(this,
- RS_LineData(center + dir*dist + dir*dimexo,
+ line = new Line(this,
+ LineData(center + dir*dist + dir*dimexo,
center + dir*dist + dir*len));
- line->setPen(RS_Pen(RS2::FlagInvalid));
+ line->setPen(Pen(RS2::FlagInvalid));
line->setLayer(NULL);
addEntity(line);
dist = center.distanceTo(p2);
len = rad - dist + dimexe;
dir.setPolar(1.0, ang2);
- line = new RS_Line(this,
- RS_LineData(center + dir*dist + dir*dimexo,
+ line = new Line(this,
+ LineData(center + dir*dist + dir*dimexo,
center + dir*dist + dir*len));
- line->setPen(RS_Pen(RS2::FlagInvalid));
+ line->setPen(Pen(RS2::FlagInvalid));
line->setLayer(NULL);
addEntity(line);
// Create dimension line (arc):
- RS_Arc* arc = new RS_Arc(this,
- RS_ArcData(center,
+ Arc* arc = new Arc(this,
+ ArcData(center,
rad, ang1, ang2, reversed));
- arc->setPen(RS_Pen(RS2::FlagInvalid));
+ arc->setPen(Pen(RS2::FlagInvalid));
arc->setLayer(NULL);
addEntity(arc);
}
// Arrows:
- RS_SolidData sd;
- RS_Solid* arrow;
+ SolidData sd;
+ Solid* arrow;
// arrow 1
- arrow = new RS_Solid(this, sd);
+ arrow = new Solid(this, sd);
arrow->shapeArrow(arc->getStartpoint(),
arrowAngle1,
getArrowSize());
- arrow->setPen(RS_Pen(RS2::FlagInvalid));
+ arrow->setPen(Pen(RS2::FlagInvalid));
arrow->setLayer(NULL);
addEntity(arrow);
// arrow 2:
- arrow = new RS_Solid(this, sd);
+ arrow = new Solid(this, sd);
arrow->shapeArrow(arc->getEndpoint(),
arrowAngle2,
getArrowSize());
- arrow->setPen(RS_Pen(RS2::FlagInvalid));
+ arrow->setPen(Pen(RS2::FlagInvalid));
arrow->setLayer(NULL);
addEntity(arrow);
// text label:
- RS_TextData textData;
+ TextData textData;
Vector textPos = arc->getMiddlepoint();
Vector distV;
// move text away from dimension line:
textPos+=distV;
- textData = RS_TextData(textPos,
+ textData = TextData(textPos,
dimtxt, 30.0,
RS2::VAlignBottom,
RS2::HAlignCenter,
"standard",
textAngle);
- RS_Text* text = new RS_Text(this, textData);
+ Text* text = new Text(this, textData);
// move text to the side:
- text->setPen(RS_Pen(RS2::FlagInvalid));
+ text->setPen(Pen(RS2::FlagInvalid));
text->setLayer(NULL);
addEntity(text);
calculateBorders();
}
-Vector RS_DimAngular::getDefinitionPoint1()
+Vector DimAngular::getDefinitionPoint1()
{
return edata.definitionPoint1;
}
-Vector RS_DimAngular::getDefinitionPoint2()
+Vector DimAngular::getDefinitionPoint2()
{
return edata.definitionPoint2;
}
-Vector RS_DimAngular::getDefinitionPoint3()
+Vector DimAngular::getDefinitionPoint3()
{
return edata.definitionPoint3;
}
-Vector RS_DimAngular::getDefinitionPoint4()
+Vector DimAngular::getDefinitionPoint4()
{
return edata.definitionPoint4;
}
-void RS_DimAngular::move(Vector offset)
+void DimAngular::move(Vector offset)
{
- RS_Dimension::move(offset);
+ Dimension::move(offset);
edata.definitionPoint1.move(offset);
edata.definitionPoint2.move(offset);
-void RS_DimAngular::rotate(Vector center, double angle) {
- RS_Dimension::rotate(center, angle);
+void DimAngular::rotate(Vector center, double angle) {
+ Dimension::rotate(center, angle);
edata.definitionPoint1.rotate(center, angle);
edata.definitionPoint2.rotate(center, angle);
-void RS_DimAngular::scale(Vector center, Vector factor) {
- RS_Dimension::scale(center, factor);
+void DimAngular::scale(Vector center, Vector factor) {
+ Dimension::scale(center, factor);
edata.definitionPoint1.scale(center, factor);
edata.definitionPoint2.scale(center, factor);
-void RS_DimAngular::mirror(Vector axisPoint1, Vector axisPoint2) {
- RS_Dimension::mirror(axisPoint1, axisPoint2);
+void DimAngular::mirror(Vector axisPoint1, Vector axisPoint2) {
+ Dimension::mirror(axisPoint1, axisPoint2);
edata.definitionPoint1.mirror(axisPoint1, axisPoint2);
edata.definitionPoint2.mirror(axisPoint1, axisPoint2);
/**
* Dumps the point's data to stdout.
*/
-std::ostream& operator << (std::ostream& os, const RS_DimAngular& d) {
+std::ostream& operator << (std::ostream& os, const DimAngular& d) {
os << " DimAngular: " << d.getData() << "\n" << d.getEData() << "\n";
return os;
}