package oripa.paint.creasepattern.tool;
import java.util.Collection;
import oripa.value.OriLine;
public class LineTypeChanger {
//TODO use LineType instead of TypeForChange
/**
*
* @param l
* @param lines
* @param from
* @param to
*/
public void alterLineType(OriLine l, Collection<OriLine> lines,
TypeForChange from, TypeForChange to) {
if (from == TypeForChange.RIDGE && l.typeVal != OriLine.TYPE_RIDGE) {
return;
}
if (from == TypeForChange.VALLEY && l.typeVal != OriLine.TYPE_VALLEY) {
return;
}
switch (to) {
case RIDGE:
l.typeVal = OriLine.TYPE_RIDGE;
break;
case VALLEY:
l.typeVal = OriLine.TYPE_VALLEY;
break;
case AUX:
l.typeVal = OriLine.TYPE_NONE;
break;
case CUT:
l.typeVal = OriLine.TYPE_CUT;
break;
case DELETE:
ElementRemover remover = new ElementRemover();
remover.removeLine(l, lines);
break;
case FLIP:
if (l.typeVal == OriLine.TYPE_RIDGE) {
l.typeVal = OriLine.TYPE_VALLEY;
} else if (l.typeVal == OriLine.TYPE_VALLEY) {
l.typeVal = OriLine.TYPE_RIDGE;
}
break;
default:
break;
}
}
}