0025068: ShapeAnalysis_FreeBounds::ConnectEdgesToWires returns wires with not valid...
[occt.git] / src / ShapeBuild / ShapeBuild_Edge.cdl
CommitLineData
b311480e 1-- Created on: 1998-06-09
2-- Created by: data exchange team
3-- Copyright (c) 1998-1999 Matra Datavision
973c2be1 4-- Copyright (c) 1999-2014 OPEN CASCADE SAS
b311480e 5--
973c2be1 6-- This file is part of Open CASCADE Technology software library.
b311480e 7--
d5f74e42 8-- This library is free software; you can redistribute it and/or modify it under
9-- the terms of the GNU Lesser General Public License version 2.1 as published
973c2be1 10-- by the Free Software Foundation, with special exception defined in the file
11-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
12-- distribution for complete text of the license and disclaimer of any warranty.
b311480e 13--
973c2be1 14-- Alternatively, this file may be used under the terms of Open CASCADE
15-- commercial license or contractual agreement.
7fd59977 16
17class Edge from ShapeBuild
18
19 ---Purpose: This class provides low-level operators for building an edge
20 -- 3d curve, copying edge with replaced vertices etc.
21
22uses
23 Trsf2d from gp,
24 Curve from Geom,
25 Surface from Geom,
26 Curve from Geom2d,
27 Location from TopLoc,
28 Vertex from TopoDS,
29 Face from TopoDS,
30 Edge from TopoDS
31
32is
33
34 CopyReplaceVertices (me; edge: Edge from TopoDS; V1, V2: Vertex from TopoDS)
35 returns Edge from TopoDS;
36 ---Purpose: Copy edge and replace one or both its vertices to a given
37 -- one(s). Vertex V1 replaces FORWARD vertex, and V2 - REVERSED,
38 -- as they are found by TopoDS_Iterator.
39 -- If V1 or V2 is NULL, the original vertex is taken
40
41 CopyRanges (me; toedge, fromedge: Edge from TopoDS;
42 alpha: Real = 0;
43 beta: Real = 1);
44 ---Purpose: Copies ranges for curve3d and all common pcurves from
45 -- edge <fromedge> into edge <toedge>.
46
47 SetRange3d (me; edge: Edge from TopoDS; first, last : Real);
48 ---Purpose: Sets range on 3d curve only.
49
50 CopyPCurves (me; toedge, fromedge: Edge from TopoDS);
51 ---Purpose: Makes a copy of pcurves from edge <fromedge> into edge
52 -- <toedge>. Pcurves which are already present in <toedge>,
53 -- are replaced by copies, other are copied. Ranges are also
54 -- copied.
55
56 Copy (me; edge: Edge from TopoDS; sharepcurves: Boolean = Standard_True)
57 returns Edge from TopoDS;
58 ---Purpose: Make a copy of <edge> by call to CopyReplaceVertices()
59 -- (i.e. construct new TEdge with the same pcurves and vertices).
60 -- If <sharepcurves> is False, pcurves are also replaced by
61 -- their copies with help of method CopyPCurves
62
63 RemovePCurve (me; edge: Edge from TopoDS; face: Face from TopoDS);
64 ---Purpose : Removes the PCurve(s) which could be recorded in an Edge for
65 -- the given Face
66
67 RemovePCurve (me; edge: Edge from TopoDS; surf: Surface from Geom);
68 ---Purpose : Removes the PCurve(s) which could be recorded in an Edge for
69 -- the given Surface
70
71 RemovePCurve (me; edge: Edge from TopoDS; surf: Surface from Geom;
72 loc: Location from TopLoc);
73 ---Purpose : Removes the PCurve(s) which could be recorded in an Edge for
74 -- the given Surface, with given Location
75
76 ReplacePCurve (me; edge: Edge from TopoDS; pcurve: Curve from Geom2d;
77 face: Face from TopoDS);
78 ---Purpose : Replace the PCurve in an Edge for the given Face
79 -- In case if edge is seam, i.e. has 2 pcurves on that face,
80 -- only pcurve corresponding to the orientation of the edge is
81 -- replaced
82
83 ReassignPCurve (me; edge: Edge from TopoDS;
84 old, sub: Face from TopoDS)
85 returns Boolean;
86 ---Purpose: Reassign edge pcurve lying on face <old> to another face <sub>.
87 -- If edge has two pcurves on <old> face, only one of them will be
88 -- reassigned, and other will left alone. Similarly, if edge already
89 -- had a pcurve on face <sub>, it will have two pcurves on it.
90 -- Returns True if succeeded, False if no pcurve lying on <old> found.
91
92 TransformPCurve(me; pcurve: Curve from Geom2d;
93 trans : Trsf2d from gp;
94 uFact : Real;
95 aFirst: in out Real;
96 aLast : in out Real)
97 returns Curve from Geom2d;
98 ---Purpose: Transforms the PCurve with given matrix and affinity U factor.
99
100 RemoveCurve3d (me; edge: Edge from TopoDS);
101 ---Purpose : Removes the Curve3D recorded in an Edge
102
103 BuildCurve3d (me; edge: Edge from TopoDS) returns Boolean;
104 ---Purpose: Calls BRepTools::BuildCurve3D
105 ---Returns: True if curve computed OK, False if any error occured
106
107
108 ---Extension of BRepAPI_MakeEdge
109
110 MakeEdge (me; edge : out Edge from TopoDS;
111 curve: Curve from Geom;
112 L : Location from TopLoc);
113 ---Purpose: Makes edge with curve and location
114
115 MakeEdge (me; edge : out Edge from TopoDS;
116 curve : Curve from Geom;
117 L : Location from TopLoc;
118 p1, p2: Real);
119 ---Purpose: Makes edge with curve, location and range [p1, p2]
120
121 MakeEdge (me; edge : out Edge from TopoDS;
122 pcurve: Curve from Geom2d;
123 face : Face from TopoDS) ;
124 ---Purpose: Makes edge with pcurve and face
125
126 MakeEdge (me; edge : out Edge from TopoDS;
127 pcurve: Curve from Geom2d;
128 face :Face from TopoDS;
129 p1, p2: Real) ;
130 ---Purpose: Makes edge with pcurve, face and range [p1, p2]
131
132 MakeEdge (me; edge : out Edge from TopoDS;
133 pcurve: Curve from Geom2d;
134 S : Surface from Geom;
135 L : Location from TopLoc) ;
136 ---Purpose: Makes edge with pcurve, surface and location
137
138 MakeEdge (me; edge : out Edge from TopoDS;
139 pcurve: Curve from Geom2d;
140 S : Surface from Geom;
141 L : Location from TopLoc;
142 p1, p2: Real) ;
143 ---Purpose: Makes edge with pcurve, surface, location and range [p1, p2]
144
145end Edge;