Fix bug with point on curve.
--HG-- branch : feature
This commit is contained in:
parent
e206ef3d5d
commit
8322c8d0ab
282
src/app/share/collection/bugs/pointOnCurve.val
Normal file
282
src/app/share/collection/bugs/pointOnCurve.val
Normal file
|
@ -0,0 +1,282 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<pattern>
|
||||||
|
<!--Valentina pattern format.-->
|
||||||
|
<version>0.4.0</version>
|
||||||
|
<unit>mm</unit>
|
||||||
|
<author/>
|
||||||
|
<description/>
|
||||||
|
<notes/>
|
||||||
|
<gradation defSize="300" defHeight="1100" custom="true">
|
||||||
|
<heights all="true"/>
|
||||||
|
<sizes all="true"/>
|
||||||
|
</gradation>
|
||||||
|
<measurements>../../../../../../../Valentina_0.5.x/build-Valentina-Qt_5_2_1_GCC_32bit-Debug/src/app/valentina/bin/tables/standard/GOST_man_ru.vst</measurements>
|
||||||
|
<increments>
|
||||||
|
<increment name="#Пс_впрз" description="Высота основания" formula="16.1"/>
|
||||||
|
<increment name="#Пк_впрз1" description="проймы сзади АГ" formula="14"/>
|
||||||
|
<increment name="#Пдтс1" description="Длина спинки" formula="13"/>
|
||||||
|
<increment name="#Пдтс2" description="до линии талии АТ" formula="20"/>
|
||||||
|
<increment name="#Пус_ди" description="Длина куртки АН" formula="-67"/>
|
||||||
|
<increment name="#Пс_шс" description="Ширина спинки ГГ2" formula="21"/>
|
||||||
|
<increment name="#Пк_шс1" description="Опис" formula="2"/>
|
||||||
|
<increment name="#Пк_шс2" description="Опис" formula="2"/>
|
||||||
|
<increment name="#Пшпр1" description="Ширина проймы Г2Г3" formula="46"/>
|
||||||
|
<increment name="#Пшпр2" description="Опис" formula="-24"/>
|
||||||
|
<increment name="#Пс_шг" description="Ширина полочки на" formula="42"/>
|
||||||
|
<increment name="#Пк_шг1" description="уровне линии груди" formula="4"/>
|
||||||
|
<increment name="#Пк_шг2" description="Г3Г4" formula="0"/>
|
||||||
|
<increment name="#Пс_шпт" description=" Ширина полочки на уровне линии талии Т3Т4" formula="19"/>
|
||||||
|
<increment name="#Пс_впрс" description="Высота проймы спинки" formula="42"/>
|
||||||
|
<increment name="#Пс_впр" description="Высота проймы полочки Г3П3" formula="28"/>
|
||||||
|
<increment name="#Пк_впр1" description="Опис" formula="8.5"/>
|
||||||
|
<increment name="#Пс_впрп" description="Высота горловины" formula="38"/>
|
||||||
|
<increment name="#Пк_впрп1" description="полочки Г5А4" formula="9"/>
|
||||||
|
<increment name="#Пшгс" description="Ширина горловины спинки А1А2" formula="30"/>
|
||||||
|
<increment name="#Пк_шп1" description="Длина плечевой линии" formula="3"/>
|
||||||
|
<increment name="#Пк_шп2" description="спинки А3П2" formula="-1"/>
|
||||||
|
<increment name="#Ппос_шп" description="Опис" formula="-2"/>
|
||||||
|
<increment name="#Пс_сб" description="Ширина куртки на линии бедер" formula="20"/>
|
||||||
|
<increment name="#Пдр1" description="Длина рукава АН" formula="82"/>
|
||||||
|
<increment name="#Пдр2" description="Опис" formula="20"/>
|
||||||
|
<increment name="#Пдр_лок1" description="Длина рукава до" formula="38"/>
|
||||||
|
<increment name="#Пдр_лок2" description="локтя АЛ" formula="-10"/>
|
||||||
|
<increment name="#Пшр" description="Ширина рукава с курточным окатом АА1 и ББ2" formula="42"/>
|
||||||
|
<increment name="#Ппос_ор" description="Прибавка на посадку по окату рукава" formula="34"/>
|
||||||
|
<increment name="#Пшр1" description="Description" formula="50"/>
|
||||||
|
<increment name="#Пшр2" description="Description" formula="62"/>
|
||||||
|
<increment name="#Швс" description="Description" formula="70"/>
|
||||||
|
<increment name="#Пвк" description="Висота капишона" formula="20"/>
|
||||||
|
<increment name="#Пшк" description="ширина капишона" formula="20"/>
|
||||||
|
</increments>
|
||||||
|
<draw name="Куртка">
|
||||||
|
<calculation>
|
||||||
|
<point type="single" x="16.3689" y="57.7733" id="33" name="А" mx="1.32292" my="2.64583"/>
|
||||||
|
<point type="endLine" typeLine="none" id="34" name="Г" basePoint="33" lineColor="black" mx="1.32292" angle="270" my="2.64583" length="0.2 * bust_arc_f + 0.07 * height + #Пс_впрз+10"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="35" name="У" firstPoint="33" secondPoint="34" lineColor="black" mx="1.32292" my="2.64583" length="0.5*Line_А_Г"/>
|
||||||
|
<point type="endLine" typeLine="none" id="36" name="Т" basePoint="33" lineColor="black" mx="1.32292" angle="270" my="2.64583" length="0.25 * height + #Пдтс2"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="37" name="Н" basePoint="33" lineColor="black" mx="1.32292" angle="270" my="2.64583" length="0.33 * height + 0.33 * indent_neck_back"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="38" name="Г2" basePoint="34" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="0.35 * bust_arc_f + 0.017 * height + #Пс_шс + #Пк_шс2"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="39" name="Г3" basePoint="38" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="0.3 * bust_arc_f + #Пшпр2"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="40" name="Г4" basePoint="39" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="0.35 * bust_arc_f + 0.01 * height + #Пс_шг + #Пк_шг2"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="41" name="А2" basePoint="33" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="0.35*neck_mid_circ + #Пшгс"/>
|
||||||
|
<point type="endLine" typeLine="none" id="42" name="Г5" basePoint="40" lineColor="black" mx="1.32292" angle="180" my="2.64583" length="Line_А_А2"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="43" name="А3" basePoint="41" lineColor="black" mx="1.32292" angle="90" my="2.64583" length="0.35*Line_А_А2"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="44" name="А20" basePoint="41" lineColor="black" mx="-2.08003" angle="135" my="6.61594" length="0.75*Line_А2_А3"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="45" name="П" basePoint="38" lineColor="black" mx="1.32292" angle="90" my="2.64583" length="0.2 * bust_arc_f + 0.05 * height + #Пс_впрс+10"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="46" name="П1" basePoint="35" lineColor="black" mx="28.6501" angle="0" my="-31.8727" length="Line_Г_Г2"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="47" name="П2" firstPoint="43" secondPoint="45" lineColor="black" mx="1.32292" my="2.64583" length="0.2 * bust_arc_f + 0.03 * height + #Пк_шп2 + #Ппос_шп"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="48" name="П20" firstPoint="43" secondPoint="45" lineColor="black" mx="1.32292" my="2.64583" length="50"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="49" name="П3" basePoint="39" lineColor="black" mx="1.32292" angle="90" my="2.64583" length="Line_Г2_П"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="50" name="А4" basePoint="42" lineColor="black" mx="1.32292" angle="90" my="2.64583" length="Line_А_Г+Line_А2_А3"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="51" name="П4" firstPoint="50" secondPoint="49" lineColor="black" mx="-1.00541" my="-11.3242" length="Line_А3_П2"/>
|
||||||
|
<point type="endLine" typeLine="none" id="52" name="П5" basePoint="39" lineColor="black" mx="8.59896" angle="90" my="-2.01084" length="Line_Г3_П3*0.4444"/>
|
||||||
|
<line typeLine="hair" id="53" firstPoint="51" secondPoint="52" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="54" name="П7" firstPoint="52" secondPoint="51" lineColor="black" mx="-9.23943" my="2.64583" length="0.5*Line_П4_П5"/>
|
||||||
|
<point type="normal" typeLine="hair" id="55" name="П8" firstPoint="54" secondPoint="52" lineColor="black" mx="2.61006" angle="0" my="-10.595" length="1"/>
|
||||||
|
<point type="endLine" typeLine="none" id="56" name="Г6" basePoint="34" lineColor="black" mx="5.48569" angle="0" my="4.79765" length="0.5*(Line_Г_Г2+Line_Г2_Г3+Line_Г3_Г4)"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="57" name="З" basePoint="38" lineColor="black" mx="-3.0442" angle="45" my="8.2607" length="0.24*Line_Г2_Г3"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="58" name="З3" basePoint="39" lineColor="black" mx="0.0751693" angle="135" my="8.88457" length="0.24*Line_Г2_Г3"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="59" name="А5" basePoint="50" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="Line_А_А2"/>
|
||||||
|
<line typeLine="hair" id="60" firstPoint="59" secondPoint="40" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="61" name="А6" firstPoint="59" secondPoint="40" lineColor="black" mx="22.4896" my="-8.99584" length="0.82*Line_А4_А5"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="62" name="А7" firstPoint="50" secondPoint="42" lineColor="black" mx="1.32292" my="2.64583" length="0.8*Line_А4_А5"/>
|
||||||
|
<line typeLine="hair" id="63" firstPoint="62" secondPoint="61" lineColor="black"/>
|
||||||
|
<point type="bisector" typeLine="hair" id="64" name="А51" thirdPoint="61" firstPoint="50" secondPoint="62" lineColor="black" mx="1.32292" my="2.64583" length="150"/>
|
||||||
|
<point type="lineIntersect" id="65" name="А50" p2Line1="59" p2Line2="64" p1Line1="50" p1Line2="62" mx="1.32292" my="2.64583"/>
|
||||||
|
<point type="pointOfContact" id="66" name="Ак" radius="Line_А4_А50" firstPoint="62" center="65" secondPoint="61" mx="1.32292" my="2.64583"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="67" name="Т3" basePoint="36" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="Line_Г_Г2+Line_Г2_Г3"/>
|
||||||
|
<line typeLine="hair" id="68" firstPoint="39" secondPoint="67" lineColor="black"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="69" name="Т4" basePoint="67" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="Line_Г3_Г4"/>
|
||||||
|
<line typeLine="hair" id="70" firstPoint="40" secondPoint="69" lineColor="black"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="71" name="Н3" basePoint="37" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="Line_Т3_Т4+Line_Т_Т3"/>
|
||||||
|
<line typeLine="hair" id="72" firstPoint="69" secondPoint="71" lineColor="black"/>
|
||||||
|
<point type="endLine" typeLine="none" id="73" name="Н5" basePoint="37" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="Line_Г_Г6"/>
|
||||||
|
<line typeLine="hair" id="74" firstPoint="56" secondPoint="73" lineColor="black"/>
|
||||||
|
<line typeLine="hair" id="75" firstPoint="65" secondPoint="66" lineColor="black"/>
|
||||||
|
<arc type="simple" angle1="180" angle2="AngleLine_А50_Ак" id="76" radius="Line_А4_А50" center="65" color="black"/>
|
||||||
|
<spline type="pathInteractive" id="77" color="black">
|
||||||
|
<pathPoint angle1="184.205" pSpline="33" angle2="4.20522" length1="0" length2="27.556"/>
|
||||||
|
<pathPoint angle1="215.751" pSpline="44" angle2="35.7515" length1="12.4503" length2="8.15772"/>
|
||||||
|
<pathPoint angle1="234.166" pSpline="43" angle2="54.166" length1="5.84299" length2="0"/>
|
||||||
|
</spline>
|
||||||
|
<spline type="pathInteractive" id="78" color="black">
|
||||||
|
<pathPoint angle1="80.258" pSpline="47" angle2="260.258" length1="0" length2="20.8645"/>
|
||||||
|
<pathPoint angle1="87.674" pSpline="46" angle2="267.674" length1="30.751" length2="50.1703"/>
|
||||||
|
<pathPoint angle1="120.24" pSpline="57" angle2="300.24" length1="11.5169" length2="12.8071"/>
|
||||||
|
<pathPoint angle1="184.589" pSpline="56" angle2="4.58891" length1="12.5947" length2="0"/>
|
||||||
|
</spline>
|
||||||
|
<point type="endLine" typeLine="hair" id="79" name="П5н" basePoint="52" lineColor="black" mx="-13.6151" angle="180" my="5.24991" length="1"/>
|
||||||
|
<spline type="pathInteractive" id="80" color="black">
|
||||||
|
<pathPoint angle1="101.835" pSpline="51" angle2="281.835" length1="0" length2="27.3441"/>
|
||||||
|
<pathPoint angle1="100.326" pSpline="55" angle2="280.326" length1="3.61809" length2="21.5186"/>
|
||||||
|
<pathPoint angle1="93.053" pSpline="79" angle2="273.053" length1="12.096" length2="38.3854"/>
|
||||||
|
<pathPoint angle1="56.906" pSpline="58" angle2="236.906" length1="13.1026" length2="8.79047"/>
|
||||||
|
<pathPoint angle1="355.114" pSpline="56" angle2="175.114" length1="9.58048" length2="0"/>
|
||||||
|
</spline>
|
||||||
|
<line typeLine="hair" id="81" firstPoint="43" secondPoint="50" lineColor="black"/>
|
||||||
|
<line typeLine="hair" id="82" firstPoint="47" secondPoint="51" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="83" name="П11" firstPoint="47" secondPoint="51" lineColor="black" mx="1.32292" my="2.64583" length="Line_П2_П4*0.5"/>
|
||||||
|
<point type="endLine" typeLine="none" id="86" name="Г81" basePoint="83" lineColor="black" mx="-23.9299" angle="270" my="11.8341" length="Line_А_Г"/>
|
||||||
|
<point type="lineIntersect" id="87" name="Г8" p2Line1="86" p2Line2="39" p1Line1="83" p1Line2="34" mx="-26.0772" my="7.75128"/>
|
||||||
|
<line typeLine="hair" id="88" firstPoint="87" secondPoint="83" lineColor="black"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="89" name="К2" basePoint="67" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="0.1*bust_arc_f"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="90" name="К3" basePoint="89" lineColor="black" mx="1.32292" angle="80" my="2.64583" length="50"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="91" name="К4" basePoint="89" lineColor="black" mx="1.32292" angle="260" my="2.64583" length="50"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="92" name="К5" basePoint="90" lineColor="black" mx="1.32292" angle="170" my="2.64583" length="15"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="93" name="К6" basePoint="91" lineColor="black" mx="1.32292" angle="170" my="2.64583" length="15"/>
|
||||||
|
<line typeLine="hair" id="94" firstPoint="92" secondPoint="93" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="95" name="А41" firstPoint="50" secondPoint="49" lineColor="black" mx="1.32292" my="2.64583" length="20"/>
|
||||||
|
<line typeLine="hair" id="96" firstPoint="73" secondPoint="71" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="97" name="Н31" firstPoint="73" secondPoint="71" lineColor="black" mx="1.32292" my="2.64583" length="Line_Н5_Н3-50"/>
|
||||||
|
<spline type="simpleInteractive" point4="97" angle1="286.103" angle2="92.0822" id="98" color="black" length1="160.559" length2="101.493" point1="95"/>
|
||||||
|
<point type="cutSplinePath" id="203" name="С1" splinePath="78" mx="23.5479" my="13.2292" length="SplPath_П2_Г6*0.5"/>
|
||||||
|
<point type="cutSplinePath" id="209" name="С3" splinePath="80" mx="18.0755" my="25.1094" length="SplPath_П4_Г6*0.5"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="286" name="Ф1" firstPoint="33" secondPoint="36" lineColor="black" mx="1.32292" my="2.64583" length="Line_А_Т*0.205"/>
|
||||||
|
<point type="cutSplinePath" id="287" name="Ф2" splinePath="78" mx="1.32292" my="2.64583" length="SplPath_П2_С1*0.67"/>
|
||||||
|
<line typeLine="hair" id="290" firstPoint="286" secondPoint="287" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="291" name="Ф3" firstPoint="69" secondPoint="59" lineColor="black" mx="1.32292" my="2.64583" length="Line_Ф1_Т"/>
|
||||||
|
<point type="cutSplinePath" id="292" name="Ф4" splinePath="80" mx="1.32292" my="2.64583" length="SplPath_П4_С3*0.67"/>
|
||||||
|
<line typeLine="hair" id="295" firstPoint="292" secondPoint="291" lineColor="black"/>
|
||||||
|
</calculation>
|
||||||
|
<modeling>
|
||||||
|
<point type="modeling" inUse="true" id="296" idObject="33" mx="1.32292" my="2.64583"/>
|
||||||
|
<spline type="modelingPath" inUse="true" id="297" idObject="77"/>
|
||||||
|
<point type="modeling" inUse="true" id="298" idObject="43" mx="1.32292" my="2.64583"/>
|
||||||
|
<point type="modeling" inUse="true" id="299" idObject="47" mx="1.32292" my="2.64583"/>
|
||||||
|
<spline type="modelingPath" inUse="true" id="300" idObject="78"/>
|
||||||
|
<point type="modeling" inUse="true" id="301" idObject="287" mx="1.32292" my="2.64583"/>
|
||||||
|
<point type="modeling" inUse="true" id="302" idObject="286" mx="1.32292" my="2.64583"/>
|
||||||
|
</modeling>
|
||||||
|
<details>
|
||||||
|
<detail closed="0" id="303" name="Деталь" forbidFlipping="true" united="false" seamAllowance="true" width="7" mx="10.0402" inLayout="true" my="-26.0133" version="2">
|
||||||
|
<data rotation="0" letter="" fontSize="0" visible="true" mx="0" width="0" my="0" height="0"/>
|
||||||
|
<patternInfo rotation="0" fontSize="0" visible="true" mx="0" width="0" my="0" height="0"/>
|
||||||
|
<grainline arrows="0" rotation="90" visible="false" mx="0" my="0" length="0"/>
|
||||||
|
<nodes>
|
||||||
|
<node type="NodePoint" idObject="299"/>
|
||||||
|
<node type="NodeSplinePath" reverse="0" idObject="300"/>
|
||||||
|
<node type="NodePoint" idObject="301"/>
|
||||||
|
<node type="NodePoint" after="0" idObject="302"/>
|
||||||
|
<node before="0" type="NodePoint" idObject="296"/>
|
||||||
|
<node type="NodeSplinePath" reverse="0" idObject="297"/>
|
||||||
|
<node type="NodePoint" idObject="298"/>
|
||||||
|
</nodes>
|
||||||
|
</detail>
|
||||||
|
</details>
|
||||||
|
<groups/>
|
||||||
|
</draw>
|
||||||
|
<draw name="Рукав">
|
||||||
|
<calculation>
|
||||||
|
<point type="single" x="662.911" y="-31.3691" id="125" name="А" mx="1.32292" my="2.64583"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="126" name="Н" basePoint="125" lineColor="black" mx="1.32292" angle="270" my="2.64583" length="0.33*height+0.15*bust_arc_f-50"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="127" name="Б" firstPoint="125" secondPoint="126" lineColor="black" mx="1.32292" my="2.64583" length="0.3792*Line_Г8_П11"/>
|
||||||
|
<point type="endLine" typeLine="none" id="128" name="Б1" basePoint="127" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="Line_Г2_Г3+#Пшр1"/>
|
||||||
|
<point type="endLine" typeLine="none" id="129" name="Б4" basePoint="127" lineColor="black" mx="1.32292" angle="180" my="2.64583" length="Line_Г2_Г3+#Пшр1"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="130" name="Н1" basePoint="126" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="0.6*Line_Б_Б1+38"/>
|
||||||
|
<line typeLine="hair" id="131" firstPoint="128" secondPoint="130" lineColor="black"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="132" name="Н2" basePoint="126" lineColor="black" mx="1.32292" angle="180" my="2.64583" length="0.6*Line_Б_Б1+38"/>
|
||||||
|
<line typeLine="hair" id="133" firstPoint="129" secondPoint="132" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="138" name="Б2" firstPoint="127" secondPoint="128" lineColor="black" mx="1.32292" my="2.64583" length="((0.5 * (SplPath_П2_Г6+SplPath_П4_Г6) +3)^2 - Line_А_Б^2)^0.5"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="139" name="Б3" firstPoint="127" secondPoint="129" lineColor="black" mx="1.32292" my="2.64583" length="((0.5 * (SplPath_П2_Г6+SplPath_П4_Г6) -8)^2 - Line_А_Б^2)^0.5"/>
|
||||||
|
<line typeLine="hair" id="140" firstPoint="125" secondPoint="138" lineColor="black"/>
|
||||||
|
<line typeLine="hair" id="141" firstPoint="125" secondPoint="139" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="142" name="А1" firstPoint="125" secondPoint="138" lineColor="black" mx="19.0616" my="-50.5702" length="Line_А_Б2*0.5"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="143" name="А2" firstPoint="125" secondPoint="142" lineColor="black" mx="0.130208" my="6.82032" length="Line_А_А1*0.5"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="144" name="А3" firstPoint="142" secondPoint="138" lineColor="black" mx="5.9633" my="-10.2441" length="Line_А1_Б2*0.5"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="145" name="А1з" firstPoint="125" secondPoint="139" lineColor="black" mx="-4.43017" my="-60.6381" length="Line_А_Б3*0.5"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="146" name="А2з" firstPoint="125" secondPoint="145" lineColor="black" mx="4.33266" my="4.97457" length="Line_А_А1з*0.5"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="147" name="А3з" firstPoint="145" secondPoint="139" lineColor="black" mx="-2.80186" my="-13.3377" length="Line_А1з_Б3*0.5"/>
|
||||||
|
<point type="normal" typeLine="hair" id="148" name="А4" firstPoint="143" secondPoint="138" lineColor="black" mx="1.89007" angle="0" my="-12.1003" length="0.10*Line_А_Б"/>
|
||||||
|
<point type="normal" typeLine="hair" id="149" name="А4з" firstPoint="146" secondPoint="125" lineColor="black" mx="-15.3305" angle="0" my="-20.8475" length="0.10*Line_А_Б"/>
|
||||||
|
<point type="normal" typeLine="hair" id="150" name="А5" firstPoint="144" secondPoint="125" lineColor="black" mx="-5.89299" angle="0" my="6.80045" length="Line_А2_А4"/>
|
||||||
|
<point type="normal" typeLine="hair" id="151" name="А5з" firstPoint="147" secondPoint="139" lineColor="black" mx="2.85356" angle="0" my="5.92579" length="Line_А2з_А4з"/>
|
||||||
|
<line typeLine="hair" id="152" firstPoint="148" secondPoint="150" lineColor="black"/>
|
||||||
|
<line typeLine="hair" id="153" firstPoint="149" secondPoint="151" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="154" name="О" firstPoint="148" secondPoint="143" lineColor="black" mx="-9.59601" my="-2.49453" length="Line_А2_А4*0.25"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="155" name="Оз" firstPoint="149" secondPoint="146" lineColor="black" mx="5.23899" my="-5.3851" length="Line_А2з_А4з*0.25"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="156" name="О1" firstPoint="150" secondPoint="144" lineColor="black" mx="8.1015" my="5.05114" length="Line_А4_О"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="157" name="О1з" firstPoint="151" secondPoint="147" lineColor="black" mx="-14.4209" my="2.20851" length="Line_А4з_Оз"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="158" name="О2" firstPoint="142" secondPoint="148" lineColor="black" mx="6.04115" my="-33.125" length="Line_А4_А5*0.25"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="159" name="О2з" firstPoint="145" secondPoint="149" lineColor="black" mx="8.66898" my="14.5691" length="Line_А4з_А5з*0.25"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="160" name="А6" firstPoint="144" secondPoint="150" lineColor="black" mx="9.12091" my="2.93381" length="Line_А3_А5*0.5"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="161" name="А6з" firstPoint="147" secondPoint="151" lineColor="black" mx="-12.8902" my="-0.415461" length="Line_А3з_А5з*0.5"/>
|
||||||
|
<point type="lineIntersect" id="162" name="О3" p2Line1="158" p2Line2="138" p1Line1="160" p1Line2="125" mx="5.68854" my="-6.37646"/>
|
||||||
|
<point type="lineIntersect" id="163" name="О3з" p2Line1="159" p2Line2="139" p1Line1="161" p1Line2="125" mx="-22.6642" my="-26.58"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="164" name="О4" firstPoint="160" secondPoint="144" lineColor="black" mx="13.8377" my="-4.63021" length="Line_А3_А6*0.25"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="165" name="О4з" firstPoint="161" secondPoint="147" lineColor="black" mx="7.08554" my="-5.9981" length="Line_А3з_А6з*0.25"/>
|
||||||
|
<spline type="pathInteractive" id="166" color="black">
|
||||||
|
<pathPoint angle1="179.998" pSpline="125" angle2="359.998" length1="0" length2="12.3634"/>
|
||||||
|
<pathPoint angle1="153.959" pSpline="154" angle2="333.959" length1="14.6138" length2="5.85177"/>
|
||||||
|
<pathPoint angle1="153.373" pSpline="158" angle2="333.373" length1="5.10362" length2="9.46745"/>
|
||||||
|
<pathPoint angle1="152.532" pSpline="142" angle2="332.532" length1="5.90789" length2="19.9914"/>
|
||||||
|
<pathPoint angle1="158.016" pSpline="156" angle2="338.016" length1="13.1046" length2="12.3332"/>
|
||||||
|
<pathPoint angle1="173.032" pSpline="138" angle2="353.032" length1="17.7872" length2="0"/>
|
||||||
|
</spline>
|
||||||
|
<spline type="pathInteractive" id="167" color="black">
|
||||||
|
<pathPoint angle1="1.148" pSpline="125" angle2="181.148" length1="0" length2="9.88634"/>
|
||||||
|
<pathPoint angle1="24.198" pSpline="155" angle2="204.198" length1="17.7795" length2="4.99338"/>
|
||||||
|
<pathPoint angle1="27.376" pSpline="159" angle2="207.376" length1="8.73578" length2="7.35637"/>
|
||||||
|
<pathPoint angle1="26.864" pSpline="163" angle2="206.864" length1="13.129" length2="8.98105"/>
|
||||||
|
<pathPoint angle1="25.87" pSpline="165" angle2="205.87" length1="13.1037" length2="6.12142"/>
|
||||||
|
<pathPoint angle1="9.899" pSpline="139" angle2="189.899" length1="17.6503" length2="0"/>
|
||||||
|
</spline>
|
||||||
|
<spline type="simpleInteractive" point4="138" angle1="84.068" angle2="255.161" id="168" color="black" length1="135.76" length2="82.0371" point1="130"/>
|
||||||
|
<spline type="simpleInteractive" point4="139" angle1="98.0171" angle2="286.671" id="169" color="black" length1="175.212" length2="76.4262" point1="132"/>
|
||||||
|
</calculation>
|
||||||
|
<modeling/>
|
||||||
|
<details/>
|
||||||
|
</draw>
|
||||||
|
<draw name="Комір">
|
||||||
|
<calculation>
|
||||||
|
<point type="single" x="711.333" y="736.791" id="190" name="В" mx="1.32292" my="2.64583"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="192" name="В1" basePoint="190" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="SplPath_А_А3*2+(Arc_А50_76+Line_А6_Ак)*2"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="193" name="В2" basePoint="190" lineColor="black" mx="1.32292" angle="90" my="2.64583" length="#Швс"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="194" name="В3" basePoint="193" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="SplPath_А_А3*2+(Arc_А50_76+Line_А6_Ак)*2"/>
|
||||||
|
<line typeLine="hair" id="195" firstPoint="194" secondPoint="192" lineColor="black"/>
|
||||||
|
</calculation>
|
||||||
|
<modeling/>
|
||||||
|
<details/>
|
||||||
|
</draw>
|
||||||
|
<draw name="капишон">
|
||||||
|
<calculation>
|
||||||
|
<point type="single" x="-264.749" y="32.1467" id="224" name="А" mx="-8.83849" my="-20.0204"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="225" name="Б" basePoint="224" lineColor="black" mx="1.32292" angle="270" my="2.64583" length="1.33*(height-height_neck_back)+#Пвк"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="226" name="В" firstPoint="224" secondPoint="225" lineColor="black" mx="1.32292" my="2.64583" length="0.33*Line_А_Б"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="227" name="Д" firstPoint="225" secondPoint="226" lineColor="black" mx="1.32292" my="2.64583" length="0.25*(height-height_neck_back)"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="228" name="Г" basePoint="225" lineColor="black" mx="0.709236" angle="270" my="2.03215" length="0.33*Line_А5_А6"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="229" name="А1" basePoint="224" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="0.4*head_circ+#Пшк"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="230" name="А2" firstPoint="229" secondPoint="224" lineColor="black" mx="1.32292" my="2.64583" length="Line_А_В"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="231" name="В1" basePoint="226" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="Line_А_А1"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="232" name="В2" firstPoint="231" secondPoint="226" lineColor="black" mx="1.32292" my="2.64583" length="Line_А_В"/>
|
||||||
|
<line typeLine="hair" id="233" firstPoint="230" secondPoint="232" lineColor="black"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="235" name="Г1" basePoint="228" lineColor="black" mx="8.68713" angle="180" my="2.03215" length="0.6*Line_А4_А5"/>
|
||||||
|
<point type="alongLine" typeLine="hair" id="236" name="Г2" firstPoint="235" secondPoint="228" lineColor="black" mx="1.32292" my="2.64583" length="SplPath_А_А3+Arc_А50_76+Line_А6_Ак"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="237" name="Б1" basePoint="236" lineColor="black" mx="1.32292" angle="90" my="2.64583" length="Line_Б_Г"/>
|
||||||
|
<line typeLine="hair" id="238" firstPoint="225" secondPoint="237" lineColor="black"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="239" name="Д1" basePoint="227" lineColor="black" mx="1.32292" angle="0" my="2.64583" length="Line_Б_Б1+2"/>
|
||||||
|
<line typeLine="hair" id="240" firstPoint="239" secondPoint="237" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="243" name="А4" firstPoint="224" secondPoint="226" lineColor="black" mx="1.32292" my="2.64583" length="8"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="244" name="А3" firstPoint="224" secondPoint="230" lineColor="black" mx="1.32292" my="2.64583" length="0.65*Line_А2_А"/>
|
||||||
|
<line typeLine="hair" id="249" firstPoint="244" secondPoint="243" lineColor="black"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="250" name="А5" firstPoint="244" secondPoint="243" lineColor="black" mx="1.32292" my="2.64583" length="Line_А3_А4+10"/>
|
||||||
|
<point type="endLine" typeLine="hair" id="254" name="Л" basePoint="235" lineColor="black" mx="1.32292" angle="90" my="2.64583" length="50"/>
|
||||||
|
<point type="alongLine" typeLine="none" id="255" name="Л1" firstPoint="228" secondPoint="227" lineColor="black" mx="6.63051" my="0.750261" length="Line_Г1_Л"/>
|
||||||
|
<line typeLine="hair" id="256" firstPoint="254" secondPoint="255" lineColor="black"/>
|
||||||
|
<spline type="simpleInteractive" point4="237" angle1="358.736" angle2="178.86" id="258" color="black" length1="122.19" length2="106.948" point1="235"/>
|
||||||
|
<spline type="pathInteractive" id="261" color="black">
|
||||||
|
<pathPoint angle1="175.568" pSpline="230" angle2="355.568" length1="0" length2="79.6733"/>
|
||||||
|
<pathPoint angle1="81.86" pSpline="231" angle2="261.86" length1="54.8681" length2="104.96"/>
|
||||||
|
<pathPoint angle1="73.099" pSpline="237" angle2="253.099" length1="60.9341" length2="0"/>
|
||||||
|
</spline>
|
||||||
|
<spline type="pathInteractive" id="263" color="black">
|
||||||
|
<pathPoint angle1="96.992" pSpline="250" angle2="276.992" length1="0" length2="39.4593"/>
|
||||||
|
<pathPoint angle1="94.44" pSpline="226" angle2="274.44" length1="31.3315" length2="57.3187"/>
|
||||||
|
<pathPoint angle1="2.828" pSpline="254" angle2="182.828" length1="65.4653" length2="0"/>
|
||||||
|
</spline>
|
||||||
|
<spline type="simpleInteractive" point4="230" angle1="11.0159" angle2="176.295" id="275" color="black" length1="53.2682" length2="26.8703" point1="250"/>
|
||||||
|
</calculation>
|
||||||
|
<modeling/>
|
||||||
|
<details/>
|
||||||
|
<groups/>
|
||||||
|
</draw>
|
||||||
|
</pattern>
|
|
@ -237,10 +237,8 @@ bool VAbstractCurve::IsIntersectLine(const QLineF &line) const
|
||||||
}
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
bool VAbstractCurve::IsPointOnCurve(const QPointF &p) const
|
bool VAbstractCurve::IsPointOnCurve(const QVector<QPointF> &points, const QPointF &p)
|
||||||
{
|
{
|
||||||
const QVector<QPointF> points = GetPoints();
|
|
||||||
|
|
||||||
if (points.isEmpty())
|
if (points.isEmpty())
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -253,7 +251,7 @@ bool VAbstractCurve::IsPointOnCurve(const QPointF &p) const
|
||||||
{
|
{
|
||||||
for (qint32 i = 0; i < points.count()-1; ++i)
|
for (qint32 i = 0; i < points.count()-1; ++i)
|
||||||
{
|
{
|
||||||
if (IsPointOnLineSegment(p.toPoint(), points.at(i).toPoint(), points.at(i+1).toPoint()))
|
if (IsPointOnLineSegment(p, points.at(i), points.at(i+1)))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -263,6 +261,12 @@ bool VAbstractCurve::IsPointOnCurve(const QPointF &p) const
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
bool VAbstractCurve::IsPointOnCurve(const QPointF &p) const
|
||||||
|
{
|
||||||
|
return IsPointOnCurve(GetPoints(), p);
|
||||||
|
}
|
||||||
|
|
||||||
//---------------------------------------------------------------------------------------------------------------------
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
quint32 VAbstractCurve::GetDuplicate() const
|
quint32 VAbstractCurve::GetDuplicate() const
|
||||||
{
|
{
|
||||||
|
|
|
@ -70,6 +70,7 @@ public:
|
||||||
virtual QVector<QPointF> IntersectLine(const QLineF &line) const;
|
virtual QVector<QPointF> IntersectLine(const QLineF &line) const;
|
||||||
virtual bool IsIntersectLine(const QLineF &line) const;
|
virtual bool IsIntersectLine(const QLineF &line) const;
|
||||||
|
|
||||||
|
static bool IsPointOnCurve(const QVector<QPointF> &points, const QPointF &p);
|
||||||
bool IsPointOnCurve(const QPointF &p) const;
|
bool IsPointOnCurve(const QPointF &p) const;
|
||||||
|
|
||||||
virtual qreal GetStartAngle () const=0;
|
virtual qreal GetStartAngle () const=0;
|
||||||
|
|
|
@ -113,3 +113,76 @@ void TST_VAbstractCurve::GetSegmentPoints_issue458()
|
||||||
// Begin comparison
|
// Begin comparison
|
||||||
Comparison(points, origPoints);
|
Comparison(points, origPoints);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TST_VAbstractCurve::IsPointOnCurve_data() const
|
||||||
|
{
|
||||||
|
QTest::addColumn<QVector<QPointF>>("points");
|
||||||
|
QTest::addColumn<QPointF>("point");
|
||||||
|
QTest::addColumn<bool>("expectedResult");
|
||||||
|
|
||||||
|
|
||||||
|
QVector<QPointF> points;
|
||||||
|
points << QPointF(714.5704733515146, 229.44783247230293);
|
||||||
|
points << QPointF(713.2432059361518, 236.799577781511);
|
||||||
|
points << QPointF(709.8892587314249, 252.1363394689535);
|
||||||
|
points << QPointF(703.6056072956214, 276.4001729111941);
|
||||||
|
points << QPointF(687.7559494358588, 329.1513838344773);
|
||||||
|
points << QPointF(670.3756426535148, 387.2408887452223);
|
||||||
|
points << QPointF(662.3317449567428, 417.643760273044);
|
||||||
|
points << QPointF(657.4471488294345, 438.31881594794856);
|
||||||
|
points << QPointF(653.1084257285696, 459.2974181766972);
|
||||||
|
points << QPointF(649.4426552757304, 480.5376973511262);
|
||||||
|
points << QPointF(646.5769170924987, 501.9977838630714);
|
||||||
|
points << QPointF(644.6382908004568, 523.6358081043691);
|
||||||
|
points << QPointF(644.1029291338583, 534.5132598425197);
|
||||||
|
points << QPointF(644.1029291338583, 534.5132598425197);
|
||||||
|
points << QPointF(643.4592698551749, 551.9888717674471);
|
||||||
|
points << QPointF(642.9134698671897, 584.1776423714557);
|
||||||
|
points << QPointF(643.1914832622404, 613.2382010061506);
|
||||||
|
points << QPointF(644.2199668178571, 639.3780275889782);
|
||||||
|
points << QPointF(645.9255773115714, 662.8046020373845);
|
||||||
|
points << QPointF(648.2349715209137, 683.7254042688159);
|
||||||
|
points << QPointF(651.0748062234152, 702.3479142007185);
|
||||||
|
points << QPointF(654.3717381966065, 718.8796117505387);
|
||||||
|
points << QPointF(658.0524242180187, 733.5279768357226);
|
||||||
|
points << QPointF(662.0435210651824, 746.5004893737165);
|
||||||
|
points << QPointF(666.2716855156286, 758.0046292819667);
|
||||||
|
points << QPointF(670.6635743468883, 768.2478764779191);
|
||||||
|
points << QPointF(677.400406718071, 781.7952098705392);
|
||||||
|
points << QPointF(686.2864119958404, 797.2061069980141);
|
||||||
|
points << QPointF(690.4766621750516, 804.2970071162871);
|
||||||
|
points << QPointF(690.4766621750516, 804.2970071162871);
|
||||||
|
points << QPointF(692.7921674626707, 808.1521079045636);
|
||||||
|
points << QPointF(697.7183992280718, 815.2245015705212);
|
||||||
|
points << QPointF(702.9886930214004, 821.5595818277402);
|
||||||
|
points << QPointF(708.5917117312482, 827.1885221028615);
|
||||||
|
points << QPointF(714.5161182462067, 832.1424958225257);
|
||||||
|
points << QPointF(720.750575454867, 836.4526764133732);
|
||||||
|
points << QPointF(727.2837462458206, 840.1502373020446);
|
||||||
|
points << QPointF(734.1042935076591, 843.2663519151808);
|
||||||
|
points << QPointF(741.200880128974, 845.8321936794223);
|
||||||
|
points << QPointF(748.5621689983566, 847.8789360214096);
|
||||||
|
points << QPointF(756.1768230043983, 849.4377523677833);
|
||||||
|
points << QPointF(764.0335050356908, 850.5398161451842);
|
||||||
|
points << QPointF(772.1208779808252, 851.2163007802526);
|
||||||
|
points << QPointF(780.4276047283932, 851.4983796996295);
|
||||||
|
points << QPointF(793.250306920113, 851.2897382511853);
|
||||||
|
points << QPointF(802.0871811023624, 850.6707401574804);
|
||||||
|
|
||||||
|
QPointF point(652.5169278885382, 462.6106569368444);
|
||||||
|
|
||||||
|
// See file collection/bug/pointOnCurve.val
|
||||||
|
QTest::newRow("Point on curve") << points << point << true;
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------------------------------------------------
|
||||||
|
void TST_VAbstractCurve::IsPointOnCurve() const
|
||||||
|
{
|
||||||
|
QFETCH(QVector<QPointF>, points);
|
||||||
|
QFETCH(QPointF, point);
|
||||||
|
QFETCH(bool, expectedResult);
|
||||||
|
|
||||||
|
bool result = VAbstractCurve::IsPointOnCurve(points, point);
|
||||||
|
QCOMPARE(result, expectedResult);
|
||||||
|
}
|
||||||
|
|
|
@ -39,7 +39,8 @@ public:
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void GetSegmentPoints_issue458();
|
void GetSegmentPoints_issue458();
|
||||||
|
void IsPointOnCurve_data() const;
|
||||||
|
void IsPointOnCurve() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // TST_VABSTRACTCURVE_H
|
#endif // TST_VABSTRACTCURVE_H
|
||||||
|
|
Loading…
Reference in New Issue
Block a user