Merge branch 'develop' into feature/manual-layout.
This commit is contained in:
parent
55c9103ef1
commit
20b797b2c5
|
@ -47,7 +47,9 @@
|
||||||
- Setting scale factor for export and print.
|
- Setting scale factor for export and print.
|
||||||
- New layout generator option: Prefer one sheet solution.
|
- New layout generator option: Prefer one sheet solution.
|
||||||
- [smart-pattern/valentina#15] Organization of groups - groups categories
|
- [smart-pattern/valentina#15] Organization of groups - groups categories
|
||||||
- Improve the property browser. Show full arc name.
|
- Improve the property browser. Show full arc name.
|
||||||
|
- [smart-pattern/valentina#45] Optimize tool box position for big screen resolutions.
|
||||||
|
- [smart-pattern/valentina#40] Invalid name of arc in modeling mode.
|
||||||
|
|
||||||
# Version 0.6.2 (unreleased)
|
# Version 0.6.2 (unreleased)
|
||||||
- [#903] Bug in tool Cut Spline path.
|
- [#903] Bug in tool Cut Spline path.
|
||||||
|
|
|
@ -5597,30 +5597,6 @@ Applicare la configurazione comunque?</translation>
|
||||||
<source>Add tags</source>
|
<source>Add tags</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Enable to create a visibility gropup from original objects</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Visibility Group</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Name:</source>
|
|
||||||
<translation>Nome:</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Tags:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Separate each tag with comma.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Add tags</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>DialogSaveLAyout</name>
|
<name>DialogSaveLAyout</name>
|
||||||
|
@ -11437,25 +11413,6 @@ Vuoi salvare le tue modifiche?</translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
<message>
|
||||||
<source>Can't open schema file %1:
|
<source>Can't open schema file %1:
|
||||||
%2.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Could not load schema file '%1'.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Validation error file %3 in line %1 column %2</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Can't open file %1:
|
|
||||||
%2.</source>
|
|
||||||
<translation>Impossibile aprire file %1:
|
|
||||||
%2.</translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Can't open schema file %1:
|
|
||||||
%2.</source>
|
%2.</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
@ -11753,21 +11710,6 @@ Vuoi salvare le tue modifiche?</translation>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
|
||||||
<name>VBank</name>
|
|
||||||
<message>
|
|
||||||
<source>Preparing data for layout error: Detail '%1' square <= 0</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Preparing data for layout error: Layout paper sheet <= 0</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Preparing data for layout error: List of details is empty</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
</context>
|
|
||||||
<context>
|
<context>
|
||||||
<name>VCommandLine</name>
|
<name>VCommandLine</name>
|
||||||
<message>
|
<message>
|
||||||
|
|
|
@ -60,6 +60,7 @@ public:
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
Q_DISABLE_COPY(VPCarrouselPiece)
|
||||||
VPPiece *m_piece;
|
VPPiece *m_piece;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
|
|
388
src/app/share/collection/bugs/smart_pattern_#36.val
Normal file
388
src/app/share/collection/bugs/smart_pattern_#36.val
Normal file
|
@ -0,0 +1,388 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<pattern>
|
||||||
|
<!--Pattern created with Valentina v0.7.0.0a (https://valentinaproject.bitbucket.io/).-->
|
||||||
|
<version>0.8.7</version>
|
||||||
|
<unit>mm</unit>
|
||||||
|
<description/>
|
||||||
|
<notes/>
|
||||||
|
<patternName>надсечка внутри детали</patternName>
|
||||||
|
<patternNumber/>
|
||||||
|
<company/>
|
||||||
|
<patternLabel dateFormat="MM-dd-yyyy" timeFormat="hh:mm:ss">
|
||||||
|
<line alignment="0" bold="false" italic="false" sfIncrement="0" text="%pName% %pLetter%"/>
|
||||||
|
</patternLabel>
|
||||||
|
<patternMaterials>
|
||||||
|
<material name="Virs" number="1"/>
|
||||||
|
</patternMaterials>
|
||||||
|
<finalMeasurements/>
|
||||||
|
<measurements>smart_pattern_#36.vit</measurements>
|
||||||
|
<increments>
|
||||||
|
<increment description="" formula="29 +#stojka_shyrina_shva_snizu + #stojka_shyrina_shva_sverxu" name="#model_stojka_shyrina"/>
|
||||||
|
</increments>
|
||||||
|
<previewCalculations/>
|
||||||
|
<draw name="Стойка">
|
||||||
|
<calculation>
|
||||||
|
<point id="6226" mx="8.65025" my="-2.56084" name="Центр0" showLabel="true" type="single" x="7.9375" y="5903.31"/>
|
||||||
|
<point angle="0" basePoint="6226" id="6227" length="150" lineColor="black" mx="1.32292" my="2.64583" name="нуль1" showLabel="true" type="endLine" typeLine="none"/>
|
||||||
|
<point angle="0" basePoint="6227" id="6229" length="40" lineColor="black" mx="1.32292" my="2.64583" name="нуль2" showLabel="true" type="endLine" typeLine="dotLine"/>
|
||||||
|
<point angle="0" basePoint="6229" id="6231" length="40" lineColor="black" mx="1.32292" my="2.64583" name="нуль3" showLabel="true" type="endLine" typeLine="dotLine"/>
|
||||||
|
<point angle="0" basePoint="6231" id="6233" length="40" lineColor="black" mx="1.32292" my="2.64583" name="нуль4" showLabel="true" type="endLine" typeLine="dotLine"/>
|
||||||
|
<point angle="270" basePoint="6233" id="6234" length="222.869" lineColor="deeppink" mx="1.32292" my="2.64583" name="Длина_стойки_по_выпуклому_краю_1_2_со_швом" showLabel="true" type="endLine" typeLine="dashLine"/>
|
||||||
|
<point angle="180" basePoint="6226" id="6236" length="#model_stojka_shyrina" lineColor="cornflowerblue" mx="-35.1237" my="-4.29639" name="Центр1" showLabel="true" type="endLine" typeLine="dotLine"/>
|
||||||
|
<point firstPoint="6226" id="6238" length="0.5" lineColor="black" mx="-177.478" my="4.2755" name="х1_4а" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6239" length="0.5" lineColor="black" mx="-180.785" my="19.8923" name="х1_4б" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6240" length="1.5" lineColor="black" mx="-182.568" my="36.0919" name="х1_4" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6241" length="1.9" lineColor="black" mx="-185.276" my="52.9302" name="х1_2а" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6242" length="2.5" lineColor="black" mx="-185.458" my="73.49" name="х1_2б" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6243" length="3.8" lineColor="black" mx="-184.491" my="90.1892" name="х1_2" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6244" length="6" lineColor="black" mx="-183.776" my="102.273" name="х3_4а" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6245" length="10" lineColor="black" mx="-182.144" my="114.794" name="х3_4б" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6246" length="15.5" lineColor="black" mx="-177.918" my="129.855" name="х3_4" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6247" length="23.5" lineColor="black" mx="-170.951" my="145.663" name="х1а" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6248" length="30" lineColor="black" mx="-167.834" my="159.459" name="х1б" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6249" length="28+14" lineColor="black" mx="-154.42" my="172.459" name="х_1" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point angle="270" basePoint="6226" id="6261" length="Line_нуль4_Длина_стойки_по_выпуклому_краю_1_2_со_швом *219/222 -5" lineColor="black" mx="1.32292" my="2.64583" name="Расчётная_длина_по_у0" showLabel="true" type="endLine" typeLine="hair"/>
|
||||||
|
<point firstPoint="6226" id="6263" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у1_2_0" secondPoint="6261" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6264" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у_1_4_0" secondPoint="6263" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6263" id="6265" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у3_4_0" secondPoint="6261" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6240" id="6266" mx="1.32292" my="2.64583" name="H9" secondPoint="6264" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6243" id="6267" mx="1.32292" my="2.64583" name="H10" secondPoint="6263" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6246" id="6268" mx="1.32292" my="2.64583" name="H11" secondPoint="6265" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6249" id="6269" mx="1.32292" my="2.64583" name="Длина_итер0" secondPoint="6261" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<spline aScale="0" color="black" id="6270" penStyle="hair" type="pathInteractive">
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6226"/>
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6266"/>
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6267"/>
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6268"/>
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6269"/>
|
||||||
|
</spline>
|
||||||
|
<point angle="270" basePoint="6226" id="6272" length="#raznica_plana_i_fakta = Line_нуль4_Длина_стойки_по_выпуклому_краю_1_2_со_швом - SplPath_Центр0_Длина_итер0; Line_Центр0_Расчётная_длина_по_у0 + #raznica_plana_i_fakta " lineColor="black" mx="-3.03236" my="10.812" name="Расчётная_длина_по_у1" showLabel="true" type="endLine" typeLine="hair"/>
|
||||||
|
<point firstPoint="6226" id="6273" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у1_2_и1" secondPoint="6272" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6226" id="6274" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у1_4_и1" secondPoint="6273" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6273" id="6275" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у3_4_и1" secondPoint="6272" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6240" id="6276" mx="1.32292" my="2.64583" name="H12" secondPoint="6274" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6243" id="6277" mx="1.32292" my="2.64583" name="H13" secondPoint="6273" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6246" id="6278" mx="1.32292" my="2.64583" name="H14" secondPoint="6275" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6249" id="6279" mx="-46.5852" my="17.3449" name="Длина_итер1" secondPoint="6272" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<spline aScale="0" color="black" id="6280" penStyle="hair" type="pathInteractive">
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6226"/>
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6276"/>
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6277"/>
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6278"/>
|
||||||
|
<pathPoint angle1="180" angle2="0" length1="0" length2="0" pSpline="6279"/>
|
||||||
|
</spline>
|
||||||
|
<point angle="0" basePoint="6226" id="6282" length="90" lineColor="darkGreen" mx="1.32292" my="2.64583" name="у0" showLabel="true" type="endLine" typeLine="dotLine"/>
|
||||||
|
<point angle="270" basePoint="6282" id="6237" length="#raznica_dlin_krivyx = SplPath_Центр0_Длина_итер1 - SplPath_Центр0_Длина_итер0; #raznica_po_y = Line_Центр0_Расчётная_длина_по_у1 - Line_Центр0_Расчётная_длина_по_у0; #dlina_nedostajusciaja = Line_нуль4_Длина_стойки_по_выпуклому_краю_1_2_со_швом - SplPath_Центр0_Длина_итер1; #dobavka_vysoty = #raznica_po_y * #dlina_nedostajusciaja / #raznica_dlin_krivyx; Line_Центр0_Расчётная_длина_по_у1 + #dobavka_vysoty -1" lineColor="black" mx="4.30862" my="12.901" name="Расчётная_длина_по_у3" showLabel="true" type="endLine" typeLine="dotLine"/>
|
||||||
|
<point firstPoint="6282" id="6250" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у1_2" secondPoint="6237" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6282" id="6251" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у1_4" secondPoint="6250" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6250" id="6252" length="CurrentLength/2" lineColor="black" mx="1.32292" my="2.64583" name="у3_4" secondPoint="6237" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6282" id="6253" length="CurrentLength/3" lineColor="black" mx="1.32292" my="2.64583" name="у1_4а" secondPoint="6251" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6282" id="6254" length="CurrentLength*2/3" lineColor="black" mx="1.32292" my="2.64583" name="у1_4б" secondPoint="6251" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6251" id="6255" length="CurrentLength/3" lineColor="black" mx="1.32292" my="2.64583" name="у1_2а" secondPoint="6250" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6251" id="6256" length="CurrentLength*2/3" lineColor="black" mx="1.32292" my="2.64583" name="у1_2б" secondPoint="6250" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6250" id="6257" length="CurrentLength/3" lineColor="black" mx="1.32292" my="2.64583" name="у3_4а" secondPoint="6252" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6250" id="6258" length="CurrentLength*2/3 " lineColor="black" mx="1.32292" my="2.64583" name="у3_4б" secondPoint="6252" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6252" id="6259" length="CurrentLength/3" lineColor="black" mx="1.32292" my="2.64583" name="у1а" secondPoint="6237" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6252" id="6260" length="CurrentLength*2/3" lineColor="black" mx="1.32292" my="2.64583" name="у1б" secondPoint="6237" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point firstPoint="6240" id="6283" mx="8.40025" my="-4.4315" name="т1_4" secondPoint="6251" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6243" id="6284" mx="1.32292" my="2.64583" name="т1_2" secondPoint="6250" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6246" id="6285" mx="1.32292" my="2.64583" name="т3_4" secondPoint="6252" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6249" id="6286" mx="1.32292" my="2.64583" name="т_1" secondPoint="6237" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6238" id="6287" mx="5.67817" my="-3.88709" name="т1_4а" secondPoint="6253" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6239" id="6288" mx="7.31143" my="-5.52032" name="т1_4б" secondPoint="6254" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6241" id="6289" mx="10.0335" my="-3.34268" name="т1_2а" secondPoint="6255" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6242" id="6290" mx="10.0335" my="-2.25386" name="т1_2б" secondPoint="6256" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6244" id="6291" mx="1.32292" my="2.64583" name="т3_4а" secondPoint="6257" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6245" id="6292" mx="1.32292" my="2.64583" name="т3_4б" secondPoint="6258" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6247" id="6293" mx="5.6782" my="-0.0762208" name="т1а" secondPoint="6259" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<point firstPoint="6248" id="6294" mx="0.675707" my="-1.56106" name="т1б" secondPoint="6260" showLabel="true" type="pointOfIntersection"/>
|
||||||
|
<spline aScale="0" color="deeppink" id="6295" penStyle="hair" type="cubicBezierPath">
|
||||||
|
<pathPoint pSpline="6226"/>
|
||||||
|
<pathPoint pSpline="6287"/>
|
||||||
|
<pathPoint pSpline="6288"/>
|
||||||
|
<pathPoint pSpline="6283"/>
|
||||||
|
<pathPoint pSpline="6289"/>
|
||||||
|
<pathPoint pSpline="6290"/>
|
||||||
|
<pathPoint pSpline="6284"/>
|
||||||
|
<pathPoint pSpline="6291"/>
|
||||||
|
<pathPoint pSpline="6292"/>
|
||||||
|
<pathPoint pSpline="6285"/>
|
||||||
|
<pathPoint pSpline="6293"/>
|
||||||
|
<pathPoint pSpline="6294"/>
|
||||||
|
<pathPoint pSpline="6286"/>
|
||||||
|
</spline>
|
||||||
|
<point id="6305" length="SplPath_Центр0_т_1 -23 +8" mx="-7.65623" my="-10.8771" name="вс1" showLabel="true" splinePath="6295" type="cutSplinePath"/>
|
||||||
|
<point angle="-180" firstPoint="6305" id="6306" length="#model_stojka_shyrina -2" lineColor="cornflowerblue" mx="3.22115" my="7.57243" name="вс2" secondPoint="6286" showLabel="false" type="normal" typeLine="dashLine"/>
|
||||||
|
<point firstPoint="6306" id="6311" length="14.74" lineColor="black" mx="-18.5724" my="-18.5964" name="вс_ц_окр" secondPoint="6305" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<point angle="245" basePoint="6311" id="6312" length="14.74" lineColor="deepskyblue" mx="8.83361" my="-14.7041" name="вс3" showLabel="false" type="endLine" typeLine="dotLine"/>
|
||||||
|
<line firstPoint="6311" id="6314" lineColor="deepskyblue" secondPoint="6306" typeLine="dashLine"/>
|
||||||
|
<arc aScale="0" angle1="AngleLine_вс_ц_окр_вс2" angle2="AngleLine_вс_ц_окр_вс3" center="6311" color="deeppink" id="6315" penStyle="hair" radius="Line_вс_ц_окр_вс2" type="simple"/>
|
||||||
|
<point arc="6315" crossPoint="2" id="6316" mx="-51.7153" my="6.24505" name="вс_т_кстлной" showLabel="true" tangent="6286" type="pointFromArcAndTangent"/>
|
||||||
|
<line firstPoint="6316" id="6317" lineColor="blue" secondPoint="6286" typeLine="hair"/>
|
||||||
|
<point angle="-180" firstPoint="6285" id="6318" length="#model_stojka_shyrina/2" lineColor="cornflowerblue" mx="-14.465" my="7.00111" name="т3_4ц" secondPoint="6286" showLabel="true" type="normal" typeLine="dashLine"/>
|
||||||
|
<point angle="-180" firstPoint="6283" id="6320" length="#model_stojka_shyrina/2" lineColor="cornflowerblue" mx="-10.1097" my="-14.7753" name="т1_4ц" secondPoint="6284" showLabel="true" type="normal" typeLine="dashLine"/>
|
||||||
|
<point firstPoint="6226" id="6321" length="CurrentLength/2" lineColor="black" mx="-10.6541" my="8.08993" name="т0_ц" secondPoint="6236" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<operation id="6322" p1Line="6318" p2Line="6311" suffix="_з" type="flippingByLine">
|
||||||
|
<source>
|
||||||
|
<item idObject="6285"/>
|
||||||
|
<item idObject="6293"/>
|
||||||
|
</source>
|
||||||
|
<destination>
|
||||||
|
<item idObject="6323" mx="-31.8861" my="-12.5977" showLabel="true"/>
|
||||||
|
<item idObject="6324" mx="-29.164" my="-9.87557" showLabel="true"/>
|
||||||
|
</destination>
|
||||||
|
</operation>
|
||||||
|
<operation id="6327" p1Line="6321" p2Line="6320" suffix="_зр" type="flippingByLine">
|
||||||
|
<source>
|
||||||
|
<item idObject="6287"/>
|
||||||
|
<item idObject="6288"/>
|
||||||
|
<item idObject="6283"/>
|
||||||
|
<item idObject="6289"/>
|
||||||
|
<item idObject="6290"/>
|
||||||
|
</source>
|
||||||
|
<destination>
|
||||||
|
<item idObject="6328" mx="-44.4076" my="-7.15355" showLabel="true"/>
|
||||||
|
<item idObject="6329" mx="-44.4076" my="-4.4315" showLabel="true"/>
|
||||||
|
<item idObject="6330" mx="-41.1411" my="-4.4315" showLabel="true"/>
|
||||||
|
<item idObject="6331" mx="-47.674" my="-6.06473" showLabel="true"/>
|
||||||
|
<item idObject="6332" mx="-49.8516" my="-7.15355" showLabel="true"/>
|
||||||
|
</destination>
|
||||||
|
</operation>
|
||||||
|
<point arc="6315" crossPoint="1" id="6333" mx="-97.4093" my="-0.392649" name="Ндсчка_вс_т_кстлной1" showLabel="true" tangent="6324" type="pointFromArcAndTangent"/>
|
||||||
|
<arc aScale="0" angle1="90" angle2="270" center="6284" color="cornflowerblue" id="6335" penStyle="dotLine" radius="#model_stojka_shyrina" type="simple"/>
|
||||||
|
<point arc="6335" crossPoint="1" id="6336" mx="-43.8166" my="-5.5829" name="т1_2_в" showLabel="true" tangent="6332" type="pointFromArcAndTangent"/>
|
||||||
|
<arc aScale="0" angle1="90" angle2="270" center="6291" color="darkGreen" id="6337" penStyle="dotLine" radius="#model_stojka_shyrina" type="simple"/>
|
||||||
|
<point arc="6337" crossPoint="1" id="6338" mx="-44.1733" my="-8.34428" name="т3_4а_в" showLabel="true" tangent="6336" type="pointFromArcAndTangent"/>
|
||||||
|
<arc aScale="0" angle1="90" angle2="270" center="6292" color="darkviolet" id="6339" penStyle="dotLine" radius="#model_stojka_shyrina" type="simple"/>
|
||||||
|
<point arc="6339" crossPoint="1" id="6340" mx="21.8893" my="-8.52888" name="т3_4б_в" showLabel="true" tangent="6338" type="pointFromArcAndTangent"/>
|
||||||
|
<point firstPoint="6333" id="6394" length="CurrentLength/2" lineColor="black" mx="-28.8368" my="-6.79064" name="вс_в3" secondPoint="6324" showLabel="true" type="alongLine" typeLine="none"/>
|
||||||
|
<spline aScale="0" color="blue" id="6396" penStyle="hair" type="cubicBezierPath">
|
||||||
|
<pathPoint pSpline="6236"/>
|
||||||
|
<pathPoint pSpline="6328"/>
|
||||||
|
<pathPoint pSpline="6329"/>
|
||||||
|
<pathPoint pSpline="6330"/>
|
||||||
|
<pathPoint pSpline="6331"/>
|
||||||
|
<pathPoint pSpline="6332"/>
|
||||||
|
<pathPoint pSpline="6336"/>
|
||||||
|
<pathPoint pSpline="6338"/>
|
||||||
|
<pathPoint pSpline="6340"/>
|
||||||
|
<pathPoint pSpline="6323"/>
|
||||||
|
<pathPoint pSpline="6324"/>
|
||||||
|
<pathPoint pSpline="6394"/>
|
||||||
|
<pathPoint pSpline="6333"/>
|
||||||
|
</spline>
|
||||||
|
<point id="6398" length="@e" mx="65.3343" my="-1.06243" name="Стйка_ндсчк_плеча" showLabel="true" splinePath="6295" type="cutSplinePath"/>
|
||||||
|
<operation axisType="2" center="6282" id="7244" suffix="h1" type="flippingByAxis">
|
||||||
|
<source>
|
||||||
|
<item idObject="6338"/>
|
||||||
|
<item idObject="6396"/>
|
||||||
|
<item idObject="6337"/>
|
||||||
|
<item idObject="6336"/>
|
||||||
|
<item idObject="6335"/>
|
||||||
|
<item idObject="6332"/>
|
||||||
|
<item idObject="6339"/>
|
||||||
|
<item idObject="6331"/>
|
||||||
|
<item idObject="6330"/>
|
||||||
|
<item idObject="6329"/>
|
||||||
|
<item idObject="6328"/>
|
||||||
|
<item idObject="6323"/>
|
||||||
|
<item idObject="6321"/>
|
||||||
|
<item idObject="6320"/>
|
||||||
|
<item idObject="6340"/>
|
||||||
|
<item idObject="6295"/>
|
||||||
|
<item idObject="6324"/>
|
||||||
|
<item idObject="6318"/>
|
||||||
|
<item idObject="6292"/>
|
||||||
|
<item idObject="6291"/>
|
||||||
|
<item idObject="6285"/>
|
||||||
|
<item idObject="6284"/>
|
||||||
|
<item idObject="6293"/>
|
||||||
|
<item idObject="6394"/>
|
||||||
|
<item idObject="6333"/>
|
||||||
|
<item idObject="6315"/>
|
||||||
|
<item idObject="6287"/>
|
||||||
|
<item idObject="6290"/>
|
||||||
|
<item idObject="6289"/>
|
||||||
|
<item idObject="6288"/>
|
||||||
|
<item idObject="6283"/>
|
||||||
|
<item idObject="6294"/>
|
||||||
|
<item idObject="6316"/>
|
||||||
|
<item idObject="6286"/>
|
||||||
|
</source>
|
||||||
|
<destination>
|
||||||
|
<item idObject="7245" mx="-44.1733" my="-8.34428" showLabel="true"/>
|
||||||
|
<item idObject="7246"/>
|
||||||
|
<item idObject="7247"/>
|
||||||
|
<item idObject="7248" mx="-43.8166" my="-5.5829" showLabel="true"/>
|
||||||
|
<item idObject="7249"/>
|
||||||
|
<item idObject="7250" mx="-49.8516" my="-7.15355" showLabel="true"/>
|
||||||
|
<item idObject="7251"/>
|
||||||
|
<item idObject="7252" mx="-47.674" my="-6.06473" showLabel="true"/>
|
||||||
|
<item idObject="7253" mx="-41.1411" my="-4.4315" showLabel="true"/>
|
||||||
|
<item idObject="7254" mx="-44.4076" my="-4.4315" showLabel="true"/>
|
||||||
|
<item idObject="7255" mx="-44.4076" my="-7.15355" showLabel="true"/>
|
||||||
|
<item idObject="7256" mx="-31.8861" my="-12.5977" showLabel="true"/>
|
||||||
|
<item idObject="7257" mx="-10.6541" my="8.08993" showLabel="true"/>
|
||||||
|
<item idObject="7258" mx="-10.1097" my="-14.7753" showLabel="true"/>
|
||||||
|
<item idObject="7259" mx="21.8893" my="-8.52888" showLabel="true"/>
|
||||||
|
<item idObject="7260"/>
|
||||||
|
<item idObject="7261" mx="-29.164" my="-9.87557" showLabel="true"/>
|
||||||
|
<item idObject="7262" mx="-14.465" my="7.00111" showLabel="true"/>
|
||||||
|
<item idObject="7263" mx="1.32292" my="2.64583" showLabel="true"/>
|
||||||
|
<item idObject="7264" mx="1.32292" my="2.64583" showLabel="true"/>
|
||||||
|
<item idObject="7265" mx="1.32292" my="2.64583" showLabel="true"/>
|
||||||
|
<item idObject="7266" mx="1.32292" my="2.64583" showLabel="true"/>
|
||||||
|
<item idObject="7267" mx="5.6782" my="-0.0762208" showLabel="true"/>
|
||||||
|
<item idObject="7268" mx="-28.8368" my="-6.79064" showLabel="true"/>
|
||||||
|
<item idObject="7269" mx="-97.4093" my="-0.392649" showLabel="true"/>
|
||||||
|
<item idObject="7270"/>
|
||||||
|
<item idObject="7271" mx="5.67817" my="-3.88709" showLabel="true"/>
|
||||||
|
<item idObject="7272" mx="10.0335" my="-2.25386" showLabel="true"/>
|
||||||
|
<item idObject="7273" mx="10.0335" my="-3.34268" showLabel="true"/>
|
||||||
|
<item idObject="7274" mx="7.31143" my="-5.52032" showLabel="true"/>
|
||||||
|
<item idObject="7275" mx="8.40025" my="-4.4315" showLabel="true"/>
|
||||||
|
<item idObject="7276" mx="0.675707" my="-1.56106" showLabel="true"/>
|
||||||
|
<item idObject="7277" mx="-51.7153" my="6.24505" showLabel="true"/>
|
||||||
|
<item idObject="7278" mx="1.32292" my="2.64583" showLabel="true"/>
|
||||||
|
</destination>
|
||||||
|
</operation>
|
||||||
|
<spline aScale="0" color="black" duplicate="1" id="7279" penStyle="hair" type="cubicBezierPath">
|
||||||
|
<pathPoint pSpline="6226"/>
|
||||||
|
<pathPoint pSpline="7271"/>
|
||||||
|
<pathPoint pSpline="7274"/>
|
||||||
|
<pathPoint pSpline="7275"/>
|
||||||
|
<pathPoint pSpline="7273"/>
|
||||||
|
<pathPoint pSpline="7272"/>
|
||||||
|
<pathPoint pSpline="7266"/>
|
||||||
|
<pathPoint pSpline="7264"/>
|
||||||
|
<pathPoint pSpline="7263"/>
|
||||||
|
<pathPoint pSpline="7265"/>
|
||||||
|
<pathPoint pSpline="7267"/>
|
||||||
|
<pathPoint pSpline="7276"/>
|
||||||
|
<pathPoint pSpline="7278"/>
|
||||||
|
</spline>
|
||||||
|
<point id="7280" length="79.6956" mx="51.7718" my="-3.90097" name="Cтйка_ндсчк_плеча1" showLabel="true" splinePath="7279" type="cutSplinePath"/>
|
||||||
|
<spline aScale="0" color="black" duplicate="1" id="7281" penStyle="hair" type="cubicBezierPath">
|
||||||
|
<pathPoint pSpline="6236"/>
|
||||||
|
<pathPoint pSpline="7255"/>
|
||||||
|
<pathPoint pSpline="7254"/>
|
||||||
|
<pathPoint pSpline="7253"/>
|
||||||
|
<pathPoint pSpline="7252"/>
|
||||||
|
<pathPoint pSpline="7250"/>
|
||||||
|
<pathPoint pSpline="7248"/>
|
||||||
|
<pathPoint pSpline="7245"/>
|
||||||
|
<pathPoint pSpline="7259"/>
|
||||||
|
<pathPoint pSpline="7256"/>
|
||||||
|
<pathPoint pSpline="7261"/>
|
||||||
|
<pathPoint pSpline="7268"/>
|
||||||
|
<pathPoint pSpline="7269"/>
|
||||||
|
</spline>
|
||||||
|
</calculation>
|
||||||
|
<modeling>
|
||||||
|
<point id="7366" idObject="6226" inUse="false" mx="8.65025" my="-2.56084" showLabel="false" type="modeling"/>
|
||||||
|
<spline id="7367" idObject="6295" inUse="false" type="modelingPath"/>
|
||||||
|
<point id="7368" idObject="6398" inUse="false" mx="65.3343" my="-1.06243" showLabel="true" type="modeling"/>
|
||||||
|
<spline id="7369" idObject="6295" inUse="false" type="modelingPath"/>
|
||||||
|
<point id="7370" idObject="6286" inUse="false" mx="1.32292" my="2.64583" showLabel="false" type="modeling"/>
|
||||||
|
<point id="7371" idObject="6316" inUse="false" mx="-51.7153" my="6.24505" showLabel="false" type="modeling"/>
|
||||||
|
<arc id="7372" idObject="6315" inUse="false" type="modeling"/>
|
||||||
|
<point id="7373" idObject="6333" inUse="false" mx="22.0564" my="-8.96418" showLabel="true" type="modeling"/>
|
||||||
|
<spline id="7374" idObject="6396" inUse="false" type="modelingPath"/>
|
||||||
|
<point id="7375" idObject="6236" inUse="false" mx="-28.9538" my="24.2392" showLabel="false" type="modeling"/>
|
||||||
|
<spline id="7376" idObject="7281" inUse="false" type="modelingPath"/>
|
||||||
|
<point id="7377" idObject="7269" inUse="false" mx="16.6992" my="-13.2499" showLabel="true" type="modeling"/>
|
||||||
|
<arc id="7378" idObject="7270" inUse="false" type="modeling"/>
|
||||||
|
<point id="7379" idObject="7277" inUse="false" mx="-33.977" my="-48.5124" showLabel="false" type="modeling"/>
|
||||||
|
<point id="7380" idObject="7278" inUse="false" mx="1.32292" my="2.64583" showLabel="false" type="modeling"/>
|
||||||
|
<spline id="7381" idObject="7279" inUse="false" type="modelingPath"/>
|
||||||
|
<point id="7382" idObject="7280" inUse="false" mx="51.7718" my="-3.90097" showLabel="true" type="modeling"/>
|
||||||
|
<spline id="7383" idObject="7279" inUse="false" type="modelingPath"/>
|
||||||
|
</modeling>
|
||||||
|
<details>
|
||||||
|
<detail forbidFlipping="true" forceFlipping="false" hideMainPath="true" id="7384" mx="3634.01" my="-3811.19" name="Стойка1" seamAllowance="true" version="2" width="8">
|
||||||
|
<data annotation="" foldPosition="" fontSize="10" height="8.93415" letter="" mx="-108.468" my="22346.2" onFold="false" orientation="" quantity="1" rotation="0" rotationWay="" tilt="" visible="true" width="36.6364">
|
||||||
|
<line alignment="0" bold="false" italic="false" sfIncrement="0" text="%pName% %pLetter%"/>
|
||||||
|
</data>
|
||||||
|
<patternInfo fontSize="0" height="1" mx="0" my="0" rotation="0" visible="false" width="1"/>
|
||||||
|
<grainline arrows="0" length="1" mx="0" my="0" rotation="90" visible="false"/>
|
||||||
|
<nodes>
|
||||||
|
<node idObject="7377" passmark="true" passmarkAngle="straightforward" passmarkLine="one" type="NodePoint"/>
|
||||||
|
<node idObject="7378" reverse="0" type="NodeArc"/>
|
||||||
|
<node idObject="7379" type="NodePoint"/>
|
||||||
|
<node idObject="7380" type="NodePoint"/>
|
||||||
|
<node idObject="7381" reverse="1" type="NodeSplinePath"/>
|
||||||
|
<node idObject="7382" type="NodePoint"/>
|
||||||
|
<node idObject="7383" reverse="1" type="NodeSplinePath"/>
|
||||||
|
<node idObject="7366" type="NodePoint"/>
|
||||||
|
<node idObject="7367" reverse="0" type="NodeSplinePath"/>
|
||||||
|
<node idObject="7368" type="NodePoint"/>
|
||||||
|
<node idObject="7369" reverse="0" type="NodeSplinePath"/>
|
||||||
|
<node idObject="7370" type="NodePoint"/>
|
||||||
|
<node idObject="7371" type="NodePoint"/>
|
||||||
|
<node idObject="7372" reverse="1" type="NodeArc"/>
|
||||||
|
<node idObject="7373" type="NodePoint"/>
|
||||||
|
<node idObject="7374" reverse="1" type="NodeSplinePath"/>
|
||||||
|
<node idObject="7375" type="NodePoint"/>
|
||||||
|
<node idObject="7376" reverse="0" type="NodeSplinePath"/>
|
||||||
|
</nodes>
|
||||||
|
</detail>
|
||||||
|
</details>
|
||||||
|
<groups>
|
||||||
|
<group id="6235" name="Вспомогательные начальные мерки" visible="true">
|
||||||
|
<item object="6227" tool="6227"/>
|
||||||
|
<item object="6228" tool="6228"/>
|
||||||
|
<item object="6229" tool="6229"/>
|
||||||
|
<item object="6230" tool="6230"/>
|
||||||
|
<item object="6231" tool="6231"/>
|
||||||
|
<item object="6232" tool="6232"/>
|
||||||
|
<item object="6233" tool="6233"/>
|
||||||
|
<item object="6234" tool="6234"/>
|
||||||
|
</group>
|
||||||
|
<group id="6262" name="Итерация 3" visible="true">
|
||||||
|
<item object="6237" tool="6237"/>
|
||||||
|
<item object="6250" tool="6250"/>
|
||||||
|
<item object="6251" tool="6251"/>
|
||||||
|
<item object="6252" tool="6252"/>
|
||||||
|
<item object="6253" tool="6253"/>
|
||||||
|
<item object="6254" tool="6254"/>
|
||||||
|
<item object="6255" tool="6255"/>
|
||||||
|
<item object="6256" tool="6256"/>
|
||||||
|
<item object="6257" tool="6257"/>
|
||||||
|
<item object="6258" tool="6258"/>
|
||||||
|
<item object="6259" tool="6259"/>
|
||||||
|
<item object="6260" tool="6260"/>
|
||||||
|
</group>
|
||||||
|
<group id="6271" name="Итерация 0" visible="true">
|
||||||
|
<item object="6261" tool="6261"/>
|
||||||
|
<item object="6263" tool="6263"/>
|
||||||
|
<item object="6264" tool="6264"/>
|
||||||
|
<item object="6265" tool="6265"/>
|
||||||
|
<item object="6267" tool="6267"/>
|
||||||
|
<item object="6268" tool="6268"/>
|
||||||
|
<item object="6269" tool="6269"/>
|
||||||
|
<item object="6270" tool="6270"/>
|
||||||
|
<item object="6266" tool="6266"/>
|
||||||
|
</group>
|
||||||
|
<group id="6281" name="Итерация 1" visible="true">
|
||||||
|
<item object="6272" tool="6272"/>
|
||||||
|
<item object="6273" tool="6273"/>
|
||||||
|
<item object="6274" tool="6274"/>
|
||||||
|
<item object="6275" tool="6275"/>
|
||||||
|
<item object="6277" tool="6277"/>
|
||||||
|
<item object="6278" tool="6278"/>
|
||||||
|
<item object="6279" tool="6279"/>
|
||||||
|
<item object="6280" tool="6280"/>
|
||||||
|
<item object="6276" tool="6276"/>
|
||||||
|
</group>
|
||||||
|
<group id="6400" name="Закруглуние вспом построения" visible="true">
|
||||||
|
<item object="6305" tool="6305"/>
|
||||||
|
<item object="6306" tool="6306"/>
|
||||||
|
<item object="6312" tool="6312"/>
|
||||||
|
<item object="6383" tool="6383"/>
|
||||||
|
<item object="6384" tool="6384"/>
|
||||||
|
<item object="6311" tool="6311"/>
|
||||||
|
<item object="6401" tool="6401"/>
|
||||||
|
</group>
|
||||||
|
</groups>
|
||||||
|
</draw>
|
||||||
|
</pattern>
|
24
src/app/share/collection/bugs/smart_pattern_#36.vit
Normal file
24
src/app/share/collection/bugs/smart_pattern_#36.vit
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<vit>
|
||||||
|
<version>0.5.0</version>
|
||||||
|
<read-only>true</read-only>
|
||||||
|
<notes/>
|
||||||
|
<unit>cm</unit>
|
||||||
|
<pm_system>998</pm_system>
|
||||||
|
<personal>
|
||||||
|
<customer>
|
||||||
|
336
|
||||||
|
</customer>
|
||||||
|
<birth-date>1800-01-01</birth-date>
|
||||||
|
<gender>female</gender>
|
||||||
|
<email/>
|
||||||
|
</personal>
|
||||||
|
|
||||||
|
<body-measurements>
|
||||||
|
|
||||||
|
<m name='@d' value='22.2869'/>
|
||||||
|
<m name='@e' value='7.96956'/>
|
||||||
|
|
||||||
|
|
||||||
|
</body-measurements>
|
||||||
|
</vit>
|
|
@ -728,14 +728,7 @@ bool TMainWindow::FileSave()
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup++; // turn checking on
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
const bool isFileWritable = QFileInfo(curFile).isWritable();
|
const bool isFileWritable = QFileInfo(curFile).isWritable();
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup--; // turn it off again
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
|
|
||||||
if (not isFileWritable)
|
if (not isFileWritable)
|
||||||
{
|
{
|
||||||
QMessageBox messageBox(this);
|
QMessageBox messageBox(this);
|
||||||
|
@ -2593,13 +2586,7 @@ void TMainWindow::UpdateWindowTitle()
|
||||||
bool isFileWritable = true;
|
bool isFileWritable = true;
|
||||||
if (not curFile.isEmpty())
|
if (not curFile.isEmpty())
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup++; // turn checking on
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
isFileWritable = QFileInfo(curFile).isWritable();
|
isFileWritable = QFileInfo(curFile).isWritable();
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup--; // turn it off again
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
showName = StrippedName(curFile);
|
showName = StrippedName(curFile);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -53,6 +53,8 @@ Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingConfigurationLabelLanguage,
|
||||||
(QLatin1String("configuration/label_language")))
|
(QLatin1String("configuration/label_language")))
|
||||||
Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingAutoRefreshPatternMessage,
|
Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingAutoRefreshPatternMessage,
|
||||||
(QLatin1String("configuration/autoRefreshPatternMessage")))
|
(QLatin1String("configuration/autoRefreshPatternMessage")))
|
||||||
|
Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingToolPanelScaling,
|
||||||
|
(QLatin1String("configuration/toolPanelScaling")))
|
||||||
|
|
||||||
Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsLayout, (QLatin1String("paths/layout")))
|
Q_GLOBAL_STATIC_WITH_ARGS(const QString, settingPathsLayout, (QLatin1String("paths/layout")))
|
||||||
|
|
||||||
|
@ -670,3 +672,15 @@ void VValentinaSettings::SetWatermarkEditorSize(const QSize &sz)
|
||||||
{
|
{
|
||||||
setValue(*settingWatermarkEditorSize, sz);
|
setValue(*settingWatermarkEditorSize, sz);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool VValentinaSettings::GetToolPanelScaling() const
|
||||||
|
{
|
||||||
|
return value(*settingToolPanelScaling, false).toBool();
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void VValentinaSettings::SetToolPanelScaling(const bool &value)
|
||||||
|
{
|
||||||
|
setValue(*settingToolPanelScaling, value);
|
||||||
|
}
|
||||||
|
|
|
@ -170,6 +170,9 @@ public:
|
||||||
QSize GetWatermarkEditorSize() const;
|
QSize GetWatermarkEditorSize() const;
|
||||||
void SetWatermarkEditorSize(const QSize& sz);
|
void SetWatermarkEditorSize(const QSize& sz);
|
||||||
|
|
||||||
|
bool GetToolPanelScaling() const;
|
||||||
|
void SetToolPanelScaling(const bool &value);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Q_DISABLE_COPY(VValentinaSettings)
|
Q_DISABLE_COPY(VValentinaSettings)
|
||||||
};
|
};
|
||||||
|
|
|
@ -127,6 +127,9 @@ PreferencesConfigurationPage::PreferencesConfigurationPage(QWidget *parent)
|
||||||
// Theme
|
// Theme
|
||||||
ui->darkModeCheck->setChecked(settings->GetDarkMode());
|
ui->darkModeCheck->setChecked(settings->GetDarkMode());
|
||||||
|
|
||||||
|
// Tool panel
|
||||||
|
ui->checkBoxToolPanelScaling->setChecked(settings->GetToolPanelScaling());
|
||||||
|
|
||||||
// Tab Scrolling
|
// Tab Scrolling
|
||||||
ui->spinBoxDuration->setMinimum(VValentinaSettings::scrollingDurationMin);
|
ui->spinBoxDuration->setMinimum(VValentinaSettings::scrollingDurationMin);
|
||||||
ui->spinBoxDuration->setMaximum(VValentinaSettings::scrollingDurationMax);
|
ui->spinBoxDuration->setMaximum(VValentinaSettings::scrollingDurationMax);
|
||||||
|
@ -178,6 +181,11 @@ QStringList PreferencesConfigurationPage::Apply()
|
||||||
preferences.append(tr("dark mode"));
|
preferences.append(tr("dark mode"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (settings->GetToolPanelScaling() != ui->checkBoxToolPanelScaling->isChecked())
|
||||||
|
{
|
||||||
|
settings->SetToolPanelScaling(ui->checkBoxToolPanelScaling->isChecked());
|
||||||
|
}
|
||||||
|
|
||||||
settings->SetFreeCurveMode(ui->checkBoxFreeCurve->isChecked());
|
settings->SetFreeCurveMode(ui->checkBoxFreeCurve->isChecked());
|
||||||
settings->SetDoubleClickZoomFitBestCurrentPP(ui->checkBoxZoomFitBestCurrentPP->isChecked());
|
settings->SetDoubleClickZoomFitBestCurrentPP(ui->checkBoxZoomFitBestCurrentPP->isChecked());
|
||||||
|
|
||||||
|
|
|
@ -33,9 +33,9 @@
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>-152</y>
|
<y>-161</y>
|
||||||
<width>624</width>
|
<width>624</width>
|
||||||
<height>707</height>
|
<height>717</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||||
|
@ -273,6 +273,16 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="checkBoxToolPanelScaling">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Change the position of the tool panel to optimize for big screen resolutions. By default, the tool panel will take all available space.</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Tool panel scaling</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
|
@ -652,6 +652,7 @@ void MainWindow::SetToolButton(bool checked, Tool t, const QString &cursor, cons
|
||||||
case Tool::Move:
|
case Tool::Move:
|
||||||
case Tool::FlippingByAxis:
|
case Tool::FlippingByAxis:
|
||||||
case Tool::FlippingByLine:
|
case Tool::FlippingByLine:
|
||||||
|
case Tool::Group:
|
||||||
dialogTool->SetGroupCategories(doc->GetGroupCategories());
|
dialogTool->SetGroupCategories(doc->GetGroupCategories());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
@ -3048,20 +3049,14 @@ bool MainWindow::on_actionSave_triggered()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup++; // turn checking on
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
const bool isFileWritable = QFileInfo(qApp->GetPatternPath()).isWritable();
|
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup--; // turn it off again
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
|
|
||||||
|
const bool isFileWritable = QFileInfo(qApp->GetPatternPath()).isWritable();
|
||||||
if (not isFileWritable)
|
if (not isFileWritable)
|
||||||
{
|
{
|
||||||
QMessageBox messageBox(this);
|
QMessageBox messageBox(this);
|
||||||
messageBox.setIcon(QMessageBox::Question);
|
messageBox.setIcon(QMessageBox::Question);
|
||||||
messageBox.setText(tr("The document has no write permissions."));
|
messageBox.setText(tr("The document has no write permissions."));
|
||||||
messageBox.setInformativeText("Do you want to change the premissions?");
|
messageBox.setInformativeText(tr("Do you want to change the premissions?"));
|
||||||
messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
|
messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
|
||||||
messageBox.setDefaultButton(QMessageBox::Yes);
|
messageBox.setDefaultButton(QMessageBox::Yes);
|
||||||
|
|
||||||
|
@ -4222,6 +4217,9 @@ void MainWindow::ReadSettings()
|
||||||
// Text under tool buton icon
|
// Text under tool buton icon
|
||||||
ToolBarStyles();
|
ToolBarStyles();
|
||||||
|
|
||||||
|
// Tool box scaling
|
||||||
|
ToolBoxSizePolicy();
|
||||||
|
|
||||||
isDockToolOptionsVisible = ui->dockWidgetToolOptions->isEnabled();
|
isDockToolOptionsVisible = ui->dockWidgetToolOptions->isEnabled();
|
||||||
isDockGroupsVisible = ui->dockWidgetGroups->isEnabled();
|
isDockGroupsVisible = ui->dockWidgetGroups->isEnabled();
|
||||||
|
|
||||||
|
@ -5229,6 +5227,14 @@ void MainWindow::ToolBarStyles()
|
||||||
ToolBarStyle(ui->mainToolBar);
|
ToolBarStyle(ui->mainToolBar);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void MainWindow::ToolBoxSizePolicy()
|
||||||
|
{
|
||||||
|
ui->toolBox->setSizePolicy(ui->toolBox->sizePolicy().horizontalPolicy(),
|
||||||
|
qApp->ValentinaSettings()->GetToolPanelScaling() ? QSizePolicy::Fixed
|
||||||
|
: QSizePolicy::Preferred);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
void MainWindow::ShowPaper(int index)
|
void MainWindow::ShowPaper(int index)
|
||||||
{
|
{
|
||||||
|
@ -5260,6 +5266,7 @@ void MainWindow::Preferences()
|
||||||
connect(dlg.data(), &DialogPreferences::UpdateProperties, toolOptions,
|
connect(dlg.data(), &DialogPreferences::UpdateProperties, toolOptions,
|
||||||
&VToolOptionsPropertyBrowser::RefreshOptions);
|
&VToolOptionsPropertyBrowser::RefreshOptions);
|
||||||
connect(dlg.data(), &DialogPreferences::UpdateProperties, this, &MainWindow::ToolBarStyles);
|
connect(dlg.data(), &DialogPreferences::UpdateProperties, this, &MainWindow::ToolBarStyles);
|
||||||
|
connect(dlg.data(), &DialogPreferences::UpdateProperties, this, &MainWindow::ToolBoxSizePolicy);
|
||||||
connect(dlg.data(), &DialogPreferences::UpdateProperties, this, [this](){emit doc->FullUpdateFromFile();});
|
connect(dlg.data(), &DialogPreferences::UpdateProperties, this, [this](){emit doc->FullUpdateFromFile();});
|
||||||
connect(dlg.data(), &DialogPreferences::UpdateProperties, ui->view,
|
connect(dlg.data(), &DialogPreferences::UpdateProperties, ui->view,
|
||||||
&VMainGraphicsView::ResetScrollingAnimation);
|
&VMainGraphicsView::ResetScrollingAnimation);
|
||||||
|
@ -5995,13 +6002,7 @@ void MainWindow::UpdateWindowTitle()
|
||||||
bool isFileWritable = true;
|
bool isFileWritable = true;
|
||||||
if (not qApp->GetPatternPath().isEmpty())
|
if (not qApp->GetPatternPath().isEmpty())
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup++; // turn checking on
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
isFileWritable = QFileInfo(qApp->GetPatternPath()).isWritable();
|
isFileWritable = QFileInfo(qApp->GetPatternPath()).isWritable();
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup--; // turn it off again
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (not patternReadOnly && isFileWritable)
|
if (not patternReadOnly && isFileWritable)
|
||||||
|
|
|
@ -122,6 +122,7 @@ private slots:
|
||||||
void PreviousPatternPiece();
|
void PreviousPatternPiece();
|
||||||
void NextPatternPiece();
|
void NextPatternPiece();
|
||||||
void ToolBarStyles();
|
void ToolBarStyles();
|
||||||
|
void ToolBoxSizePolicy();
|
||||||
void ShowPaper(int index);
|
void ShowPaper(int index);
|
||||||
void Preferences();
|
void Preferences();
|
||||||
#if defined(Q_OS_MAC)
|
#if defined(Q_OS_MAC)
|
||||||
|
|
|
@ -358,20 +358,14 @@ bool WatermarkWindow::on_actionSave_triggered()
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup++; // turn checking on
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
const bool isFileWritable = QFileInfo(m_curFile).isWritable();
|
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup--; // turn it off again
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
|
|
||||||
|
const bool isFileWritable = QFileInfo(m_curFile).isWritable();
|
||||||
if (not isFileWritable)
|
if (not isFileWritable)
|
||||||
{
|
{
|
||||||
QMessageBox messageBox(this);
|
QMessageBox messageBox(this);
|
||||||
messageBox.setIcon(QMessageBox::Question);
|
messageBox.setIcon(QMessageBox::Question);
|
||||||
messageBox.setText(tr("The document has no write permissions."));
|
messageBox.setText(tr("The document has no write permissions."));
|
||||||
messageBox.setInformativeText("Do you want to change the premissions?");
|
messageBox.setInformativeText(tr("Do you want to change the premissions?"));
|
||||||
messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
|
messageBox.setStandardButtons(QMessageBox::Yes | QMessageBox::Cancel);
|
||||||
messageBox.setDefaultButton(QMessageBox::Yes);
|
messageBox.setDefaultButton(QMessageBox::Yes);
|
||||||
|
|
||||||
|
@ -494,13 +488,7 @@ void WatermarkWindow::UpdateWindowTitle()
|
||||||
bool isFileWritable = true;
|
bool isFileWritable = true;
|
||||||
if (not m_curFile.isEmpty())
|
if (not m_curFile.isEmpty())
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup++; // turn checking on
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
isFileWritable = QFileInfo(m_curFile).isWritable();
|
isFileWritable = QFileInfo(m_curFile).isWritable();
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup--; // turn it off again
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isFileWritable)
|
if (isFileWritable)
|
||||||
|
|
|
@ -165,14 +165,7 @@ void VAbstractConverter::ReserveFile() const
|
||||||
.arg(info.absoluteDir().absolutePath(), info.baseName(), GetFormatVersionStr(), info.completeSuffix());
|
.arg(info.absoluteDir().absolutePath(), info.baseName(), GetFormatVersionStr(), info.completeSuffix());
|
||||||
if (not SafeCopy(m_convertedFileName, reserveFileName, error))
|
if (not SafeCopy(m_convertedFileName, reserveFileName, error))
|
||||||
{
|
{
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup++; // turn checking on
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
const bool isFileWritable = info.isWritable();
|
const bool isFileWritable = info.isWritable();
|
||||||
#ifdef Q_OS_WIN32
|
|
||||||
qt_ntfs_permission_lookup--; // turn it off again
|
|
||||||
#endif /*Q_OS_WIN32*/
|
|
||||||
|
|
||||||
if (not IsReadOnly() && isFileWritable)
|
if (not IsReadOnly() && isFileWritable)
|
||||||
{
|
{
|
||||||
const QString errorMsg(tr("Error creating a reserv copy: %1.").arg(error));
|
const QString errorMsg(tr("Error creating a reserv copy: %1.").arg(error));
|
||||||
|
|
|
@ -323,8 +323,11 @@ QString NameRegExp()
|
||||||
//Same regexp in pattern.xsd shema file. Don't forget to synchronize.
|
//Same regexp in pattern.xsd shema file. Don't forget to synchronize.
|
||||||
// \p{Nd} - \p{Decimal_Digit_Number}
|
// \p{Nd} - \p{Decimal_Digit_Number}
|
||||||
// \p{Zs} - \p{Space_Separator}
|
// \p{Zs} - \p{Space_Separator}
|
||||||
regex = QString("^([^\\p{Nd}\\p{Zs}*/&|!<>^\n\\()%1%2%3%4=?:;'\"]){1,1}"
|
// Here we use permanent start of string and end of string anchors \A and \z to match whole pattern as one
|
||||||
"([^\\p{Zs}*/&|!<>^\n\\()%1%2%3%4=?:;\"]){0,}$")
|
// string. In some cases, a user may pass multiline or line that ends with a new line. To cover case with a new
|
||||||
|
// line at the end of string use /z anchor.
|
||||||
|
regex = QString("\\A([^\\p{Nd}\\p{Zs}*/&|!<>^\\n\\()%1%2%3%4=?:;'\"]){1,1}"
|
||||||
|
"([^\\p{Zs}*/&|!<>^\\n\\()%1%2%3%4=?:;\"]){0,}\\z")
|
||||||
.arg(negativeSigns, positiveSigns, decimalPoints, groupSeparators);
|
.arg(negativeSigns, positiveSigns, decimalPoints, groupSeparators);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -379,7 +379,11 @@ void VArc::CreateName()
|
||||||
{
|
{
|
||||||
QString name = ARC_ + QString("%1").arg(this->GetCenter().name());
|
QString name = ARC_ + QString("%1").arg(this->GetCenter().name());
|
||||||
|
|
||||||
if (VAbstractCurve::id() != NULL_ID)
|
if (getMode() == Draw::Modeling && getIdObject() != NULL_ID)
|
||||||
|
{
|
||||||
|
name += QString("_%1").arg(getIdObject());
|
||||||
|
}
|
||||||
|
else if (VAbstractCurve::id() != NULL_ID)
|
||||||
{
|
{
|
||||||
name += QString("_%1").arg(VAbstractCurve::id());
|
name += QString("_%1").arg(VAbstractCurve::id());
|
||||||
}
|
}
|
||||||
|
|
|
@ -381,7 +381,11 @@ void VEllipticalArc::CreateName()
|
||||||
{
|
{
|
||||||
QString name = ELARC_ + QString("%1").arg(this->GetCenter().name());
|
QString name = ELARC_ + QString("%1").arg(this->GetCenter().name());
|
||||||
|
|
||||||
if (VAbstractCurve::id() != NULL_ID)
|
if (getMode() == Draw::Modeling && getIdObject() != NULL_ID)
|
||||||
|
{
|
||||||
|
name += QString("_%1").arg(getIdObject());
|
||||||
|
}
|
||||||
|
else if (VAbstractCurve::id() != NULL_ID)
|
||||||
{
|
{
|
||||||
name += QString("_%1").arg(VAbstractCurve::id());
|
name += QString("_%1").arg(VAbstractCurve::id());
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,7 +97,7 @@ private:
|
||||||
};
|
};
|
||||||
Q_DECLARE_METATYPE(VLayoutPassmark)
|
Q_DECLARE_METATYPE(VLayoutPassmark)
|
||||||
|
|
||||||
constexpr qreal accuracyPointOnLine = (0.12/*mm*/ / 25.4) * PrintDPI;
|
constexpr qreal accuracyPointOnLine = (0.117/*mm*/ / 25.4) * PrintDPI;
|
||||||
|
|
||||||
Q_REQUIRED_RESULT static inline bool VFuzzyComparePoints(const QPointF &p1, const QPointF &p2);
|
Q_REQUIRED_RESULT static inline bool VFuzzyComparePoints(const QPointF &p1, const QPointF &p2);
|
||||||
static inline bool VFuzzyComparePoints(const QPointF &p1, const QPointF &p2)
|
static inline bool VFuzzyComparePoints(const QPointF &p1, const QPointF &p2)
|
||||||
|
|
|
@ -1527,6 +1527,7 @@ bool VAbstractPiece::IsAllowanceValid(const QVector<QPointF> &base, const QVecto
|
||||||
// DumpVector(base); // Uncomment for dumping test data
|
// DumpVector(base); // Uncomment for dumping test data
|
||||||
// DumpVector(allowance); // Uncomment for dumping test data
|
// DumpVector(allowance); // Uncomment for dumping test data
|
||||||
|
|
||||||
|
// First check direction
|
||||||
const qreal baseDirection = VPiece::SumTrapezoids(base);
|
const qreal baseDirection = VPiece::SumTrapezoids(base);
|
||||||
const qreal allowanceDirection = VPiece::SumTrapezoids(allowance);
|
const qreal allowanceDirection = VPiece::SumTrapezoids(allowance);
|
||||||
|
|
||||||
|
@ -1535,6 +1536,7 @@ bool VAbstractPiece::IsAllowanceValid(const QVector<QPointF> &base, const QVecto
|
||||||
return false; // Wrong direction
|
return false; // Wrong direction
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Edges must not intersect
|
||||||
for (auto i = 0; i < base.count(); ++i)
|
for (auto i = 0; i < base.count(); ++i)
|
||||||
{
|
{
|
||||||
int nextI = -1;
|
int nextI = -1;
|
||||||
|
@ -1585,6 +1587,17 @@ bool VAbstractPiece::IsAllowanceValid(const QVector<QPointF> &base, const QVecto
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Just instersection edges is not enough. The base must be inside of the allowance.
|
||||||
|
QPolygonF allowancePolygon(allowance);
|
||||||
|
|
||||||
|
for (auto &point : base)
|
||||||
|
{
|
||||||
|
if (not allowancePolygon.containsPoint(point, Qt::WindingFill))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1204,10 +1204,10 @@ void VLayoutPiece::CreateLabelStrings(QGraphicsItem *parent, const QVector<QPoin
|
||||||
const qreal dH = QLineF(labelShape.at(1), labelShape.at(2)).length();
|
const qreal dH = QLineF(labelShape.at(1), labelShape.at(2)).length();
|
||||||
const qreal angle = - QLineF(labelShape.at(0), labelShape.at(1)).angle();
|
const qreal angle = - QLineF(labelShape.at(0), labelShape.at(1)).angle();
|
||||||
qreal dY = 0;
|
qreal dY = 0;
|
||||||
qreal dX = 0;
|
|
||||||
|
|
||||||
for (int i = 0; i < tm.GetSourceLinesCount(); ++i)
|
for (int i = 0; i < tm.GetSourceLinesCount(); ++i)
|
||||||
{
|
{
|
||||||
|
|
||||||
const TextLine& tl = tm.GetSourceLine(i);
|
const TextLine& tl = tm.GetSourceLine(i);
|
||||||
QFont fnt = tm.GetFont();
|
QFont fnt = tm.GetFont();
|
||||||
fnt.setPixelSize(tm.GetFont().pixelSize() + tl.m_iFontSize);
|
fnt.setPixelSize(tm.GetFont().pixelSize() + tl.m_iFontSize);
|
||||||
|
@ -1235,7 +1235,9 @@ void VLayoutPiece::CreateLabelStrings(QGraphicsItem *parent, const QVector<QPoin
|
||||||
{
|
{
|
||||||
qsText = fm.elidedText(qsText, Qt::ElideMiddle, static_cast<int>(dW));
|
qsText = fm.elidedText(qsText, Qt::ElideMiddle, static_cast<int>(dW));
|
||||||
}
|
}
|
||||||
if ((tl.m_eAlign & Qt::AlignLeft) > 0)
|
|
||||||
|
qreal dX = 0;
|
||||||
|
if (tl.m_eAlign == 0 || (tl.m_eAlign & Qt::AlignLeft) > 0)
|
||||||
{
|
{
|
||||||
dX = 0;
|
dX = 0;
|
||||||
}
|
}
|
||||||
|
@ -1247,7 +1249,7 @@ void VLayoutPiece::CreateLabelStrings(QGraphicsItem *parent, const QVector<QPoin
|
||||||
dX = (dW - fm.width(qsText))/2;
|
dX = (dW - fm.width(qsText))/2;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else if ((tl.m_eAlign & Qt::AlignRight) > 0)
|
||||||
{
|
{
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
|
#if QT_VERSION >= QT_VERSION_CHECK(5, 11, 0)
|
||||||
dX = dW - fm.horizontalAdvance(qsText);
|
dX = dW - fm.horizontalAdvance(qsText);
|
||||||
|
|
|
@ -121,6 +121,8 @@ void DialogCubicBezierPath::SetPath(const VCubicBezierPath &value)
|
||||||
{
|
{
|
||||||
ui->listWidget->setCurrentRow(0);
|
ui->listWidget->setCurrentRow(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ValidatePath();
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
@ -219,7 +221,6 @@ void DialogCubicBezierPath::PointChanged(int row)
|
||||||
void DialogCubicBezierPath::currentPointChanged(int index)
|
void DialogCubicBezierPath::currentPointChanged(int index)
|
||||||
{
|
{
|
||||||
const quint32 id = qvariant_cast<quint32>(ui->comboBoxPoint->itemData(index));
|
const quint32 id = qvariant_cast<quint32>(ui->comboBoxPoint->itemData(index));
|
||||||
QColor color;
|
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -228,50 +229,16 @@ void DialogCubicBezierPath::currentPointChanged(int index)
|
||||||
DataPoint(*point);
|
DataPoint(*point);
|
||||||
item->setData(Qt::UserRole, QVariant::fromValue(*point));
|
item->setData(Qt::UserRole, QVariant::fromValue(*point));
|
||||||
|
|
||||||
if (not IsPathValid())
|
ValidatePath();
|
||||||
{
|
|
||||||
flagError = false;
|
|
||||||
color = errorColor;
|
|
||||||
|
|
||||||
ui->lineEditSplPathName->setText(tr("Invalid spline path"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
flagError = true;
|
|
||||||
color = OkColor(this);
|
|
||||||
|
|
||||||
auto first = qvariant_cast<VPointF>(ui->listWidget->item(0)->data(Qt::UserRole));
|
|
||||||
auto last = qvariant_cast<VPointF>(ui->listWidget->item(ui->listWidget->count()-1)->data(Qt::UserRole));
|
|
||||||
|
|
||||||
if (first.id() == path.at(0).id() && last.id() == path.at(path.CountPoints()-1).id())
|
|
||||||
{
|
|
||||||
newDuplicate = -1;
|
|
||||||
ui->lineEditSplPathName->setText(qApp->TrVars()->VarToUser(path.name()));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
VCubicBezierPath newPath = ExtractPath();
|
|
||||||
|
|
||||||
if (not data->IsUnique(newPath.name()))
|
|
||||||
{
|
|
||||||
newDuplicate = static_cast<qint32>(DNumber(newPath.name()));
|
|
||||||
newPath.SetDuplicate(static_cast<quint32>(newDuplicate));
|
|
||||||
}
|
|
||||||
|
|
||||||
ui->lineEditSplPathName->setText(qApp->TrVars()->VarToUser(newPath.name()));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (const VExceptionBadId &)
|
catch (const VExceptionBadId &)
|
||||||
{
|
{
|
||||||
flagError = false;
|
flagError = false;
|
||||||
color = errorColor;
|
ChangeColor(ui->labelName, errorColor);
|
||||||
|
ChangeColor(ui->labelPoint, errorColor);
|
||||||
|
|
||||||
ui->lineEditSplPathName->setText(tr("Cannot find point with id %1").arg(id));
|
ui->lineEditSplPathName->setText(tr("Cannot find point with id %1").arg(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
ChangeColor(ui->labelName, color);
|
|
||||||
ChangeColor(ui->labelPoint, color);
|
|
||||||
CheckState();
|
CheckState();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -350,3 +317,46 @@ VCubicBezierPath DialogCubicBezierPath::ExtractPath() const
|
||||||
}
|
}
|
||||||
return VCubicBezierPath(points);
|
return VCubicBezierPath(points);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void DialogCubicBezierPath::ValidatePath()
|
||||||
|
{
|
||||||
|
QColor color;
|
||||||
|
|
||||||
|
if (not IsPathValid())
|
||||||
|
{
|
||||||
|
flagError = false;
|
||||||
|
color = errorColor;
|
||||||
|
|
||||||
|
ui->lineEditSplPathName->setText(tr("Invalid spline path"));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
flagError = true;
|
||||||
|
color = OkColor(this);
|
||||||
|
|
||||||
|
auto first = qvariant_cast<VPointF>(ui->listWidget->item(0)->data(Qt::UserRole));
|
||||||
|
auto last = qvariant_cast<VPointF>(ui->listWidget->item(ui->listWidget->count()-1)->data(Qt::UserRole));
|
||||||
|
|
||||||
|
if (first.id() == path.at(0).id() && last.id() == path.at(path.CountPoints()-1).id())
|
||||||
|
{
|
||||||
|
newDuplicate = -1;
|
||||||
|
ui->lineEditSplPathName->setText(qApp->TrVars()->VarToUser(path.name()));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VCubicBezierPath newPath = ExtractPath();
|
||||||
|
|
||||||
|
if (not data->IsUnique(newPath.name()))
|
||||||
|
{
|
||||||
|
newDuplicate = static_cast<qint32>(DNumber(newPath.name()));
|
||||||
|
newPath.SetDuplicate(static_cast<quint32>(newDuplicate));
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->lineEditSplPathName->setText(qApp->TrVars()->VarToUser(newPath.name()));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ChangeColor(ui->labelName, color);
|
||||||
|
ChangeColor(ui->labelPoint, color);
|
||||||
|
}
|
||||||
|
|
|
@ -84,6 +84,7 @@ private:
|
||||||
QSet<quint32> AllPathBackboneIds() const;
|
QSet<quint32> AllPathBackboneIds() const;
|
||||||
bool IsPathValid() const;
|
bool IsPathValid() const;
|
||||||
VCubicBezierPath ExtractPath() const;
|
VCubicBezierPath ExtractPath() const;
|
||||||
|
void ValidatePath();
|
||||||
};
|
};
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -253,8 +253,12 @@ void Visualization::DrawLine(VScaledLine *lineItem, const QLineF &line, const QC
|
||||||
visPen.setStyle(style);
|
visPen.setStyle(style);
|
||||||
|
|
||||||
lineItem->setPen(visPen);
|
lineItem->setPen(visPen);
|
||||||
lineItem->setLine(line);
|
if (not line.isNull())
|
||||||
lineItem->setVisible(true);
|
{
|
||||||
|
lineItem->setLine(line);
|
||||||
|
}
|
||||||
|
|
||||||
|
lineItem->setVisible(not line.isNull());
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
|
@ -162,8 +162,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -157,8 +157,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -162,8 +162,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"angle": 1,
|
"angle": 3,
|
||||||
"saAfter": 151.18110236220474,
|
"saAfter": 151.18110236220474,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
|
@ -468,7 +468,7 @@
|
||||||
"y": 331.90352529002166
|
"y": 331.90352529002166
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 1,
|
"angle": 3,
|
||||||
"saAfter": 151.18110236220474,
|
"saAfter": 151.18110236220474,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
|
|
|
@ -2,13 +2,8 @@
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.7149606299213,
|
"x": -1086.319675233741,
|
||||||
"y": 372.2542552635805
|
"y": 603.286223243
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -925.5802587835234,
|
|
||||||
"y": 240.2611923642163
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
@ -162,8 +157,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
@ -227,13 +222,13 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -810.1810632465665,
|
"x": -807.3585969245805,
|
||||||
"y": 373.5624561175904
|
"y": 374.1796788445591
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -814.7149606299213,
|
"x": -1086.319675233741,
|
||||||
"y": 372.2542552635805
|
"y": 603.286223243
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,8 +162,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -162,8 +162,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -162,8 +162,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -157,8 +157,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"angle": 4,
|
"angle": 5,
|
||||||
"saAfter": 0,
|
"saAfter": 0,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
|
@ -468,7 +468,7 @@
|
||||||
"y": 331.90352529002166
|
"y": 331.90352529002166
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 4,
|
"angle": 5,
|
||||||
"saAfter": 0,
|
"saAfter": 0,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
|
|
|
@ -162,8 +162,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"angle": 4,
|
"angle": 5,
|
||||||
"saAfter": 151.18110236220474,
|
"saAfter": 151.18110236220474,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
|
@ -468,7 +468,7 @@
|
||||||
"y": 331.90352529002166
|
"y": 331.90352529002166
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"angle": 4,
|
"angle": 5,
|
||||||
"saAfter": 151.18110236220474,
|
"saAfter": 151.18110236220474,
|
||||||
"saBefore": 37.795275590551185,
|
"saBefore": 37.795275590551185,
|
||||||
"type": "VSAPoint",
|
"type": "VSAPoint",
|
||||||
|
|
|
@ -2,13 +2,8 @@
|
||||||
"vector": [
|
"vector": [
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -949.5679059514944,
|
"x": -831.5531621884526,
|
||||||
"y": 269.4686510059864
|
"y": 27.90388512315623
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -925.5802587835218,
|
|
||||||
"y": 240.26119236421337
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
@ -47,8 +42,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -631.5852394687809,
|
"x": -631.8008980267215,
|
||||||
"y": -90.99511806183605
|
"y": -91.35633060009326
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
@ -162,8 +157,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
@ -232,28 +227,18 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -818.0929557813755,
|
"x": -814.7149606299213,
|
||||||
"y": 371.2795759163598
|
"y": 372.2542552635805
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -823.6929755287612,
|
"x": -965.896062992126,
|
||||||
"y": 369.27180555079025
|
"y": 372.2542552635805
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -829.5753368833404,
|
"x": -831.5531621884526,
|
||||||
"y": 366.62694879394627
|
"y": 27.90388512315623
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -835.8151397150936,
|
|
||||||
"y": 362.8920896668543
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"type": "QPointF",
|
|
||||||
"x": -949.5679059514944,
|
|
||||||
"y": 269.4686510059864
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -162,8 +162,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -157,8 +157,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -102,8 +102,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -112,8 +112,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
|
@ -157,8 +157,8 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
"x": -414.7876067251059,
|
"x": -415.23237001939634,
|
||||||
"y": 388.13579550460213
|
"y": 388.15813749078177
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "QPointF",
|
"type": "QPointF",
|
||||||
|
|
710
src/test/ValentinaTest/share/smart_pattern_#36/input.json
Normal file
710
src/test/ValentinaTest/share/smart_pattern_#36/input.json
Normal file
|
@ -0,0 +1,710 @@
|
||||||
|
{
|
||||||
|
"vector": [
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -188.23334010667102,
|
||||||
|
"y": 21597.251791493014
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -188.23334010667102,
|
||||||
|
"y": 21597.251791493014
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -190.1962009592845,
|
||||||
|
"y": 21592.613481716297
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -192.78179634632448,
|
||||||
|
"y": 21582.00375313917
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -193.25596410665446,
|
||||||
|
"y": 21571.14352592585
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -191.60490646516234,
|
||||||
|
"y": 21560.348821082735
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -189.88869289465669,
|
||||||
|
"y": 21555.097277526158
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -187.82776163364855,
|
||||||
|
"y": 21549.97120094815
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -182.15384264181108,
|
||||||
|
"y": 21540.64069789316
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -174.80978957281837,
|
||||||
|
"y": 21532.62607034666
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -168.31266532018316,
|
||||||
|
"y": 21527.712497791887
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -168.31266532018316,
|
||||||
|
"y": 21527.712497791887
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -128.74015748031496,
|
||||||
|
"y": 21501.488243584587
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -128.74015748031496,
|
||||||
|
"y": 21501.488243584587
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -120.33246606279232,
|
||||||
|
"y": 21514.123269165208
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -104.47337041123777,
|
||||||
|
"y": 21539.200423564977
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -89.75071568383099,
|
||||||
|
"y": 21564.146905965034
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -76.15216444052632,
|
||||||
|
"y": 21589.074720936558
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -63.665379241278075,
|
||||||
|
"y": 21614.095873050734
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -52.278022646040554,
|
||||||
|
"y": 21639.32236687874
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -41.977757214768076,
|
||||||
|
"y": 21664.866206991763
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -32.752245507414955,
|
||||||
|
"y": 21690.839397960975
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -28.582677165354333,
|
||||||
|
"y": 21704.04689134986
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -20.859019636473,
|
||||||
|
"y": 21729.356389467157
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -6.6559976186818295,
|
||||||
|
"y": 21779.91855500826
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 2.3491950393391323,
|
||||||
|
"y": 21817.84792880411
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 7.419848382114216,
|
||||||
|
"y": 21843.158072724742
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 11.54949295787923,
|
||||||
|
"y": 21868.501152615463
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 14.60610066081589,
|
||||||
|
"y": 21893.88879293631
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 15.63779527559055,
|
||||||
|
"y": 21906.60553911513
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 17.326926706217673,
|
||||||
|
"y": 21931.92814003164
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 19.578089601275515,
|
||||||
|
"y": 21982.58857656685
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 20.500199521052405,
|
||||||
|
"y": 22010.688342216938
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 20.500199521052405,
|
||||||
|
"y": 22010.688342216938
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 20.500199521052405,
|
||||||
|
"y": 22010.688342216938
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 21.970984779797938,
|
||||||
|
"y": 22058.568844072717
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 24.330708661417322,
|
||||||
|
"y": 22109.1641868804
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 25.629921259842504,
|
||||||
|
"y": 22134.484017851057
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 27.31299212598423,
|
||||||
|
"y": 22185.123679792378
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 28.818897637795267,
|
||||||
|
"y": 22261.083172704355
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 30,
|
||||||
|
"y": 22311.722834645672
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 30,
|
||||||
|
"y": 22311.722834645672
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 30,
|
||||||
|
"y": 22311.722834645672
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 28.81889763779528,
|
||||||
|
"y": 22362.36249658699
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 27.312992125984252,
|
||||||
|
"y": 22438.321989498967
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 25.629921259842515,
|
||||||
|
"y": 22488.961651440288
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 24.330708661417322,
|
||||||
|
"y": 22514.281482410945
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 21.970984779797945,
|
||||||
|
"y": 22564.876825218627
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 20.500199521052405,
|
||||||
|
"y": 22612.757327074407
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 20.500199521052405,
|
||||||
|
"y": 22612.757327074407
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 20.500199521052405,
|
||||||
|
"y": 22612.757327074407
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 19.578089601275533,
|
||||||
|
"y": 22640.857092724495
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 17.32692670621769,
|
||||||
|
"y": 22691.517529259705
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 15.63779527559055,
|
||||||
|
"y": 22716.840130176213
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 14.606100660815876,
|
||||||
|
"y": 22729.556876355033
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 11.549492957879199,
|
||||||
|
"y": 22754.94451667588
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 7.419848382114184,
|
||||||
|
"y": 22780.287596566603
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": 2.3491950393391043,
|
||||||
|
"y": 22805.597740487236
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -6.655997618681845,
|
||||||
|
"y": 22843.527114283086
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -20.859019636473,
|
||||||
|
"y": 22894.089279824188
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -28.582677165354333,
|
||||||
|
"y": 22919.398777941486
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -32.75224550741497,
|
||||||
|
"y": 22932.60627133037
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -41.97775721476809,
|
||||||
|
"y": 22958.57946229958
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -52.27802264604057,
|
||||||
|
"y": 22984.123302412605
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -63.66537924127808,
|
||||||
|
"y": 23009.34979624061
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -76.15216444052632,
|
||||||
|
"y": 23034.370948354786
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -89.75071568383099,
|
||||||
|
"y": 23059.29876332631
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -104.47337041123777,
|
||||||
|
"y": 23084.245245726368
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -120.33246606279229,
|
||||||
|
"y": 23109.322400126137
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -128.74015748031496,
|
||||||
|
"y": 23121.957425706758
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -128.74015748031496,
|
||||||
|
"y": 23121.957425706758
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -168.31266532018316,
|
||||||
|
"y": 23095.733171499458
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -168.31266532018316,
|
||||||
|
"y": 23095.733171499458
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -171.93283235584602,
|
||||||
|
"y": 23093.234403464365
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -179.8307780091592,
|
||||||
|
"y": 23085.69291167279
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -186.08553237448535,
|
||||||
|
"y": 23076.802050183687
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -190.51508878378908,
|
||||||
|
"y": 23066.82053356537
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -191.90111533958498,
|
||||||
|
"y": 23061.472353582154
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -192.9291728004844,
|
||||||
|
"y": 23056.043983973945
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -193.18122374328198,
|
||||||
|
"y": 23045.12665305894
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -191.3172145200989,
|
||||||
|
"y": 23034.417085382996
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -188.23334010667102,
|
||||||
|
"y": 23026.19387779833
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -188.23334010667102,
|
||||||
|
"y": 23026.19387779833
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -188.23334010667102,
|
||||||
|
"y": 23026.19387779833
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -174.98561803383961,
|
||||||
|
"y": 22997.75607286171
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -153.44798018734235,
|
||||||
|
"y": 22947.63768649724
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -138.25149685012127,
|
||||||
|
"y": 22905.438343816088
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -130.36074869016556,
|
||||||
|
"y": 22879.905308764373
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -124.41592709594758,
|
||||||
|
"y": 22859.97405523269
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -112.95809590602803,
|
||||||
|
"y": 22818.998769537815
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -103.03301701424698,
|
||||||
|
"y": 22776.40775012916
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -97.38277143573882,
|
||||||
|
"y": 22743.14921078075
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -94.62664819253418,
|
||||||
|
"y": 22720.34981812865
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -93.66658986354132,
|
||||||
|
"y": 22708.71041822326
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -90.28950709466001,
|
||||||
|
"y": 22661.23204514134
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -86.63178802205015,
|
||||||
|
"y": 22586.936959736497
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -85.34331850360309,
|
||||||
|
"y": 22536.532014248543
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -85.22040001399614,
|
||||||
|
"y": 22511.20691337363
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -85.09747605487335,
|
||||||
|
"y": 22485.854069677924
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -83.94175824927609,
|
||||||
|
"y": 22435.343800520066
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -81.21332413858126,
|
||||||
|
"y": 22360.427969273227
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -79.60629921259843,
|
||||||
|
"y": 22311.722834645672
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -79.60629921259843,
|
||||||
|
"y": 22311.722834645672
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -79.60629921259843,
|
||||||
|
"y": 22311.722834645672
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -81.21332413858124,
|
||||||
|
"y": 22263.017700018117
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -83.94175824927609,
|
||||||
|
"y": 22188.10186877128
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -85.09747605487335,
|
||||||
|
"y": 22137.59159961342
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -85.22040001399614,
|
||||||
|
"y": 22112.238755917715
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -85.34331850360307,
|
||||||
|
"y": 22086.9136550428
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -86.63178802205015,
|
||||||
|
"y": 22036.508709554848
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -90.28950709466001,
|
||||||
|
"y": 21962.213624150005
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -93.66658986354132,
|
||||||
|
"y": 21914.735251068083
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -94.62664819253415,
|
||||||
|
"y": 21903.095851162696
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -97.38277143573879,
|
||||||
|
"y": 21880.296458510595
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -103.03301701424697,
|
||||||
|
"y": 21847.037919162183
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -112.95809590602803,
|
||||||
|
"y": 21804.44689975353
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -124.41592709594758,
|
||||||
|
"y": 21763.471614058653
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -130.36074869016556,
|
||||||
|
"y": 21743.54036052697
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -138.2514968501212,
|
||||||
|
"y": 21718.007325475257
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -153.4479801873423,
|
||||||
|
"y": 21675.807982794104
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"angle": 6,
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -174.98561803383961,
|
||||||
|
"y": 21625.689596429635
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "VSAPoint",
|
||||||
|
"x": -188.23334010667102,
|
||||||
|
"y": 21597.251791493014
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
459
src/test/ValentinaTest/share/smart_pattern_#36/output.json
Normal file
459
src/test/ValentinaTest/share/smart_pattern_#36/output.json
Normal file
|
@ -0,0 +1,459 @@
|
||||||
|
{
|
||||||
|
"vector": [
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -218.88332702810496,
|
||||||
|
"y": 21602.601187587297
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -222.85996685366638,
|
||||||
|
"y": 21586.28344916246
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -223.5926781800107,
|
||||||
|
"y": 21569.501600729036
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -221.11763913635318,
|
||||||
|
"y": 21553.31966057138
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -218.31711709775252,
|
||||||
|
"y": 21544.750177309146
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -214.95408378080705,
|
||||||
|
"y": 21536.38543140849
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -206.44852305285053,
|
||||||
|
"y": 21522.39842164138
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -195.24307496050506,
|
||||||
|
"y": 21510.16982087991
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -185.01522722202466,
|
||||||
|
"y": 21502.508262941858
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -120.2863407065389,
|
||||||
|
"y": 21459.613160579218
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -94.77769419281123,
|
||||||
|
"y": 21497.96212245061
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -78.43377590118915,
|
||||||
|
"y": 21523.83264733643
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -63.20717048632591,
|
||||||
|
"y": 21549.666946130616
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -49.09778488238641,
|
||||||
|
"y": 21575.57325526863
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -36.10682445695674,
|
||||||
|
"y": 21601.655813297744
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -24.23582343635048,
|
||||||
|
"y": 21628.0146663193
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -13.48549246436568,
|
||||||
|
"y": 21654.745936350544
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -3.9187457009163325,
|
||||||
|
"y": 21681.736743547735
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 8.250543876860249,
|
||||||
|
"y": 21721.17944990996
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 22.762455328454042,
|
||||||
|
"y": 21772.9340253423
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 31.996304179796386,
|
||||||
|
"y": 21811.90840457464
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 37.262465441143874,
|
||||||
|
"y": 21838.295230394753
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 41.568922145354556,
|
||||||
|
"y": 21864.886889244302
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 44.74330398553326,
|
||||||
|
"y": 21891.4437971853
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 45.774998600307924,
|
||||||
|
"y": 21904.16054336412
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 47.53333931071059,
|
||||||
|
"y": 21930.58587849783
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 49.78450220576843,
|
||||||
|
"y": 21981.24631503304
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 52.18502491930136,
|
||||||
|
"y": 22057.388558001505
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 55.849455392117505,
|
||||||
|
"y": 22133.479634813404
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 57.53252625825923,
|
||||||
|
"y": 22184.119296754725
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 60.22799967698306,
|
||||||
|
"y": 22312.42786229501
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 57.54327240149289,
|
||||||
|
"y": 22438.921308214038
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 55.826415279887826,
|
||||||
|
"y": 22490.511095648795
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 52.185024919301355,
|
||||||
|
"y": 22566.05711128984
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 49.799326331206146,
|
||||||
|
"y": 22641.80886946914
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 47.49610294540294,
|
||||||
|
"y": 22693.52994907348
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 45.806971514775746,
|
||||||
|
"y": 22718.852549989988
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 44.62552984829121,
|
||||||
|
"y": 22733.171139726193
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 41.39211001690886,
|
||||||
|
"y": 22759.80735900587
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 37.06695752257143,
|
||||||
|
"y": 22786.227120796073
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 31.767647986474977,
|
||||||
|
"y": 22812.582270153194
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 22.45356589465143,
|
||||||
|
"y": 22851.704053840283
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": 8.060564966120161,
|
||||||
|
"y": 22902.91462145334
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -4.259980757012681,
|
||||||
|
"y": 22942.726541971588
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -13.935558005078015,
|
||||||
|
"y": 22969.88716285902
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -24.71946786171923,
|
||||||
|
"y": 22996.563362165594
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -36.61099968313795,
|
||||||
|
"y": 23022.851261908538
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -49.60861924302124,
|
||||||
|
"y": 23048.850908189204
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -63.711121173782374,
|
||||||
|
"y": 23074.66653955486
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -78.91859854125667,
|
||||||
|
"y": 23100.406392440964
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -95.16002058668974,
|
||||||
|
"y": 23126.07283347006
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -120.31315520567594,
|
||||||
|
"y": 23163.87280537214
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -190.8903779085056,
|
||||||
|
"y": 23116.939126378154
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -202.85525414075397,
|
||||||
|
"y": 23105.514254664224
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -212.52046074145298,
|
||||||
|
"y": 23091.775583546016
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -219.16064384809474,
|
||||||
|
"y": 23076.8126635822
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -221.42236580526438,
|
||||||
|
"y": 23068.085488732377
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -223.09995280587424,
|
||||||
|
"y": 23059.227460231446
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -223.47779299069944,
|
||||||
|
"y": 23042.861695894528
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -220.620815347658,
|
||||||
|
"y": 23026.447080003007
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -216.13435317554772,
|
||||||
|
"y": 23014.48384648047
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -202.58580499399324,
|
||||||
|
"y": 22985.400282661478
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -181.58729260253205,
|
||||||
|
"y": 22936.536448817904
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -166.93463706180071,
|
||||||
|
"y": 22895.847269707778
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -159.24892241489266,
|
||||||
|
"y": 22870.977686051203
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -153.4650960199354,
|
||||||
|
"y": 22851.581055284918
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -142.25531333403683,
|
||||||
|
"y": 22811.492836099398
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -132.6884639750548,
|
||||||
|
"y": 22770.439070061784
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -127.31338834414937,
|
||||||
|
"y": 22738.800239167223
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -124.71329691485195,
|
||||||
|
"y": 22717.29158364027
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -120.47293131191586,
|
||||||
|
"y": 22659.41580578265
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -116.84900303375213,
|
||||||
|
"y": 22585.80707433486
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -115.57766364654971,
|
||||||
|
"y": 22536.072259819528
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -115.32578480080944,
|
||||||
|
"y": 22485.162420331548
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -114.17006699521218,
|
||||||
|
"y": 22434.65215117369
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -109.85897382113086,
|
||||||
|
"y": 22311.722834645672
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -114.15794574601546,
|
||||||
|
"y": 22189.202342133005
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -115.33334113373941,
|
||||||
|
"y": 22137.738199035874
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -115.5776636465497,
|
||||||
|
"y": 22087.373409471817
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -116.84900303375211,
|
||||||
|
"y": 22037.638594956483
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -120.47293131191586,
|
||||||
|
"y": 21964.029863508695
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -124.71329691485192,
|
||||||
|
"y": 21906.154085651073
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -127.31338834414935,
|
||||||
|
"y": 21884.64543012412
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -132.68846397505476,
|
||||||
|
"y": 21853.00659922956
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -142.25531333403683,
|
||||||
|
"y": 21811.952833191946
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -153.4650960199354,
|
||||||
|
"y": 21771.864614006427
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -159.33558439851828,
|
||||||
|
"y": 21752.182578074156
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -166.9346370618007,
|
||||||
|
"y": 21727.598399583567
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -181.587292602532,
|
||||||
|
"y": 21686.90922047344
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -202.6152214315237,
|
||||||
|
"y": 21637.97693416576
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "QPointF",
|
||||||
|
"x": -218.88332702810496,
|
||||||
|
"y": 21602.601187587297
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
|
@ -115,5 +115,7 @@
|
||||||
<file>Issue_604/output.json</file>
|
<file>Issue_604/output.json</file>
|
||||||
<file>Issue_548_case1/input.json</file>
|
<file>Issue_548_case1/input.json</file>
|
||||||
<file>Issue_548_case1/output.json</file>
|
<file>Issue_548_case1/output.json</file>
|
||||||
|
<file>smart_pattern_#36/input.json</file>
|
||||||
|
<file>smart_pattern_#36/output.json</file>
|
||||||
</qresource>
|
</qresource>
|
||||||
</RCC>
|
</RCC>
|
||||||
|
|
|
@ -298,6 +298,12 @@ void TST_VAbstractPiece::EquidistantRemoveLoop_data()
|
||||||
QStringLiteral("://DP_6/input.json"),
|
QStringLiteral("://DP_6/input.json"),
|
||||||
QStringLiteral("://DP_6/output.json"),
|
QStringLiteral("://DP_6/output.json"),
|
||||||
37.795275590551185 /*seam allowance width (1.0 cm)*/);
|
37.795275590551185 /*seam allowance width (1.0 cm)*/);
|
||||||
|
|
||||||
|
// See file src/app/share/collection/bugs/smart_pattern_#36.val
|
||||||
|
ASSERT_TEST_CASE("Incorrect position of a notch",
|
||||||
|
QStringLiteral("://smart_pattern_#36/input.json"),
|
||||||
|
QStringLiteral("://smart_pattern_#36/output.json"),
|
||||||
|
30.236220472440944 /*seam allowance width (0.8 cm)*/);
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
|
Loading…
Reference in New Issue
Block a user