0024830: Remove redundant keyword 'mutable' in CDL declarations
[occt.git] / src / IGESDimen / IGESDimen_LeaderArrow.cdl
1 -- Created on: 1993-01-13
2 -- Created by: CKY / Contract Toubro-Larsen ( Deepak PRABHU )
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 LeaderArrow from IGESDimen  inherits IGESEntity
18
19         ---Purpose: defines LeaderArrow, Type <214> Form <1-12>
20         --          in package IGESDimen
21         --          Consists of one or more line segments except when
22         --          leader is part of an angular dimension, with links to
23         --          presumed text item
24
25 uses
26
27         Pnt         from gp,
28         Pnt2d       from gp,
29         XYZ         from gp,
30         XY          from gp,
31         HArray1OfXY from TColgp
32
33 raises OutOfRange
34
35 is
36
37         Create returns LeaderArrow;
38
39         -- Specific Methods pertaining to the class
40
41         Init (me            : mutable;
42               height, width : Real;
43               depth         : Real;
44               position      : XY;
45               segments      : HArray1OfXY);
46         ---Purpose : This method is used to set the fields of the class
47         --           LeaderArrow
48         --       - height      : ArrowHead height
49         --       - width       : ArrowHead width
50         --       - depth       : Z Depth
51         --       - position    : ArrowHead coordinates
52         --       - segments    : Segment tail coordinate pairs
53
54         SetFormNumber (me : mutable; form : Integer) raises OutOfRange;
55         ---Purpose : Changes FormNumber (indicates the Shape of the Arrow)
56         --           Error if not in range [0-12]
57
58
59         NbSegments (me) returns Integer;
60         ---Purpose : returns number of segments
61
62         ArrowHeadHeight (me) returns Real;
63         ---Purpose : returns ArrowHead height
64
65         ArrowHeadWidth (me) returns Real;
66         ---Purpose : returns ArrowHead width
67
68         ZDepth (me) returns Real;
69         ---Purpose : returns Z depth
70
71         ArrowHead (me) returns Pnt2d;
72         ---Purpose : returns ArrowHead co-ordinates
73
74         TransformedArrowHead (me) returns Pnt;
75         ---Purpose : returns ArrowHead co-ordinates after Transformation
76
77         SegmentTail (me; Index : Integer) returns Pnt2d
78         raises OutOfRange;
79         ---Purpose : returns segment tail co-ordinates.
80         -- raises exception if Index <= 0 or Index > NbSegments
81
82         TransformedSegmentTail (me; Index : Integer) returns Pnt
83         raises OutOfRange;
84         ---Purpose : returns segment tail co-ordinates after Transformation.
85         -- raises exception if Index <= 0 or Index > NbSegments
86
87 fields
88
89 --
90 -- Class    : IGESDimen_LeaderArrow
91 --
92 -- Purpose  : Declaration of variables specific to the definition
93 --            of the Class LeaderArrow.
94 --
95 -- Reminder : A LeaderArrow instance is defined by :
96 --            - ArrowHead height
97 --            - ArrowHead width
98 --            - Z Depth
99 --            - ArrowHead coordinates
100 --            - Segment tail coordinate pairs
101 -- A LeaderArrow Entity consists of one or more line segments. The first
102 -- segment begins with an arrowhead & remaining segments successively link
103 -- to a presumed text item.
104
105         theArrowHeadHeight : Real;
106         theArrowHeadWidth  : Real;
107         theZDepth          : Real;
108         theArrowHead       : XY;
109         theSegmentTails    : HArray1OfXY;
110
111 end LeaderArrow;