PipeControlPoint pcp = new PipeControlPoint(component);
pcp.setType(inst.type);
pcp.setFixed(inst.fixed);
+ pcp.setMod(inst.mod);
pcp.setRotate(inst.isRotate);
pcp.setReverse(inst.isReverse);
switch(inst.type) {
sub.parent = pcp;
sub.setType(inst.type);
sub.setFixed(inst.fixed);
+ sub.setMod(inst.mod);
sub.setSub(true);
sub.setDeletable(false);
if (inst.isOffset)
private static class Instruction {
PointType type;
boolean fixed;
+ boolean mod;
boolean isOffset;
boolean isSizeChange;
boolean isRotate;
i.isRotate = false;
i.isReverse = false;
i.type = PointType.INLINE;
+ i.mod = false;
if (graph.isInheritedFrom(res, p3d.Nozzle)) {
i.fixed = true;
i.isOffset = false;
i.fixed = false;
} else if (graph.hasStatement(res,p3d.FixedLengthInlineComponent)) {
i.fixed = true;
+ } else if (graph.hasStatement(res,p3d.AdjustableLengthInlineComponent)) {
+ i.fixed = true;
+ i.mod = true;
+ } else {
+ throw new DatabaseException("Inline component type " + res + " does not have length configuration.");
}
if (graph.hasStatement(res,p3d.SizeChangeComponent)) {
i.fixed = false;
} else if (graph.hasStatement(res,p3d.FixedAngleTurnComponent)) {
i.fixed = true;
+ } else {
+ throw new DatabaseException("Turn component type " + res + " does not have angle configuration.");
}
} else if (graph.isInheritedFrom(res, p3d.EndComponent)) {
i.fixed = false;