blob: 5935035c50bdd9446aef8c378796ca3448dbb461 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
-- File: BRepPrim_Revolution.cdl
-- Created: Thu Nov 5 18:17:00 1992
-- Author: Remi LEQUETTE
-- <rle@phylox>
---Copyright: Matra Datavision 1992
class Revolution from BRepPrim inherits OneAxis from BRepPrim
---Purpose: Implement the OneAxis algoritm for a revolution
-- surface.
uses
Face from TopoDS,
Edge from TopoDS,
Curve from Geom,
Curve from Geom2d,
Ax2 from gp,
Pnt2d from gp
is
Create(A : Ax2 from gp;
VMin, VMax : Real from Standard;
M : Curve from Geom;
PM : Curve from Geom2d) returns Revolution from BRepPrim;
---Purpose: Create a revolution body <M> is the meridian nd
-- must be in the XZ plane of <A>. <PM> is the
-- meridian in the XZ plane.
Create(A : Ax2 from gp;
VMin, VMax : Real from Standard) returns Revolution from BRepPrim
---Purpose: Create a revolution body. The meridian is set
-- later. Reserved for derivated classes.
is protected;
Meridian(me : in out; M : Curve from Geom; PM : Curve from Geom2d)
is protected;
MakeEmptyLateralFace(me) returns Face from TopoDS
---Purpose: The surface normal should be directed towards the
-- outside.
is virtual;
MakeEmptyMeridianEdge(me; Ang : Real) returns Edge from TopoDS
---Purpose: Returns an edge with a 3D curve made from the
-- meridian in the XZ plane rotated by <Ang> around
-- the Z-axis. Ang may be 0 or myAngle.
is virtual;
MeridianValue(me; V : Real) returns Pnt2d from gp
---Purpose: Returns the meridian point at parameter <V> in the
-- plane XZ.
is virtual;
SetMeridianPCurve(me; E : in out Edge from TopoDS; F : Face from TopoDS)
---Purpose: Sets the parametric urve of the edge <E> in the
-- face <F> to be the 2d representation of the
-- meridian.
is virtual;
fields
myMeridian : Curve from Geom;
myPMeridian : Curve from Geom2d;
end Revolution;
|