Enabled variables lengths of lines and lengths of arcs. Fixed wrong calculation
of length line and curve. --HG-- branch : develop
This commit is contained in:
parent
3407961b65
commit
b31002df67
|
@ -108,7 +108,17 @@ qreal VContainer::GetLine(const QString &name) const{
|
|||
return GetObject(lengthLines, name);
|
||||
}
|
||||
|
||||
qreal VContainer::GetLineArc(const QString &name) const{
|
||||
qreal VContainer::GetLengthArc(const QString &name) const{
|
||||
Q_ASSERT(!name.isEmpty());
|
||||
return GetObject(lengthArcs, name);
|
||||
}
|
||||
|
||||
qreal VContainer::GetLengthSpline(const QString &name) const{
|
||||
Q_ASSERT(!name.isEmpty());
|
||||
return GetObject(lengthSplines, name);
|
||||
}
|
||||
|
||||
qreal VContainer::GetLineAngle(const QString &name) const{
|
||||
Q_ASSERT(!name.isEmpty());
|
||||
return GetObject(lineAngles, name);
|
||||
}
|
||||
|
@ -562,6 +572,10 @@ qreal VContainer::FindVar(const QString &name, bool *ok)const{
|
|||
*ok = true;
|
||||
return lineAngles.value(name);
|
||||
}
|
||||
if(lengthSplines.contains(name)){
|
||||
*ok = true;
|
||||
return lengthSplines.value(name);
|
||||
}
|
||||
*ok = false;
|
||||
return 0;
|
||||
}
|
||||
|
@ -778,7 +792,7 @@ void VContainer::AddLengthSpline(const qint64 &firstPointId, const qint64 &secon
|
|||
first = GetModelingPoint(firstPointId);
|
||||
second = GetModelingPoint(secondPointId);
|
||||
}
|
||||
AddLengthSpline(nameLine, QLineF(first.toQPointF(), second.toQPointF()).length());
|
||||
AddLengthSpline(nameLine, toMM(QLineF(first.toQPointF(), second.toQPointF()).length()));
|
||||
}
|
||||
|
||||
void VContainer::CreateManTableIGroup (){
|
||||
|
|
|
@ -55,7 +55,9 @@ public:
|
|||
VStandartTableCell GetStandartTableCell(const QString& name) const;
|
||||
VIncrementTableRow GetIncrementTableRow(const QString& name) const;
|
||||
qreal GetLine(const QString &name) const;
|
||||
qreal GetLineArc(const QString &name) const;
|
||||
qreal GetLengthArc(const QString &name) const;
|
||||
qreal GetLengthSpline(const QString &name) const;
|
||||
qreal GetLineAngle(const QString &name) const;
|
||||
VSpline GetSpline(qint64 id) const;
|
||||
VSpline GetModelingSpline(qint64 id) const;
|
||||
VArc GetArc(qint64 id) const;
|
||||
|
|
|
@ -33,6 +33,8 @@ DialogAlongLine::DialogAlongLine(const VContainer *data, Draw::Draws mode, QWidg
|
|||
radioButtonStandartTable = ui->radioButtonStandartTable;
|
||||
radioButtonIncrements = ui->radioButtonIncrements;
|
||||
radioButtonLengthLine = ui->radioButtonLengthLine;
|
||||
radioButtonLengthArc = ui->radioButtonLengthArc;
|
||||
radioButtonLengthCurve = ui->radioButtonLengthSpline;
|
||||
lineEditFormula = ui->lineEditFormula;
|
||||
labelEditFormula = ui->labelEditFormula;
|
||||
labelEditNamePoint = ui->labelEditNamePoint;
|
||||
|
@ -56,6 +58,8 @@ DialogAlongLine::DialogAlongLine(const VContainer *data, Draw::Draws mode, QWidg
|
|||
connect(ui->radioButtonStandartTable, &QRadioButton::clicked, this, &DialogAlongLine::StandartTable);
|
||||
connect(ui->radioButtonIncrements, &QRadioButton::clicked, this, &DialogAlongLine::Increments);
|
||||
connect(ui->radioButtonLengthLine, &QRadioButton::clicked, this, &DialogAlongLine::LengthLines);
|
||||
connect(ui->radioButtonLengthArc, &QRadioButton::clicked, this, &DialogAlongLine::LengthArcs);
|
||||
connect(ui->radioButtonLengthSpline, &QRadioButton::clicked, this, &DialogAlongLine::LengthCurves);
|
||||
connect(ui->toolButtonEqual, &QPushButton::clicked, this, &DialogAlongLine::EvalFormula);
|
||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, &DialogAlongLine::NamePointChanged);
|
||||
connect(ui->lineEditFormula, &QLineEdit::textChanged, this, &DialogAlongLine::FormulaChanged);
|
||||
|
|
|
@ -302,7 +302,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthArc">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of arcs</string>
|
||||
|
@ -312,7 +312,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthSpline">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of curves</string>
|
||||
|
|
|
@ -52,6 +52,8 @@ DialogArc::DialogArc(const VContainer *data, Draw::Draws mode, QWidget *parent)
|
|||
radioButtonStandartTable = ui->radioButtonStandartTable;
|
||||
radioButtonIncrements = ui->radioButtonIncrements;
|
||||
radioButtonLengthLine = ui->radioButtonLengthLine;
|
||||
radioButtonLengthArc = ui->radioButtonLengthArc;
|
||||
radioButtonLengthCurve = ui->radioButtonLengthSpline;
|
||||
|
||||
connect(ui->toolButtonPutHereRadius, &QPushButton::clicked, this, &DialogArc::PutRadius);
|
||||
connect(ui->toolButtonPutHereF1, &QPushButton::clicked, this, &DialogArc::PutF1);
|
||||
|
@ -64,6 +66,8 @@ DialogArc::DialogArc(const VContainer *data, Draw::Draws mode, QWidget *parent)
|
|||
connect(ui->radioButtonIncrements, &QRadioButton::clicked, this, &DialogArc::Increments);
|
||||
connect(ui->radioButtonLengthLine, &QRadioButton::clicked, this, &DialogArc::LengthLines);
|
||||
connect(ui->radioButtonLineAngles, &QRadioButton::clicked, this, &DialogArc::LineAngles);
|
||||
connect(ui->radioButtonLengthArc, &QRadioButton::clicked, this, &DialogArc::LengthArcs);
|
||||
connect(ui->radioButtonLengthSpline, &QRadioButton::clicked, this, &DialogArc::LengthCurves);
|
||||
|
||||
connect(ui->toolButtonEqualRadius, &QPushButton::clicked, this, &DialogArc::EvalRadius);
|
||||
connect(ui->toolButtonEqualF1, &QPushButton::clicked, this, &DialogArc::EvalF1);
|
||||
|
@ -153,7 +157,7 @@ void DialogArc::ValChenged(int row){
|
|||
}
|
||||
QListWidgetItem *item = ui->listWidget->item( row );
|
||||
if(ui->radioButtonLineAngles->isChecked()){
|
||||
QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLineArc(item->text()))
|
||||
QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLineAngle(item->text()))
|
||||
.arg(tr("Value angle of line."));
|
||||
ui->labelDescription->setText(desc);
|
||||
return;
|
||||
|
|
|
@ -482,7 +482,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthArc">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of arcs</string>
|
||||
|
@ -492,7 +492,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthSpline">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of curves</string>
|
||||
|
|
|
@ -33,6 +33,8 @@ DialogBisector::DialogBisector(const VContainer *data, Draw::Draws mode, QWidget
|
|||
radioButtonStandartTable = ui->radioButtonStandartTable;
|
||||
radioButtonIncrements = ui->radioButtonIncrements;
|
||||
radioButtonLengthLine = ui->radioButtonLengthLine;
|
||||
radioButtonLengthArc = ui->radioButtonLengthArc;
|
||||
radioButtonLengthCurve = ui->radioButtonLengthSpline;
|
||||
lineEditFormula = ui->lineEditFormula;
|
||||
labelEditFormula = ui->labelEditFormula;
|
||||
labelEditNamePoint = ui->labelEditNamePoint;
|
||||
|
@ -57,6 +59,8 @@ DialogBisector::DialogBisector(const VContainer *data, Draw::Draws mode, QWidget
|
|||
connect(ui->radioButtonStandartTable, &QRadioButton::clicked, this, &DialogBisector::StandartTable);
|
||||
connect(ui->radioButtonIncrements, &QRadioButton::clicked, this, &DialogBisector::Increments);
|
||||
connect(ui->radioButtonLengthLine, &QRadioButton::clicked, this, &DialogBisector::LengthLines);
|
||||
connect(ui->radioButtonLengthArc, &QRadioButton::clicked, this, &DialogBisector::LengthArcs);
|
||||
connect(ui->radioButtonLengthSpline, &QRadioButton::clicked, this, &DialogBisector::LengthCurves);
|
||||
connect(ui->toolButtonEqual, &QPushButton::clicked, this, &DialogBisector::EvalFormula);
|
||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, &DialogBisector::NamePointChanged);
|
||||
connect(ui->lineEditFormula, &QLineEdit::textChanged, this, &DialogBisector::FormulaChanged);
|
||||
|
|
|
@ -344,7 +344,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthArc">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of arcs</string>
|
||||
|
@ -354,7 +354,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthSpline">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of curves</string>
|
||||
|
|
|
@ -38,6 +38,8 @@ DialogEndLine::DialogEndLine(const VContainer *data, Draw::Draws mode, QWidget *
|
|||
radioButtonStandartTable = ui->radioButtonStandartTable;
|
||||
radioButtonIncrements = ui->radioButtonIncrements;
|
||||
radioButtonLengthLine = ui->radioButtonLengthLine;
|
||||
radioButtonLengthArc = ui->radioButtonLengthArc;
|
||||
radioButtonLengthCurve = ui->radioButtonLengthSpline;
|
||||
lineEditFormula = ui->lineEditFormula;
|
||||
labelEditFormula = ui->labelEditFormula;
|
||||
labelEditNamePoint = ui->labelEditNamePoint;
|
||||
|
@ -76,6 +78,8 @@ DialogEndLine::DialogEndLine(const VContainer *data, Draw::Draws mode, QWidget *
|
|||
connect(ui->radioButtonStandartTable, &QRadioButton::clicked, this, &DialogEndLine::StandartTable);
|
||||
connect(ui->radioButtonIncrements, &QRadioButton::clicked, this, &DialogEndLine::Increments);
|
||||
connect(ui->radioButtonLengthLine, &QRadioButton::clicked, this, &DialogEndLine::LengthLines);
|
||||
connect(ui->radioButtonLengthArc, &QRadioButton::clicked, this, &DialogEndLine::LengthArcs);
|
||||
connect(ui->radioButtonLengthSpline, &QRadioButton::clicked, this, &DialogEndLine::LengthCurves);
|
||||
connect(ui->toolButtonEqual, &QPushButton::clicked, this, &DialogEndLine::EvalFormula);
|
||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, &DialogEndLine::NamePointChanged);
|
||||
connect(ui->lineEditFormula, &QLineEdit::textChanged, this, &DialogEndLine::FormulaChanged);
|
||||
|
|
|
@ -500,7 +500,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthArc">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of arcs</string>
|
||||
|
@ -510,7 +510,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthSpline">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of curves</string>
|
||||
|
|
|
@ -35,6 +35,8 @@ DialogNormal::DialogNormal(const VContainer *data, Draw::Draws mode, QWidget *pa
|
|||
radioButtonStandartTable = ui->radioButtonStandartTable;
|
||||
radioButtonIncrements = ui->radioButtonIncrements;
|
||||
radioButtonLengthLine = ui->radioButtonLengthLine;
|
||||
radioButtonLengthArc = ui->radioButtonLengthArc;
|
||||
radioButtonLengthCurve = ui->radioButtonLengthSpline;
|
||||
lineEditFormula = ui->lineEditFormula;
|
||||
labelEditFormula = ui->labelEditFormula;
|
||||
labelEditNamePoint = ui->labelEditNamePoint;
|
||||
|
@ -74,6 +76,8 @@ DialogNormal::DialogNormal(const VContainer *data, Draw::Draws mode, QWidget *pa
|
|||
connect(ui->radioButtonStandartTable, &QRadioButton::clicked, this, &DialogNormal::StandartTable);
|
||||
connect(ui->radioButtonIncrements, &QRadioButton::clicked, this, &DialogNormal::Increments);
|
||||
connect(ui->radioButtonLengthLine, &QRadioButton::clicked, this, &DialogNormal::LengthLines);
|
||||
connect(ui->radioButtonLengthArc, &QRadioButton::clicked, this, &DialogNormal::LengthArcs);
|
||||
connect(ui->radioButtonLengthSpline, &QRadioButton::clicked, this, &DialogNormal::LengthCurves);
|
||||
connect(ui->toolButtonEqual, &QPushButton::clicked, this, &DialogNormal::EvalFormula);
|
||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, &DialogNormal::NamePointChanged);
|
||||
connect(ui->lineEditFormula, &QLineEdit::textChanged, this, &DialogNormal::FormulaChanged);
|
||||
|
|
|
@ -519,7 +519,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthArc">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of arcs</string>
|
||||
|
@ -529,7 +529,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthSpline">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of curves</string>
|
||||
|
|
|
@ -32,6 +32,8 @@ DialogPointOfContact::DialogPointOfContact(const VContainer *data, Draw::Draws m
|
|||
radioButtonStandartTable = ui.radioButtonStandartTable;
|
||||
radioButtonIncrements = ui.radioButtonIncrements;
|
||||
radioButtonLengthLine = ui.radioButtonLengthLine;
|
||||
radioButtonLengthArc = ui.radioButtonLengthArc;
|
||||
radioButtonLengthCurve = ui.radioButtonLengthSpline;
|
||||
lineEditFormula = ui.lineEditFormula;
|
||||
labelEditFormula = ui.labelEditFormula;
|
||||
labelEditNamePoint = ui.labelEditNamePoint;
|
||||
|
@ -55,6 +57,8 @@ DialogPointOfContact::DialogPointOfContact(const VContainer *data, Draw::Draws m
|
|||
connect(ui.radioButtonStandartTable, &QRadioButton::clicked, this, &DialogPointOfContact::StandartTable);
|
||||
connect(ui.radioButtonIncrements, &QRadioButton::clicked, this, &DialogPointOfContact::Increments);
|
||||
connect(ui.radioButtonLengthLine, &QRadioButton::clicked, this, &DialogPointOfContact::LengthLines);
|
||||
connect(ui.radioButtonLengthArc, &QRadioButton::clicked, this, &DialogPointOfContact::LengthArcs);
|
||||
connect(ui.radioButtonLengthSpline, &QRadioButton::clicked, this, &DialogPointOfContact::LengthCurves);
|
||||
connect(ui.toolButtonEqual, &QPushButton::clicked, this, &DialogPointOfContact::EvalFormula);
|
||||
connect(ui.lineEditNamePoint, &QLineEdit::textChanged, this, &DialogPointOfContact::NamePointChanged);
|
||||
connect(ui.lineEditFormula, &QLineEdit::textChanged, this, &DialogPointOfContact::FormulaChanged);
|
||||
|
|
|
@ -359,7 +359,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthArc">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of arcs</string>
|
||||
|
@ -369,7 +369,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthSpline">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of curves</string>
|
||||
|
|
|
@ -34,6 +34,8 @@ DialogShoulderPoint::DialogShoulderPoint(const VContainer *data, Draw::Draws mod
|
|||
radioButtonStandartTable = ui->radioButtonStandartTable;
|
||||
radioButtonIncrements = ui->radioButtonIncrements;
|
||||
radioButtonLengthLine = ui->radioButtonLengthLine;
|
||||
radioButtonLengthArc = ui->radioButtonLengthArc;
|
||||
radioButtonLengthCurve = ui->radioButtonLengthSpline;
|
||||
lineEditFormula = ui->lineEditFormula;
|
||||
labelEditFormula = ui->labelEditFormula;
|
||||
labelEditNamePoint = ui->labelEditNamePoint;
|
||||
|
@ -58,6 +60,8 @@ DialogShoulderPoint::DialogShoulderPoint(const VContainer *data, Draw::Draws mod
|
|||
connect(ui->radioButtonStandartTable, &QRadioButton::clicked, this, &DialogShoulderPoint::StandartTable);
|
||||
connect(ui->radioButtonIncrements, &QRadioButton::clicked, this, &DialogShoulderPoint::Increments);
|
||||
connect(ui->radioButtonLengthLine, &QRadioButton::clicked, this, &DialogShoulderPoint::LengthLines);
|
||||
connect(ui->radioButtonLengthArc, &QRadioButton::clicked, this, &DialogShoulderPoint::LengthArcs);
|
||||
connect(ui->radioButtonLengthSpline, &QRadioButton::clicked, this, &DialogShoulderPoint::LengthCurves);
|
||||
connect(ui->toolButtonEqual, &QPushButton::clicked, this, &DialogShoulderPoint::EvalFormula);
|
||||
connect(ui->lineEditNamePoint, &QLineEdit::textChanged, this, &DialogShoulderPoint::NamePointChanged);
|
||||
connect(ui->lineEditFormula, &QLineEdit::textChanged, this, &DialogShoulderPoint::FormulaChanged);
|
||||
|
|
|
@ -380,7 +380,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthArc">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of lines</string>
|
||||
|
@ -390,7 +390,7 @@
|
|||
<item>
|
||||
<widget class="QRadioButton" name="radioButtonLengthSpline">
|
||||
<property name="enabled">
|
||||
<bool>false</bool>
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Length of curves</string>
|
||||
|
|
|
@ -30,7 +30,7 @@ DialogTool::DialogTool(const VContainer *data, Draw::Draws mode, QWidget *parent
|
|||
isInitialized(false), flagName(true), flagFormula(true), timerFormula(0), bOk(0), spinBoxAngle(0),
|
||||
lineEditFormula(0), listWidget(0), labelResultCalculation(0), labelDescription(0), labelEditNamePoint(0),
|
||||
labelEditFormula(0), radioButtonSizeGrowth(0), radioButtonStandartTable(0), radioButtonIncrements(0),
|
||||
radioButtonLengthLine(0), idDetail(0), mode(mode){
|
||||
radioButtonLengthLine(0), radioButtonLengthArc(0), radioButtonLengthCurve(0), idDetail(0), mode(mode){
|
||||
Q_CHECK_PTR(data);
|
||||
timerFormula = new QTimer(this);
|
||||
connect(timerFormula, &QTimer::timeout, this, &DialogTool::EvalFormula);
|
||||
|
@ -309,6 +309,14 @@ void DialogTool::LengthLines(){
|
|||
ShowVariable(data->DataLengthLines());
|
||||
}
|
||||
|
||||
void DialogTool::LengthArcs(){
|
||||
ShowVariable(data->DataLengthArcs());
|
||||
}
|
||||
|
||||
void DialogTool::LengthCurves(){
|
||||
ShowVariable(data->DataLengthSplines());
|
||||
}
|
||||
|
||||
void DialogTool::Increments(){
|
||||
ShowVariable(data->DataIncrementTable());
|
||||
}
|
||||
|
@ -331,17 +339,19 @@ void DialogTool::ValChenged(int row){
|
|||
Q_CHECK_PTR(radioButtonStandartTable);
|
||||
Q_CHECK_PTR(radioButtonIncrements);
|
||||
Q_CHECK_PTR(radioButtonLengthLine);
|
||||
Q_CHECK_PTR(radioButtonLengthArc);
|
||||
Q_CHECK_PTR(radioButtonLengthCurve);
|
||||
if(listWidget->count() == 0){
|
||||
return;
|
||||
}
|
||||
QListWidgetItem *item = listWidget->item( row );
|
||||
if(radioButtonSizeGrowth->isChecked()){
|
||||
if(item->text()=="Р"){
|
||||
QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->growth()).arg("Зріст");
|
||||
QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->growth()).arg(tr("Growth"));
|
||||
labelDescription->setText(desc);
|
||||
}
|
||||
if(item->text()=="Сг"){
|
||||
QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->size()).arg("Розмір");
|
||||
QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->size()).arg(tr("Size"));
|
||||
labelDescription->setText(desc);
|
||||
}
|
||||
return;
|
||||
|
@ -366,12 +376,28 @@ void DialogTool::ValChenged(int row){
|
|||
labelDescription->setText(desc);
|
||||
return;
|
||||
}
|
||||
if(radioButtonLengthArc->isChecked()){
|
||||
QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLengthArc(item->text()))
|
||||
.arg(tr("Arc length"));
|
||||
labelDescription->setText(desc);
|
||||
return;
|
||||
}
|
||||
if(radioButtonLengthCurve->isChecked()){
|
||||
QString desc = QString("%1(%2) - %3").arg(item->text()).arg(data->GetLengthSpline(item->text()))
|
||||
.arg(tr("Curve length"));
|
||||
labelDescription->setText(desc);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void DialogTool::UpdateList(){
|
||||
if(radioButtonSizeGrowth == 0 || radioButtonStandartTable == 0 || radioButtonIncrements == 0){
|
||||
return;
|
||||
}
|
||||
Q_CHECK_PTR(radioButtonSizeGrowth);
|
||||
Q_CHECK_PTR(radioButtonStandartTable);
|
||||
Q_CHECK_PTR(radioButtonIncrements);
|
||||
Q_CHECK_PTR(radioButtonLengthLine);
|
||||
Q_CHECK_PTR(radioButtonLengthArc);
|
||||
Q_CHECK_PTR(radioButtonLengthCurve);
|
||||
|
||||
if(radioButtonSizeGrowth->isChecked()){
|
||||
ShowVariable(data->DataBase());
|
||||
}
|
||||
|
@ -381,6 +407,15 @@ void DialogTool::UpdateList(){
|
|||
if(radioButtonIncrements->isChecked()){
|
||||
ShowVariable(data->DataIncrementTable());
|
||||
}
|
||||
if(radioButtonLengthLine->isChecked()){
|
||||
ShowVariable(data->DataLengthLines());
|
||||
}
|
||||
if(radioButtonLengthArc->isChecked()){
|
||||
ShowVariable(data->DataLengthArcs());
|
||||
}
|
||||
if(radioButtonLengthCurve->isChecked()){
|
||||
ShowVariable(data->DataLengthSplines());
|
||||
}
|
||||
}
|
||||
|
||||
bool DialogTool::CheckObject(const qint64 &id){
|
||||
|
|
|
@ -62,6 +62,8 @@ public slots:
|
|||
void SizeGrowth();
|
||||
void StandartTable();
|
||||
void LengthLines();
|
||||
void LengthArcs();
|
||||
void LengthCurves();
|
||||
void Increments();
|
||||
void PutHere();
|
||||
void PutVal(QListWidgetItem * item);
|
||||
|
@ -86,6 +88,8 @@ protected:
|
|||
QRadioButton *radioButtonStandartTable;
|
||||
QRadioButton *radioButtonIncrements;
|
||||
QRadioButton *radioButtonLengthLine;
|
||||
QRadioButton *radioButtonLengthArc;
|
||||
QRadioButton *radioButtonLengthCurve;
|
||||
qint64 idDetail;
|
||||
Draw::Draws mode;
|
||||
bool CheckObject(const qint64 &id);
|
||||
|
|
|
@ -320,32 +320,14 @@ QVector<QPointF> VSpline::GetPoints (QPointF p1, QPointF p2, QPointF p3, QPointF
|
|||
}
|
||||
|
||||
qreal VSpline::LengthBezier ( QPointF p1, QPointF p2, QPointF p3, QPointF p4 ) const{
|
||||
/*QVector<qreal> px;
|
||||
QVector<qreal> py;
|
||||
QVector<qreal>& wpx = px;
|
||||
QVector<qreal>& wpy = py;
|
||||
px.append ( p1.x () );
|
||||
py.append ( p1.y () );
|
||||
PointBezier_r ( p1.x (), p1.y (), p2.x (), p2.y (),
|
||||
p3.x (), p3.y (), p4.x (), p4.y (), 0, wpx, wpy);
|
||||
px.append ( p4.x () );
|
||||
py.append ( p4.y () );
|
||||
qint32 i = 0;
|
||||
qreal length = 0.0;
|
||||
*
|
||||
* Наприклад маємо 10 точок. Від 0 до 9 і останню точку не опрацьовуємо.
|
||||
* Тому від 0 до 8(<10-1).
|
||||
*
|
||||
for ( i = 0; i < px.count() - 1; ++i ){
|
||||
length += QLineF ( QPointF ( px[i], py[i] ), QPointF ( px[i+1], py[i+1] ) ).length ();
|
||||
}*/
|
||||
QPainterPath splinePath;
|
||||
QVector<QPointF> points = GetPoints (p1, p2, p3, p4);
|
||||
splinePath.moveTo(points[0]);
|
||||
for (qint32 i = 1; i < points.count(); ++i){
|
||||
splinePath.lineTo(points[i]);
|
||||
}
|
||||
return splinePath.length();
|
||||
qreal length = toMM(splinePath.length());
|
||||
return length;
|
||||
}
|
||||
|
||||
void VSpline::PointBezier_r ( qreal x1, qreal y1, qreal x2, qreal y2,
|
||||
|
|
Loading…
Reference in New Issue
Block a user