<> <> <> <> <> <<>> DIRECTORY GGModelTypes, GGSegmentTypes, GGInterfaceTypes, Rope; GGDescribe: CEDAR DEFINITIONS = BEGIN FeatureData: TYPE = GGInterfaceTypes.FeatureData; GargoyleData: TYPE = GGInterfaceTypes.GargoyleData; Outline: TYPE = GGModelTypes.Outline; Sequence: TYPE = GGModelTypes.Sequence; SliceDescriptor: TYPE = GGModelTypes.SliceDescriptor; TouchGroup: TYPE = GGSegmentTypes.TouchGroup; Traj: TYPE = GGModelTypes.Traj; DescribeFeature: PROC [feature: FeatureData, gargoyleData: GargoyleData] RETURNS [rope: Rope.ROPE]; DescribeSourceFeature: PROC [feature: FeatureData, gargoyleData: GargoyleData] RETURNS [rope: Rope.ROPE]; DescribeTraj: PROC [traj: Traj] RETURNS [text: Rope.ROPE]; DescribeJoint: PROC [traj: Traj, jointNum: NAT] RETURNS [text: Rope.ROPE]; DescribeControlPoint: PROC [traj: Traj, segNum: NAT, cpNum: NAT] RETURNS [text: Rope.ROPE]; DescribeSegment: PROC [traj: Traj, segNum: NAT] RETURNS [text: Rope.ROPE]; DescribeMidpoint: PROC [traj: Traj, segNum: NAT] RETURNS [text: Rope.ROPE]; DescribeSequence: PROC [seq: Sequence] RETURNS [text: Rope.ROPE]; DescribeTouchGroup: PROC [group: TouchGroup] RETURNS [text: Rope.ROPE]; END.