b311480e |
1 | -- Created on: 1993-01-11 |
2 | -- Created by: CKY / Contract Toubro-Larsen ( TCD ) |
3 | -- Copyright (c) 1993-1999 Matra Datavision |
4 | -- Copyright (c) 1999-2012 OPEN CASCADE SAS |
7fd59977 |
5 | -- |
b311480e |
6 | -- The content of this file is subject to the Open CASCADE Technology Public |
7 | -- License Version 6.5 (the "License"). You may not use the content of this file |
8 | -- except in compliance with the License. Please obtain a copy of the License |
9 | -- at http://www.opencascade.org and read it completely before using this file. |
7fd59977 |
10 | -- |
b311480e |
11 | -- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its |
12 | -- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France. |
7fd59977 |
13 | -- |
b311480e |
14 | -- The Original Code and all software distributed under the License is |
15 | -- distributed on an "AS IS" basis, without warranty of any kind, and the |
16 | -- Initial Developer hereby disclaims all such warranties, including without |
17 | -- limitation, any warranties of merchantability, fitness for a particular |
18 | -- purpose or non-infringement. Please see the License for the specific terms |
19 | -- and conditions governing the rights and limitations under the License. |
20 | |
7fd59977 |
21 | |
22 | class TextDisplayTemplate from IGESGraph inherits IGESEntity |
23 | |
24 | ---Purpose: defines IGES TextDisplayTemplate Entity, |
25 | -- Type <312>, form <0, 1> in package IGESGraph |
26 | -- |
27 | -- Used to set parameters for display of information |
28 | -- which has been logically included in another entity |
29 | -- as a parameter value |
30 | |
31 | uses |
32 | |
33 | TextFontDef from IGESGraph, |
34 | Pnt from gp, |
35 | XYZ from gp |
36 | |
37 | is |
38 | |
39 | Create returns mutable TextDisplayTemplate; |
40 | |
41 | -- specific for the entity |
42 | |
43 | Init (me : mutable; |
44 | aWidth : Real; |
45 | aHeight : Real; |
46 | aFontCode : Integer; |
47 | aFontEntity : TextFontDef; |
48 | aSlantAngle : Real; |
49 | aRotationAngle : Real; |
50 | aMirrorFlag : Integer; |
51 | aRotationFlag : Integer; |
52 | aCorner : XYZ); |
53 | ---Purpose : This method is used to set the fields of the class |
54 | -- TextDisplayTemplate |
55 | -- - aWidth : Character box width |
56 | -- - aHeight : Character box height |
57 | -- - afontCode : Font code |
58 | -- - aFontEntity : Text Font Definition Entity |
59 | -- - aSlantAngle : Slant angle |
60 | -- - aRotationAngle : Rotation angle |
61 | -- - aMirrorFlag : Mirror Flag |
62 | -- - aRotationFlag : Rotate internal text flag |
63 | -- - aCorner : Lower left corner coordinates(Form No. 0), |
64 | -- Increments from coordinates (Form No. 1) |
65 | |
66 | SetIncremental (me : mutable; mode : Boolean); |
67 | ---Purpose : Sets <me> to be Incremental (Form 1) if <mode> is True, |
68 | -- or Basolute (Form 0) else |
69 | |
70 | IsIncremental (me) returns Boolean; |
71 | ---Purpose : returns True if entity is Incremental (Form 1). |
72 | -- False if entity is Absolute (Form 0). |
73 | |
74 | |
75 | BoxWidth (me) returns Real; |
76 | ---Purpose : returns Character Box Width. |
77 | |
78 | BoxHeight (me) returns Real; |
79 | ---Purpose : returns Character Box Height. |
80 | |
81 | IsFontEntity (me) returns Boolean; |
82 | ---Purpose : returns False if theFontEntity is Null, True otherwise. |
83 | |
84 | FontCode (me) returns Integer; |
85 | ---Purpose : returns the font code. |
86 | |
87 | FontEntity (me) returns TextFontDef; |
88 | ---Purpose : returns Text Font Definition Entity used to define the font. |
89 | |
90 | SlantAngle (me) returns Real; |
91 | ---Purpose : returns slant angle of character in radians. |
92 | |
93 | RotationAngle (me) returns Real; |
94 | ---Purpose : returns Rotation angle of text block in radians. |
95 | |
96 | MirrorFlag (me) returns Integer; |
97 | ---Purpose : returns Mirror flag |
98 | -- Mirror flag : 0 = no mirroring. |
99 | -- 1 = mirror axis perpendicular to text base line. |
100 | -- 2 = mirror axis is text base line. |
101 | |
102 | RotateFlag (me) returns Integer; |
103 | ---Purpose : returns Rotate internal text flag. |
104 | -- Rotate internal text flag : 0 = text horizontal. |
105 | -- 1 = text vertical. |
106 | |
107 | StartingCorner (me) returns Pnt; |
108 | ---Purpose : If IsIncremental() returns False, |
109 | -- gets coordinates of lower left corner |
110 | -- of first character box. |
111 | -- If IsIncremental() returns True, |
112 | -- gets increments from X, Y, Z coordinates |
113 | -- found in parent entity. |
114 | |
115 | TransformedStartingCorner (me) returns Pnt; |
116 | ---Purpose : If IsIncremental() returns False, |
117 | -- gets coordinates of lower left corner |
118 | -- of first character box. |
119 | -- If IsIncremental() returns True, |
120 | -- gets increments from X, Y, Z coordinates |
121 | -- found in parent entity. |
122 | |
123 | fields |
124 | |
125 | -- Class : IGESDraw_TextDisplayTemplate |
126 | -- |
127 | -- Purpose : Declaration of the variables specific to a |
128 | -- TextDisplayTemplate. |
129 | -- |
130 | -- Reminder : A Text Display Template Entity is defined by : |
131 | -- - character box width, |
132 | -- - character box height, |
133 | -- - a font code or pointer to TextFontDef |
134 | -- used to define the font, |
135 | -- - slant angle of each individual character, |
136 | -- - rotation angle of text block, |
137 | -- - a mirroring axis, |
138 | -- - a rotate internal text flag, |
139 | -- - coordinates of lower left corner of first character |
140 | -- box if form number = 0, or |
141 | -- increments in corresponding coordinates found in |
142 | -- parent entity, if form number = 1 |
143 | |
144 | theBoxWidth : Real; |
145 | |
146 | theBoxHeight : Real; |
147 | |
148 | theFontCode : Integer; |
149 | -- one of the predefined font codes |
150 | |
151 | theFontEntity : TextFontDef; |
152 | -- Text Font Definition Entity used to define the font |
153 | |
154 | theSlantAngle : Real; |
155 | -- slant angle of each individual character |
156 | -- For horizontal text, slant angle is measured from the XT axis |
157 | -- in a counterclockwise direction. |
158 | -- For Vertical Text, it is measured from the YT axis |
159 | |
160 | theRotationAngle : Real; |
161 | -- rotation angle of the text block |
162 | -- The rotation angle is applied in a counterclockwise direction about |
163 | -- the text start point. The plane of rotation is the XT,YT plane. |
164 | |
165 | theMirrorFlag : Integer; |
166 | -- specifies the mirroring axis |
167 | -- Mirror flag : 0 = no mirroring |
168 | -- 1 = mirror axis perpendicular to text base line |
169 | -- 2 = mirror axis is text base line |
170 | |
171 | theRotateFlag : Integer; |
172 | -- specifies whether text box is filled with horizontal text or vertical |
173 | -- text |
174 | -- Rotate internal text flag : 0 = text horizontal |
175 | -- 1 = text vertical |
176 | |
177 | theCorner : XYZ; |
178 | -- theCorner specifies the coordinates of lower left corner of first |
179 | -- character box if form-number = 0. |
180 | -- If form-number = 1, it gives the increments in X, Y, Z from X, Y, Z |
181 | -- coordinates found in parent entity. |
182 | |
183 | end TextDisplayTemplate; |