<> <> <> <> <> <> <> <<>> DIRECTORY CubicSplines, GGBasicTypes, GGInterfaceTypes, GGModelTypes, GGSegmentTypes, ImagerTransformation; GGSegment: CEDAR DEFINITIONS = BEGIN NotFound: SIGNAL; BitVector: TYPE = GGModelTypes.BitVector; Point: TYPE = GGBasicTypes.Point; Scene: TYPE = GGModelTypes.Scene; Segment: TYPE = GGSegmentTypes.Segment; SegmentClass: TYPE = GGSegmentTypes.SegmentClass; SelectionClass: TYPE = GGSegmentTypes.SelectionClass; DefaultData: TYPE = GGInterfaceTypes.DefaultData; Vector: TYPE = GGBasicTypes.Vector; ClassDef: TYPE = REF ClassDefRec; ClassDefRec: TYPE = RECORD[type: ATOM, class: SegmentClass]; <> MakeLine: PROC [p0, p1: Point, props: LIST OF REF ANY] RETURNS [seg: Segment]; <> MakeBezier: PROC [p0, p1, p2, p3: Point, props: LIST OF REF ANY] RETURNS [seg: Segment]; <> MakeConic: PROC [p0, p1, p2: Point, r: REAL, props: LIST OF REF ANY] RETURNS [seg: Segment]; <> <> <> <> <> MakeArc: PROC [p0, p1, p2: Point, props: LIST OF REF ANY] RETURNS [seg: Segment]; <> MakeCubicSpline: PROC [cps: CubicSplines.KnotSequence, type: CubicSplines.SplineType, props: LIST OF REF ANY] RETURNS [Segment]; <> <> SetDefaults: PROC [seg: Segment, defaults: DefaultData]; CopySegment: PROC [seg: Segment] RETURNS [copy: Segment]; CopyLooks: PROC [from: Segment, to: Segment]; SameLooks: PROC [seg1: Segment, seg2: Segment] RETURNS [BOOL]; UniformLooks: PROC [scene: Scene, selectClass: SelectionClass] RETURNS [seg: Segment]; <> ReverseSegment: PROC [seg: Segment]; OpenUpSegment: PROC [seg: Segment]; FetchSegmentClass: PROC [type: ATOM] RETURNS [class: SegmentClass]; <> <> RegisterSegmentClass: PROC [classDef: ClassDef]; TransformSegment: PROC [seg: Segment, transform: ImagerTransformation.Transformation]; TranslateSegment: PROC [seg: Segment, vector: Vector]; MoveEndPointSegment: PROC [seg: Segment, lo: BOOL, newPoint: Point]; <> <> <> CSControlPointAdd: PROC [seg: Segment, pos: Point] RETURNS [Segment]; <> CSControlPointDelete: PROC [seg: Segment, cpVec: BitVector] RETURNS [Segment]; <> <<>> <> <<>> NoOpTightBoxProc: GGSegmentTypes.TightBoxProc; NoOpControlPointMoved: GGSegmentTypes.ControlPointMovedProc; NoOpControlPointGet: GGSegmentTypes.ControlPointGetProc; NoOpControlPointCount: GGSegmentTypes.ControlPointCountProc; NoOpControlPointFieldSet: GGSegmentTypes.ControlPointFieldSetProc; NoOpControlPointFieldGet: GGSegmentTypes.ControlPointFieldGetProc; NoOpClosestControlPoint: GGSegmentTypes.ClosestControlPointProc; NoOpClosestPointAndTangent: GGSegmentTypes.ClosestPointAndTangentProc; NoOpLineIntersection: GGSegmentTypes.LineIntersectionProc; NoOpCircleIntersection: GGSegmentTypes.CircleIntersectionProc; NoOpAsSimpleCurve: GGSegmentTypes.AsSimpleCurveProc; NoOpAddJoint: GGSegmentTypes.AddJointProc; NoOpFileOut: GGSegmentTypes.FileOutProc; <> END.