-- File: Builder.cdl -- Created: Thu Mar 12 11:04:50 1992 -- Author: Philippe DAUTRY -- ---Copyright: Matra Datavision 1992 deferred generic class Builder from Primitives( TheShell as any; TheFace as any; TheWire as any; TheEdge as any; TheVertex as any) ---Purpose: This is a signature class describing services from -- the Topology Data Structure required by the -- Primitives algorithms. uses Pnt from gp, Lin from gp, Circ from gp, Pln from gp, Lin2d from gp, Circ2d from gp is MakeShell (me; S : out TheShell) ---Purpose: Make a empty Shell. is deferred; MakeFace (me; F : out TheFace; P : Pln from gp) ---Purpose: Returns in a Face built with the plane -- equation

. is deferred; MakeWire(me; W : out TheWire) ---Purpose: Returns in an empty Wire. is deferred; MakeDegeneratedEdge (me; E : out TheEdge) ---Purpose: Returns in a degenerated edge. is deferred; MakeEdge (me; E : out TheEdge; L : Lin from gp) ---Purpose: Returns in an Edge built with the line -- equation . is deferred; MakeEdge (me; E : out TheEdge; C : Circ from gp) ---Purpose: Returns in an Edge built with the circle -- equation . is deferred; SetPCurve(me; E : in out TheEdge; F : in TheFace; L : Lin2d from gp) ---Purpose: Sets the line to be the curve representing the -- edge in the parametric space of the surface of -- . is deferred; SetPCurve(me; E : in out TheEdge; F : in TheFace; L1,L2 : Lin2d from gp) ---Purpose: Sets the lines to be the curves -- representing the edge in the parametric space -- of the surface of . The surface is closed. is deferred; SetPCurve(me; E : in out TheEdge; F : in TheFace; C : Circ2d from gp) ---Purpose: Sets the circle to be the curve representing -- the edge in the parametric space of the -- surface of . is deferred; MakeVertex (me; V : out TheVertex; P : Pnt from gp) ---Purpose: Returns in a Vertex built with the point

. is deferred; ReverseFace(me; F : in out TheFace) ---Purpose: Change the orientation of the face. is deferred; AddEdgeVertex(me; E : in out TheEdge; V : in TheVertex; P : in Real; direct : Boolean) ---Purpose: Adds the Vertex in the Edge .

is the -- parameter of the vertex on the edge. If -- is False the Vertex is reversed. is deferred; AddEdgeVertex(me; E : in out TheEdge; V : in TheVertex; P1,P2 : in Real) ---Purpose: Adds the Vertex in the Edge . are -- the parameters of the vertex on the edge. The -- edge is a closed curve. is deferred; SetParameters(me; E : in out TheEdge; V : in TheVertex; P1,P2 : in Real) ---Purpose: are the parameters of the vertex on the -- edge. The edge is a closed curve. is deferred; AddWireEdge(me; W : in out TheWire; E : in TheEdge; direct : Boolean) ---Purpose: Adds the Edge in the Wire , if direct is -- False the Edge is reversed. is deferred; AddFaceWire(me; F : in out TheFace; W : in TheWire) ---Purpose: Adds the Wire in the Face . is deferred; AddShellFace(me; Sh : in out TheShell; F : in TheFace) ---Purpose: Adds the Face in the Shell . is deferred; CompleteEdge(me; E : in out TheEdge) ---Purpose: This is called once an edge is completed. It gives -- the opportunity to perform any post treatment. is deferred; CompleteWire(me; W : in out TheWire) ---Purpose: This is called once a wire is completed. It gives -- the opportunity to perform any post treatment. is deferred; CompleteFace(me; F : in out TheFace) ---Purpose: This is called once a face is completed. It gives -- the opportunity to perform any post treatment. is deferred; CompleteShell(me; S : in out TheShell) ---Purpose: This is called once a shell is completed. It gives -- the opportunity to perform any post treatment. is deferred; end Builder from Primitives;