srecord noeq G22MeshMapping(G22Mesh mesh1, G22Mesh mesh2) { delegate Anchor, Curve to G22Mesh. // For both maps: keys are from mesh1, values are from mesh2 new BijectiveMap anchorMap; new BijectiveMap curveMap; // A mapping is complete iff all anchors and curves from both // meshes are covered. bool isComplete() { ret allEq(l(anchorMap), l(mesh1.anchors()), l(mesh2.anchors()) allEq(l(curveMap), l(mesh1.curves(), l(mesh2.curves())); } // Make anchorMap from curveMap // Returns true iff this was successful // TODO /*bool makeAnchorMap() { for (curve1, curve2 : curveMap.forwardMap()) { for (anchor : curve1.anchors()) strictPut(anchorMap); }*/ }