0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / IGESDimen / IGESDimen_NewDimensionedGeometry.cdl
1 -- Created on: 1993-01-09
2 -- Created by: CKY / Contract Toubro-Larsen (Anand NATRAJAN)
3 -- Copyright (c) 1993-1999 Matra Datavision
4 -- Copyright (c) 1999-2014 OPEN CASCADE SAS
5 --
6 -- This file is part of Open CASCADE Technology software library.
7 --
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
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.
13 --
14 -- Alternatively, this file may be used under the terms of Open CASCADE
15 -- commercial license or contractual agreement.
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
39         Create returns NewDimensionedGeometry;
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;