b311480e |
1 | -- Created on: 1993-01-09 |
2 | -- Created by: CKY / Contract Toubro-Larsen ( SIVA ) |
3 | -- Copyright (c) 1993-1999 Matra Datavision |
973c2be1 |
4 | -- Copyright (c) 1999-2014 OPEN CASCADE SAS |
7fd59977 |
5 | -- |
973c2be1 |
6 | -- This file is part of Open CASCADE Technology software library. |
7fd59977 |
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. |
7fd59977 |
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 SectionedArea from IGESDimen inherits IGESEntity |
18 | |
19 | ---Purpose: defines IGES Sectioned Area, Type <230> Form <0>, |
20 | -- in package IGESDimen |
21 | -- A sectioned area is a portion of a design which is to be |
22 | -- filled with a pattern of lines. Ordinarily, this entity |
23 | -- is used to reveal or expose shape or material characteri- |
24 | -- stics defined by other entities. It consists of a pointer |
25 | -- to an exterior definition curve, a specification of the |
26 | -- pattern of lines, the coordinates of a point on a pattern |
27 | -- line, the distance between the pattern lines, the angle |
28 | -- between the pattern lines and the X-axis of definition |
29 | -- space, and the specification of any enclosed definition |
30 | -- curves (commonly known as islands). |
31 | |
32 | |
33 | uses |
34 | |
35 | Pnt from gp, |
36 | XYZ from gp, |
37 | HArray1OfIGESEntity from IGESData |
38 | |
39 | raises OutOfRange |
40 | |
41 | is |
42 | |
6e33d3ce |
43 | Create returns SectionedArea; |
7fd59977 |
44 | |
45 | -- --specific-- -- |
46 | Init(me : mutable; |
47 | aCurve : IGESEntity; |
48 | aPattern : Integer; |
49 | aPoint : XYZ; |
50 | aDistance : Real; |
51 | anAngle : Real; |
52 | someIslands : HArray1OfIGESEntity); |
53 | -- This method is used to set fields of the |
54 | -- class SectionedArea |
55 | -- - aCurve : The exterior definition curve (closed) |
56 | -- - aPattern : The fill pattern code |
57 | -- - aPoint : The passing point of the pattern lines |
58 | -- - aDistance : Normal distance between adjacent lines |
59 | -- - anAngle : Angle between XT axis to sectioning lines |
60 | -- (default Pi/4) |
61 | -- - someIslands : The interior definition curves |
62 | |
63 | SetInverted (me : mutable; mode : Boolean); |
64 | ---Purpose : Sets the cross hatches to be inverted or not, |
65 | -- according value of <mode> (corresponds to FormNumber) |
66 | |
67 | IsInverted (me) returns Boolean; |
68 | ---Purpose : Returns True if cross hatches as Inverted, else they are |
69 | -- Standard (Inverted : Form=1, Standard : Form=0) |
70 | |
71 | ExteriorCurve(me) returns IGESEntity; |
72 | ---Purpose : returns the exterior definition curve |
73 | |
74 | Pattern(me) returns Integer; |
75 | ---Purpose : returns fill pattern code |
76 | |
77 | PassingPoint(me) returns Pnt; |
78 | ---Purpose : returns point thru which line should pass |
79 | |
80 | TransformedPassingPoint(me) returns Pnt; |
81 | ---Purpose : returns point thru which line should pass after Transformation |
82 | |
83 | ZDepth(me) returns Real; |
84 | ---Purpose : returns the Z depth |
85 | |
86 | Distance(me) returns Real; |
87 | ---Purpose : returns the normal distance between lines |
88 | |
89 | Angle(me) returns Real; |
90 | ---Purpose : returns the angle of lines with XT axis |
91 | |
92 | NbIslands(me) returns Integer; |
93 | ---Purpose : returns the number of island curves |
94 | |
95 | IslandCurve(me; Index: Integer) returns IGESEntity |
96 | raises OutOfRange; |
97 | ---Purpose : returns the interior definition curves, returns Null Handle |
98 | -- exception raised if Index <= 0 or Index > NbIslands() |
99 | |
100 | fields |
101 | |
102 | -- |
103 | -- Class : IGESDimen_SectionedArea |
104 | -- |
105 | -- Purpose : Declaration of variables specific to the definition |
106 | -- of the Class SectionedArea. |
107 | -- |
108 | -- Reminder : A SectionedArea instance is defined by : |
109 | -- - An Exterior Curve |
110 | -- - An Integer representing the pattern |
111 | -- - The coordinates thru which a line should pass |
112 | -- - The Z-depth of the lines |
113 | -- - The normal distance between adjacent lines |
114 | -- - The angle in radians from XT-axis to section lines |
115 | -- - A Single Array of Interior Definition Curves |
116 | -- |
117 | |
118 | theExteriorCurve: IGESEntity; |
119 | thePattern : Integer; |
120 | thePassingPoint : XYZ; |
121 | theDistance : Real; |
122 | theAngle : Real; |
123 | theIslandCurves : HArray1OfIGESEntity; |
124 | |
125 | end SectionedArea; |