package oripa.paint.creasepattern.tool;
import java.util.Collection;
import java.util.LinkedList;
import oripa.paint.creasepattern.tool.LineAdder;
import oripa.value.LineType;
import oripa.value.OriLine;
import oripa.value.OriPoint;
/**
* a factory for creating simple test data
* @author Koji
*
*/
public class CreasePatternFactory {
/**
* creates a X shape composed by four lines.
* @param size
* @param center
* @return
*/
public Collection<OriLine> createCrossedLines(double size, OriPoint center){
LinkedList<OriLine> creasePattern = new LinkedList<>();
double partSize = size / 2;
OriLine slashLeftTop = new OriLine(
new OriPoint(center.x - partSize, center.y - partSize),
center,
LineType.RIDGE.toInt());
OriLine slashRightTop = new OriLine(
new OriPoint(center.x + partSize, center.y - partSize),
center,
LineType.RIDGE.toInt());
OriLine slashRightBottom = new OriLine(
new OriPoint(center.x + partSize, center.y + partSize),
center,
LineType.RIDGE.toInt());
OriLine slashLeftBottom = new OriLine(
new OriPoint(center.x - partSize, center.y + partSize),
center,
LineType.RIDGE.toInt());
LineAdder adder = new LineAdder();
adder.addLine(slashLeftTop, creasePattern);
adder.addLine(slashRightTop, creasePattern);
adder.addLine(slashRightBottom, creasePattern);
adder.addLine(slashLeftBottom, creasePattern);
return creasePattern;
}
}