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 | |
17 | class 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 | |
22 | uses |
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 | |
32 | is |
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 | |
145 | end Edge; |