<> <> DIRECTORY Rope, G3dRender; ShapeTwiddle: CEDAR DEFINITIONS ~ BEGIN <> Context: TYPE ~ G3dRender.Context; Shape: TYPE ~ G3dRender.Shape; NatPair: TYPE ~ RECORD [x, y: NAT]; <> ScaleShape: PROCEDURE [context: Context, name: Rope.ROPE, scale, xRatio, yRatio, zRatio: REAL _ 1.0, applyXfm: BOOLEAN _ FALSE]; <> ScaleTexture: PROCEDURE [ context: Context, name: Rope.ROPE, scale, xRatio, yRatio, zRatio: REAL _ 1.0]; <> <> <> CleanUp: PROC [context: Context, name: Rope.ROPE, deSeam: BOOLEAN _ FALSE, tolerance: REAL _ 0.0]; <> CopyShape: PROC [context: Context, dstName, srcName: Rope.ROPE] RETURNS[Shape]; <> Combine: PROC [context: Context, dstName, src1, src2: Rope.ROPE] RETURNS[Shape]; <> DeletePatches: PROC [context: Context, dstName, srcName: Rope.ROPE, patchList: LIST OF NatPair] RETURNS[Shape]; <> Bounds: PROC [context: Context, name: Rope.ROPE] RETURNS[xMin, xMax, yMin, yMax, zMin, zMax: REAL]; <> <> ShapeExpand: PROC[ context: Context, name: Rope.ROPE, limitType: ATOM _ NIL, limit: REAL _ 0.0] RETURNS [Shape]; <> ShapeSubdivide: PROC[ context: Context, name: Rope.ROPE, limitType: ATOM _ NIL, limit: REAL _ 0.0] RETURNS [Shape]; <> END.