b311480e |
1 | -- Created on: 1993-01-09 |
2 | -- Created by: CKY / Contract Toubro-Larsen (Anand NATRAJAN) |
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 NewDimensionedGeometry from IGESDimen inherits IGESEntity |
18 | |
19 | ---Purpose : defines New Dimensioned Geometry, Type <402>, Form <21> |
20 | -- in package IGESDimen |
21 | -- Links a dimension entity with the geometry entities it |
22 | -- is dimensioning, so that later, in the receiving |
23 | -- database, the dimension can be automatically recalculated |
24 | -- and redrawn should the geometry be changed. |
25 | |
26 | uses |
27 | |
28 | Pnt from gp, |
29 | XYZ from gp, |
30 | HArray1OfIGESEntity from IGESData, |
31 | HArray1OfXYZ from TColgp, |
32 | HArray1OfReal from TColStd, |
33 | HArray1OfInteger from TColStd |
34 | |
35 | raises DimensionMismatch, OutOfRange |
36 | |
37 | is |
38 | |
6e33d3ce |
39 | Create returns NewDimensionedGeometry; |
7fd59977 |
40 | |
41 | -- Specific Methods pertaining to the class |
42 | |
43 | Init (me : mutable; |
44 | nbDimens : Integer; |
45 | aDimen : IGESEntity; |
46 | anOrientation : Integer; |
47 | anAngle : Real; |
48 | allEntities : HArray1OfIGESEntity; |
49 | allLocations : HArray1OfInteger; |
50 | allPoints : HArray1OfXYZ) |
51 | raises DimensionMismatch; |
52 | ---Purpose : This method is used to set the fields of the class |
53 | -- NewDimensionedGeometry |
54 | -- - nbDimen : Number of Dimensions, default = 1 |
55 | -- - aDimen : Dimension Entity |
56 | -- - anOrientation : Dimension Orientation Flag |
57 | -- - anAngle : Angle Value |
58 | -- - allEntities : Geometric Entities |
59 | -- - allLocations : Dimension Location Flags |
60 | -- - allPoints : Points on the Geometry Entities |
61 | -- exception raised if lengths of entities, locations, points |
62 | -- are not the same |
63 | |
64 | NbDimensions (me) returns Integer; |
65 | ---Purpose : returns the number of dimensions |
66 | |
67 | NbGeometries (me) returns Integer; |
68 | ---Purpose : returns the number of associated geometry entities |
69 | |
70 | DimensionEntity (me) returns IGESEntity; |
71 | ---Purpose : returns the dimension entity |
72 | |
73 | DimensionOrientationFlag (me) returns Integer; |
74 | ---Purpose : returns the dimension orientation flag |
75 | |
76 | AngleValue (me) returns Real; |
77 | ---Purpose : returns the angle value |
78 | |
79 | GeometryEntity (me; Index : Integer) returns IGESEntity |
80 | raises OutOfRange; |
81 | ---Purpose : returns the Index'th geometry entity |
82 | -- raises exception if Index <= 0 or Index > NbGeometries() |
83 | |
84 | DimensionLocationFlag (me; Index : Integer) returns Integer |
85 | raises OutOfRange; |
86 | ---Purpose : returns the Index'th geometry entity's dimension location flag |
87 | -- raises exception if Index <= 0 or Index > NbGeometries() |
88 | |
89 | Point (me; Index : Integer) returns Pnt |
90 | raises OutOfRange; |
91 | ---Purpose : coordinate of point on Index'th geometry entity |
92 | -- raises exception if Index <= 0 or Index > NbGeometries() |
93 | |
94 | TransformedPoint (me; Index : Integer) returns Pnt |
95 | raises OutOfRange; |
96 | ---Purpose : coordinate of point on Index'th geometry entity after Transformation |
97 | -- raises exception if Index <= 0 or Index > NbGeometries() |
98 | |
99 | fields |
100 | |
101 | -- |
102 | -- Class : IGESDimen_NewDimensionedGeometry |
103 | -- |
104 | -- Purpose : Declaration of variables specific to the definition |
105 | -- of the Class NewDimensionedGeometry. |
106 | -- |
107 | -- Reminder : A NewDimensionedGeometry instance is defined by : |
108 | -- - Number of Dimensions, default = 1 |
109 | -- - Dimension Entity |
110 | -- - Dimension Orientation Flag |
111 | -- - Angle Value |
112 | -- - Geometric Entities |
113 | -- - Dimension Location Flags |
114 | -- - Points on the Geometry Entities |
115 | |
116 | theNbDimensions : Integer; |
117 | theDimensionEntity : IGESEntity; |
118 | theDimensionOrientationFlag : Integer; |
119 | theAngleValue : Real; |
120 | theGeometryEntities : HArray1OfIGESEntity; |
121 | theDimensionLocationFlags : HArray1OfInteger; |
122 | thePoints : HArray1OfXYZ; |
123 | |
124 | end NewDimensionedGeometry; |