Reapply "Simplify Group::IsVisible(), GroupsInOrder()."
This reverts commit 1d1bdddef21baf1e312fcc65bb67e76c87b2b0fc, with a bugfix for pruning orphans when deleting a group in the middle of the sketch.pull/168/head
parent
04e86d9b36
commit
572fbc7463
|
@ -57,15 +57,10 @@ bool SolveSpaceUI::PruneOrphans() {
|
|||
bool SolveSpaceUI::GroupsInOrder(hGroup before, hGroup after) {
|
||||
if(before.v == 0) return true;
|
||||
if(after.v == 0) return true;
|
||||
|
||||
int beforep = -1, afterp = -1;
|
||||
int i;
|
||||
for(i = 0; i < SK.groupOrder.n; i++) {
|
||||
hGroup hg = SK.groupOrder.elem[i];
|
||||
if(hg.v == before.v) beforep = i;
|
||||
if(hg.v == after.v) afterp = i;
|
||||
}
|
||||
if(beforep < 0 || afterp < 0) return false;
|
||||
if(!GroupExists(before)) return false;
|
||||
if(!GroupExists(after)) return false;
|
||||
int beforep = SK.GetGroup(before)->order;
|
||||
int afterp = SK.GetGroup(after)->order;
|
||||
if(beforep >= afterp) return false;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -44,7 +44,8 @@ void Group::AddParam(IdList<Param,hParam> *param, hParam hp, double v) {
|
|||
|
||||
bool Group::IsVisible() {
|
||||
if(!visible) return false;
|
||||
if(SS.GroupsInOrder(SS.GW.activeGroup, h)) return false;
|
||||
Group *active = SK.GetGroup(SS.GW.activeGroup);
|
||||
if(order > active->order) return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue