The function bool removeSnapper(AbsMezzEngineEnvironment env, Space space) has been moved from subclass AbsMezzConstructionEngineEntry to base class AbsMezzEngineEntry.
public class AbsMezzEngineEntry { Added: extend public bool removeSnapper(AbsMezzEngineEnvironment env, Space space) { return false; } }
Removed deprecated methods.
public class AbsMezzStructureLinesGenerator { Removed: extend public bool shouldOnlyGenerateSecondary(AShape2D shape) { if (env.engineEntries.empty) return false; AShape2D sh = shape.toPolyline(); RectConcat rc(); for (e in env.engineEntries) if (e) rc << e.bound.transformed(-env.spaceTransform).rect; rect r = rc.bound; rect sb = sh.bound(); return sb.coveredBy(r); } Removed: final public void generateOuterLines(line[] res, AShape2D shape, angle dir, double extLength=0, double offset=0, double threshold=0) : inline { APolyline2D[] shapes = mezzToPolyline2D(shape); bool clockwise = shape.clockwise; for (sh in shapes) { if (first) clockwise = sh.clockwise; AShape2D osh = sh.mezzGrow(clockwise xor !sh.clockwise ? -offset : offset); AGeometry2D[] geos = osh.explode(); line2D refLn = line2D((0, 0), dir, 1); //bool outline = clockwise == sh.clockwise; for (ALine2D g in geos) { line2D ln = g.v; if (ln.isParallel(refLn)) { if (angle(ln.direction()) != dir) swap(ln.p0, ln.p1); if (accepts(res, ln, threshold)) res << line(ln, 0); } } } } }
The constant cAbsMezzTransverse has been renamed to cMezzTransverse.
The class MezzXDistanceSnapperFilter has been removed.
AbsMezzGate has a new property openRatio that is visible by default in quick properties that is meant to represent the degree to which the gate graphics is open. If you wish to utilize this property, you'll have to update your get3D methods to offset the graphics by openRatio. Otherwise hiding this property is also an option.