Rewrite equation for pt-on-circle to avoid negative diameter.
This commit is contained in:
parent
8fd11f4886
commit
43dc16262a
@ -425,8 +425,7 @@ void ConstraintBase::GenerateEquations(IdList<Equation,hEquation> *l,
|
||||
|
||||
Expr *r = circle->CircleGetRadiusExpr();
|
||||
|
||||
AddEq(l,
|
||||
((du->Square())->Plus(dv->Square()))->Minus(r->Square()), 0);
|
||||
AddEq(l, du->Square()->Plus(dv->Square())->Sqrt()->Minus(r), 0);
|
||||
return;
|
||||
}
|
||||
|
||||
|
BIN
test/constraint/pt_on_circle/negative_dia.slvs
Normal file
BIN
test/constraint/pt_on_circle/negative_dia.slvs
Normal file
Binary file not shown.
@ -15,3 +15,9 @@ TEST_CASE(normal_migrate_from_v22) {
|
||||
CHECK_LOAD("normal_v22.slvs");
|
||||
CHECK_SAVE("normal.slvs");
|
||||
}
|
||||
|
||||
TEST_CASE(negative_dia) {
|
||||
CHECK_LOAD("negative_dia.slvs");
|
||||
Entity *e = SK.GetEntity(hRequest { 4 }.entity(0));
|
||||
CHECK_TRUE(e->CircleGetRadiusNum() > 0);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user