1 //--------------------------------------------------------------------
3 // File Name : IGESDimen_NewGeneralNote.cxx
5 // Author : CKY / Contract Toubro-Larsen
6 // Copyright : MATRA-DATAVISION 1993
8 //--------------------------------------------------------------------
10 #include <IGESDimen_ToolNewGeneralNote.ixx>
11 #include <IGESData_ParamCursor.hxx>
13 #include <IGESData_IGESEntity.hxx>
14 #include <TCollection_HAsciiString.hxx>
15 #include <TColgp_HArray1OfXYZ.hxx>
16 #include <IGESData_HArray1OfIGESEntity.hxx>
17 #include <Interface_HArray1OfHAsciiString.hxx>
18 #include <TColStd_HArray1OfInteger.hxx>
19 #include <TColStd_HArray1OfReal.hxx>
20 #include <IGESData_Dump.hxx>
21 #include <Interface_Macros.hxx>
25 IGESDimen_ToolNewGeneralNote::IGESDimen_ToolNewGeneralNote () { }
28 void IGESDimen_ToolNewGeneralNote::ReadOwnParams
29 (const Handle(IGESDimen_NewGeneralNote)& ent,
30 const Handle(IGESData_IGESReaderData)& IR, IGESData_ParamReader& PR) const
32 //Standard_Boolean st; //szv#4:S4163:12Mar99 moved down
34 Standard_Integer nbval;
37 Standard_Integer justifyCode;
39 Standard_Real areaRotationAngle;
41 Standard_Real normalInterlineSpace;
42 Handle(TColStd_HArray1OfInteger) charDisplays;
43 Handle(TColStd_HArray1OfReal) charWidths;
44 Handle(TColStd_HArray1OfReal) charHeights;
45 Handle(TColStd_HArray1OfReal) interCharSpaces;
46 Handle(TColStd_HArray1OfReal) interlineSpaces;
47 Handle(TColStd_HArray1OfInteger) fontStyles;
48 Handle(TColStd_HArray1OfReal) charAngles;
49 Handle(Interface_HArray1OfHAsciiString) controlCodeStrings;
50 Handle(TColStd_HArray1OfInteger) nbChars;
51 Handle(TColStd_HArray1OfReal) boxWidths;
52 Handle(TColStd_HArray1OfReal) boxHeights;
53 Handle(TColStd_HArray1OfInteger) charSetCodes;
54 Handle(IGESData_HArray1OfIGESEntity) charSetEntities;
55 Handle(TColStd_HArray1OfReal) slantAngles;
56 Handle(TColStd_HArray1OfReal) rotationAngles;
57 Handle(TColStd_HArray1OfInteger) mirrorFlags;
58 Handle(TColStd_HArray1OfInteger) rotateFlags;
59 Handle(TColgp_HArray1OfXYZ) startPoints;
60 Handle(Interface_HArray1OfHAsciiString) texts;
62 //szv#4:S4163:12Mar99 `st=` not needed
63 PR.ReadReal(PR.Current(), "Text Width", width);
64 PR.ReadReal(PR.Current(), "Text Height", height);
65 PR.ReadInteger(PR.Current(), "Justification Code", justifyCode);
66 PR.ReadXYZ(PR.CurrentList(1, 3), "Area Location Point", areaLoc);
67 PR.ReadReal(PR.Current(), "Area Rotation Angle", areaRotationAngle);
68 PR.ReadXYZ(PR.CurrentList(1, 3), "Base Line Position", baseLinePos);
69 PR.ReadReal(PR.Current(),"NormalInterline Spacing",normalInterlineSpace);
71 Standard_Boolean st = PR.ReadInteger(PR.Current(), "Number of Text Strings", nbval);
74 charDisplays = new TColStd_HArray1OfInteger(1, nbval);
75 charWidths = new TColStd_HArray1OfReal(1, nbval);
76 charHeights = new TColStd_HArray1OfReal(1, nbval);
77 interCharSpaces = new TColStd_HArray1OfReal(1, nbval);
78 interlineSpaces = new TColStd_HArray1OfReal(1, nbval);
79 fontStyles = new TColStd_HArray1OfInteger(1, nbval);
80 charAngles = new TColStd_HArray1OfReal(1, nbval);
81 controlCodeStrings = new Interface_HArray1OfHAsciiString(1, nbval);
82 nbChars = new TColStd_HArray1OfInteger(1, nbval);
83 boxWidths = new TColStd_HArray1OfReal(1, nbval);
84 boxHeights = new TColStd_HArray1OfReal(1, nbval);
85 charSetCodes = new TColStd_HArray1OfInteger(1, nbval);
86 charSetEntities = new IGESData_HArray1OfIGESEntity(1,nbval);
87 slantAngles = new TColStd_HArray1OfReal(1, nbval);
88 rotationAngles = new TColStd_HArray1OfReal(1, nbval);
89 mirrorFlags = new TColStd_HArray1OfInteger(1, nbval);
90 rotateFlags = new TColStd_HArray1OfInteger(1, nbval);
91 startPoints = new TColgp_HArray1OfXYZ(1, nbval);
92 texts = new Interface_HArray1OfHAsciiString(1, nbval);
94 else PR.AddFail("Number of Text Strings: Not Positive");
96 if (! charDisplays.IsNull())
97 for (Standard_Integer i = 1; i <= nbval; i++)
99 Standard_Integer charDisplay;
100 Standard_Real charWidth;
101 Standard_Real charHeight;
102 Standard_Real interCharSpace;
103 Standard_Real interlineSpace;
104 Standard_Integer fontStyle;
105 Standard_Real charAngle;
106 Handle(TCollection_HAsciiString) controlCodeString;
107 Standard_Integer nbChar;
108 Standard_Real boxWidth;
109 Standard_Real boxHeight;
110 Standard_Integer charSetCode;
111 Handle(IGESData_IGESEntity) charSetEntity;
112 Standard_Real slantAngle;
113 Standard_Real rotationAngle;
114 Standard_Integer mirrorFlag;
115 Standard_Integer rotateFlag;
117 Handle(TCollection_HAsciiString) text;
119 //st = PR.ReadInteger(PR.Current(), "Character Display",charDisplay); //szv#4:S4163:12Mar99 moved in if
120 if (PR.ReadInteger(PR.Current(), "Character Display",charDisplay))
121 charDisplays->SetValue(i, charDisplay);
123 //st = PR.ReadReal(PR.Current(), "Character Width", charWidth); //szv#4:S4163:12Mar99 moved in if
124 if (PR.ReadReal(PR.Current(), "Character Width", charWidth))
125 charWidths->SetValue(i, charWidth);
127 //st = PR.ReadReal(PR.Current(), "Character Height", charHeight); //szv#4:S4163:12Mar99 moved in if
128 if (PR.ReadReal(PR.Current(), "Character Height", charHeight))
129 charHeights->SetValue(i, charHeight);
131 //st = PR.ReadReal(PR.Current(), "Inter-character space", interCharSpace); //szv#4:S4163:12Mar99 moved in if
132 if (PR.ReadReal(PR.Current(), "Inter-character space", interCharSpace))
133 interCharSpaces->SetValue(i, interCharSpace);
135 //st = PR.ReadReal(PR.Current(), "Interline space", interlineSpace); //szv#4:S4163:12Mar99 moved in if
136 if (PR.ReadReal(PR.Current(), "Interline space", interlineSpace))
137 interlineSpaces->SetValue(i, interlineSpace);
139 //st = PR.ReadInteger(PR.Current(), "Font Style", fontStyle); //szv#4:S4163:12Mar99 moved in if
140 if (PR.ReadInteger(PR.Current(), "Font Style", fontStyle))
141 fontStyles->SetValue(i, fontStyle);
143 //st = PR.ReadReal(PR.Current(), "Character Angle", charAngle); //szv#4:S4163:12Mar99 moved in if
144 if (PR.ReadReal(PR.Current(), "Character Angle", charAngle))
145 charAngles->SetValue(i, charAngle);
147 //st = PR.ReadText(PR.Current(),"Control Code String", controlCodeString); //szv#4:S4163:12Mar99 moved in if
148 if (PR.ReadText(PR.Current(),"Control Code String", controlCodeString))
149 controlCodeStrings->SetValue(i, controlCodeString);
151 //st = PR.ReadInteger(PR.Current(), "Number of Characters", nbChar); //szv#4:S4163:12Mar99 moved in if
152 if (PR.ReadInteger(PR.Current(), "Number of Characters", nbChar))
153 nbChars->SetValue(i, nbChar);
155 //st = PR.ReadReal(PR.Current(), "Box Width", boxWidth); //szv#4:S4163:12Mar99 moved in if
156 if (PR.ReadReal(PR.Current(), "Box Width", boxWidth))
157 boxWidths->SetValue(i, boxWidth);
159 //st = PR.ReadReal(PR.Current(), "Box Height", boxHeight); //szv#4:S4163:12Mar99 moved in if
160 if (PR.ReadReal(PR.Current(), "Box Height", boxHeight))
161 boxHeights->SetValue(i, boxHeight);
163 Standard_Integer curnum = PR.CurrentNumber();
164 if (PR.DefinedElseSkip())
166 // Reading fontCode(Integer, must be positive)
167 PR.ReadInteger(PR.Current(), "Character Set Interpretation Code",charSetCode); //szv#4:S4163:12Mar99 `st=` not needed
168 // Reading charSetEnt
169 if (charSetCode < 0) {
170 charSetEntity = PR.ParamEntity (IR,curnum);
171 if (charSetEntity.IsNull())
172 PR.AddFail("Char Set Interpretation Entity : incorrect reference");
173 charSetEntities->SetValue(i, charSetEntity);
174 charSetCodes->SetValue(i, -1);
176 charSetCodes->SetValue(i, charSetCode);
181 charSetCodes->SetValue(i, 1);
183 if (PR.DefinedElseSkip())
185 //st = PR.ReadReal(PR.Current(), "Slant Angle", slantAngle); //szv#4:S4163:12Mar99 moved in if
186 if (PR.ReadReal(PR.Current(), "Slant Angle", slantAngle))
187 slantAngles->SetValue(i, slantAngle);
190 slantAngles->SetValue(i, M_PI/2);
192 //st = PR.ReadReal(PR.Current(), "Rotation Angle", rotationAngle); //szv#4:S4163:12Mar99 moved in if
193 if (PR.ReadReal(PR.Current(), "Rotation Angle", rotationAngle))
194 rotationAngles->SetValue(i, rotationAngle);
196 //st = PR.ReadInteger(PR.Current(), "Mirror Flag", mirrorFlag); //szv#4:S4163:12Mar99 moved in if
197 if (PR.ReadInteger(PR.Current(), "Mirror Flag", mirrorFlag))
198 mirrorFlags->SetValue(i, mirrorFlag);
200 //st = PR.ReadInteger(PR.Current(), "Rotate Flag", rotateFlag); //szv#4:S4163:12Mar99 moved in if
201 if (PR.ReadInteger(PR.Current(), "Rotate Flag", rotateFlag))
202 rotateFlags->SetValue(i, rotateFlag);
204 //st = PR.ReadXYZ(PR.CurrentList(1, 3), "Start Point", startPoint); //szv#4:S4163:12Mar99 moved in if
205 if (PR.ReadXYZ(PR.CurrentList(1, 3), "Start Point", startPoint))
206 startPoints->SetValue(i, startPoint);
208 //st = PR.ReadText(PR.Current(), "Text String", text); //szv#4:S4163:12Mar99 moved in if
209 if (PR.ReadText(PR.Current(), "Text String", text))
210 texts->SetValue(i, text);
213 DirChecker(ent).CheckTypeAndForm(PR.CCheck(),ent);
215 ( width, height, justifyCode, areaLoc, areaRotationAngle,baseLinePos,
216 normalInterlineSpace, charDisplays, charWidths, charHeights,
217 interCharSpaces, interlineSpaces, fontStyles, charAngles,
218 controlCodeStrings, nbChars, boxWidths, boxHeights, charSetCodes,
219 charSetEntities, slantAngles, rotationAngles, mirrorFlags, rotateFlags,
223 void IGESDimen_ToolNewGeneralNote::WriteOwnParams
224 (const Handle(IGESDimen_NewGeneralNote)& ent, IGESData_IGESWriter& IW) const
226 IW.Send(ent->TextWidth());
227 IW.Send(ent->TextHeight());
228 IW.Send(ent->JustifyCode());
229 IW.Send(ent->AreaLocation().X());
230 IW.Send(ent->AreaLocation().Y());
231 IW.Send(ent->AreaLocation().Z());
232 IW.Send(ent->AreaRotationAngle());
233 IW.Send(ent->BaseLinePosition().X());
234 IW.Send(ent->BaseLinePosition().Y());
235 IW.Send(ent->BaseLinePosition().Z());
236 IW.Send(ent->NormalInterlineSpace());
237 Standard_Integer nbval = ent->NbStrings();
240 for (Standard_Integer i = 1; i <= nbval; i++)
242 IW.Send(ent->CharacterDisplay(i));
243 IW.Send(ent->CharacterWidth(i));
244 IW.Send(ent->CharacterHeight(i));
245 IW.Send(ent->InterCharacterSpace(i));
246 IW.Send(ent->InterlineSpace(i));
247 IW.Send(ent->FontStyle(i));
248 IW.Send(ent->CharacterAngle(i));
249 IW.Send(ent->ControlCodeString(i));
250 IW.Send(ent->NbCharacters(i));
251 IW.Send(ent->BoxWidth(i));
252 IW.Send(ent->BoxHeight(i));
253 if (ent->IsCharSetEntity(i))
254 IW.Send(ent->CharSetEntity(i),Standard_True); // negative
256 IW.Send(ent->CharSetCode(i));
257 IW.Send(ent->SlantAngle(i));
258 IW.Send(ent->RotationAngle(i));
259 IW.Send(ent->MirrorFlag(i));
260 IW.Send(ent->RotateFlag(i));
261 IW.Send((ent->StartPoint(i)).X());
262 IW.Send((ent->StartPoint(i)).Y());
263 IW.Send((ent->StartPoint(i)).Z());
264 IW.Send(ent->Text(i));
268 void IGESDimen_ToolNewGeneralNote::OwnShared
269 (const Handle(IGESDimen_NewGeneralNote)& ent, Interface_EntityIterator& iter) const
271 Standard_Integer nbval = ent->NbStrings();
272 for (Standard_Integer i = 1; i <= nbval; i++)
275 if (ent->IsCharSetEntity(i))
276 iter.GetOneItem(ent->CharSetEntity(i));
280 void IGESDimen_ToolNewGeneralNote::OwnCopy
281 (const Handle(IGESDimen_NewGeneralNote)& another,
282 const Handle(IGESDimen_NewGeneralNote)& ent, Interface_CopyTool& TC) const
284 Standard_Real width = another->TextWidth();
285 Standard_Real height = another->TextHeight();
286 Standard_Integer justifyCode = another->JustifyCode();
287 gp_XYZ areaLoc = (another->AreaLocation()).XYZ();
288 Standard_Real areaRotationAngle = another->AreaRotationAngle();
289 gp_XYZ baseLinePos = (another->BaseLinePosition()).XYZ();
290 Standard_Real normalInterlineSpace = another->NormalInterlineSpace();
291 Standard_Integer nbval = another->NbStrings();
293 Handle(TColStd_HArray1OfInteger) charDisplays;
294 Handle(TColStd_HArray1OfReal) charWidths;
295 Handle(TColStd_HArray1OfReal) charHeights;
296 Handle(TColStd_HArray1OfReal) interCharSpaces;
297 Handle(TColStd_HArray1OfReal) interlineSpaces;
298 Handle(TColStd_HArray1OfInteger) fontStyles;
299 Handle(TColStd_HArray1OfReal) charAngles;
300 Handle(Interface_HArray1OfHAsciiString) controlCodeStrings;
301 Handle(TColStd_HArray1OfInteger) nbChars;
302 Handle(TColStd_HArray1OfReal) boxWidths;
303 Handle(TColStd_HArray1OfReal) boxHeights;
304 Handle(TColStd_HArray1OfInteger) charSetCodes;
305 Handle(IGESData_HArray1OfIGESEntity) charSetEntities;
306 Handle(TColStd_HArray1OfReal) slantAngles;
307 Handle(TColStd_HArray1OfReal) rotationAngles;
308 Handle(TColStd_HArray1OfInteger) mirrorFlags;
309 Handle(TColStd_HArray1OfInteger) rotateFlags;
310 Handle(TColgp_HArray1OfXYZ) startPoints;
311 Handle(Interface_HArray1OfHAsciiString) texts;
313 charDisplays = new TColStd_HArray1OfInteger(1, nbval);
314 charWidths = new TColStd_HArray1OfReal (1, nbval);
315 charHeights = new TColStd_HArray1OfReal (1, nbval);
316 interCharSpaces = new TColStd_HArray1OfReal (1, nbval);
317 interlineSpaces = new TColStd_HArray1OfReal (1, nbval);
318 fontStyles = new TColStd_HArray1OfInteger(1, nbval);
319 charAngles = new TColStd_HArray1OfReal (1, nbval);
320 controlCodeStrings = new Interface_HArray1OfHAsciiString(1, nbval);
321 nbChars = new TColStd_HArray1OfInteger(1, nbval);
322 boxWidths = new TColStd_HArray1OfReal (1, nbval);
323 boxHeights = new TColStd_HArray1OfReal (1, nbval);
324 charSetCodes = new TColStd_HArray1OfInteger(1, nbval);
325 charSetEntities = new IGESData_HArray1OfIGESEntity(1, nbval);
326 slantAngles = new TColStd_HArray1OfReal (1, nbval);
327 rotationAngles = new TColStd_HArray1OfReal (1, nbval);
328 mirrorFlags = new TColStd_HArray1OfInteger(1, nbval);
329 rotateFlags = new TColStd_HArray1OfInteger(1, nbval);
330 startPoints = new TColgp_HArray1OfXYZ (1, nbval);
331 texts = new Interface_HArray1OfHAsciiString(1, nbval);
333 for (Standard_Integer i = 1; i <= nbval; i++)
335 charDisplays->SetValue (i, another->CharacterDisplay(i));
336 charWidths->SetValue (i, another->CharacterWidth(i));
337 charHeights->SetValue (i, another->CharacterHeight(i));
338 interCharSpaces->SetValue (i, another->InterCharacterSpace(i));
339 interlineSpaces->SetValue (i, another->InterlineSpace(i));
340 fontStyles->SetValue (i, another->FontStyle(i));
341 charAngles->SetValue (i, another->CharacterAngle(i));
342 controlCodeStrings->SetValue
343 (i, new TCollection_HAsciiString(another->ControlCodeString(i)));
344 nbChars->SetValue (i, another->NbCharacters(i));
345 boxWidths->SetValue (i, another->BoxWidth(i));
346 boxHeights->SetValue (i, another->BoxHeight(i));
348 if (another->IsCharSetEntity(i)) {
349 DeclareAndCast(IGESData_IGESEntity, charSetEntity,
350 TC.Transferred(another->CharSetEntity(i)));
351 charSetEntities->SetValue(i, charSetEntity);
353 else charSetCodes->SetValue(i, another->CharSetCode(i));
355 slantAngles->SetValue (i, another->SlantAngle(i));
356 rotationAngles->SetValue (i, another->RotationAngle(i));
357 mirrorFlags->SetValue (i, another->MirrorFlag(i));
358 rotateFlags->SetValue (i, another->RotateFlag(i));
359 startPoints->SetValue (i, another->StartPoint(i).XYZ());
361 (i, new TCollection_HAsciiString(another->Text(i)));
364 ent->Init (width, height, justifyCode, areaLoc, areaRotationAngle, baseLinePos,
365 normalInterlineSpace, charDisplays, charWidths, charHeights,
366 interCharSpaces, interlineSpaces, fontStyles, charAngles,
367 controlCodeStrings,nbChars, boxWidths, boxHeights, charSetCodes,
368 charSetEntities, slantAngles, rotationAngles, mirrorFlags,
369 rotateFlags, startPoints, texts);
373 IGESData_DirChecker IGESDimen_ToolNewGeneralNote::DirChecker
374 (const Handle(IGESDimen_NewGeneralNote)& /* ent */ ) const
376 IGESData_DirChecker DC (213, 0);
377 DC.Structure(IGESData_DefVoid);
378 DC.LineFont(IGESData_DefValue);
379 DC.LineWeight(IGESData_DefValue);
380 DC.Color(IGESData_DefAny);
381 DC.UseFlagRequired(1);
382 DC.HierarchyStatusIgnored();
386 void IGESDimen_ToolNewGeneralNote::OwnCheck
387 (const Handle(IGESDimen_NewGeneralNote)& ent,
388 const Interface_ShareTool& , Handle(Interface_Check)& ach) const
391 Standard_Integer jcode = ent->JustifyCode();
392 if ((jcode < 0) || (jcode > 3))
393 ach->AddFail("Justify Code != 0, 1, 2, 3");
394 Standard_Integer upper = ent->NbStrings();
395 for (Standard_Integer i = 1; i <= upper; i ++)
397 if (ent->NbCharacters(i) != ent->Text(i)->Length())
400 sprintf(mess,"%d : Number of Characters != Length of Text String",i);
404 Standard_Integer charcode = ent->CharSetCode(i);
405 if ( (charcode >= 0) && (charcode != 1) &&
406 ((charcode < 1001) || (charcode > 1003)))
409 sprintf(mess, "%d : Character Set Code != 1, 1001, 1002, 1003",i);
413 Standard_Integer chardisp = ent->CharacterDisplay(i);
414 if ((chardisp < 0) || (chardisp > 1))
417 sprintf(mess, "%d : Character Display != 0, 1",i);
421 Standard_Integer mflag = ent->MirrorFlag(i);
422 if ((mflag < 0) || (mflag > 2))
425 sprintf(mess, "%d : Mirror flag != 0, 1, 2",i);
429 Standard_Integer rflag = ent->RotateFlag(i);
430 if ((rflag < 0) || (rflag > 1))
433 sprintf(mess, "%d : Rotate flag != 0, 1",i);
439 void IGESDimen_ToolNewGeneralNote::OwnDump
440 (const Handle(IGESDimen_NewGeneralNote)& ent, const IGESData_IGESDumper& dumper,
441 const Handle(Message_Messenger)& S, const Standard_Integer level) const
443 Standard_Integer sublevel = (level > 4) ? 1 : 0;
444 Standard_Integer nbval = ent->NbStrings();
446 S << "IGESDimen_NewGeneralNote" << endl;
447 S << "Text Area : Width : " << ent->TextWidth() << " ";
448 S << "Height : " << ent->TextHeight() << " ";
449 S << "Justification Code : " << ent->JustifyCode() << endl;
450 S << "Text Area Location Point : ";
451 IGESData_DumpXYZL(S,level, ent->AreaLocation(), ent->Location());
452 S << "Rotation Angle of Text : " << ent->AreaRotationAngle() << endl;
453 S << "Base Line Position : ";
454 IGESData_DumpXYZL(S,level, ent->BaseLinePosition(), ent->Location());
455 S << "Normal Interline Spacing : " << ent->NormalInterlineSpace() << endl;
456 S << "Number of Text Strings : " << nbval << endl;
458 S << "Character Display : " << endl;
459 S << "Character Width : " << endl;
460 S << "Character Height : " << endl;
461 S << "Inter Character Spacing : " << endl;
462 S << "Interline Spacing : " << endl;
463 S << "Font Styles : " << endl;
464 S << "Character Angle : " << endl;
465 S << "Control Code String : " << endl;
466 S << "Number of Characters : " << endl;
467 S << "Box Widths : " << endl;
468 S << "Box Heights : " << endl;
469 S << "Character Set Codes : " << endl;
470 S << "Character Set Entities : " << endl;
471 S << "Slant Angles : " << endl;
472 S << "Rotation Angles : " << endl;
473 S << "Mirror Flags : " << endl;
474 S << "Rotate Flags : " << endl;
475 S << "Start Points : " << endl;
477 IGESData_DumpVals(S,-level,1, nbval, ent->NbCharacters);
481 S << "Details of each String" << endl;
482 for ( Standard_Integer i = 1; i <= nbval; i++)
484 S << "[" << i << "]: " << endl;
485 S << "Character Display : " << ent->CharacterDisplay(i) << " ";
486 S << "Character Width : " << ent->CharacterWidth(i) << " ";
487 S << "Character Height : " << ent->CharacterHeight(i) << endl;
488 S << "Inter Character Spacing : "<<ent->InterCharacterSpace(i)<<" ";
489 S << "Interline Spacing : " << ent->InterlineSpace(i) << endl;
490 S << "Font Styles : " << ent->FontStyle(i) << endl;
491 S << "Character Angle : " << ent->CharacterAngle(i) << endl;
492 S << "Control Code String : " ;
493 IGESData_DumpString(S,ent->ControlCodeString(i));
495 S << "Number of Characters : " << ent->NbCharacters(i) << " ";
496 S << "Box Width : " << ent->BoxWidth(i) << " ";
497 S << "Box Height : " << ent->BoxHeight(i) << endl;
498 if (ent->IsCharSetEntity(i))
500 S << "Character Set Entity : ";
501 dumper.Dump (ent->CharSetEntity(i),S, sublevel);
505 S << "Character Set Code : " << ent->CharSetCode(i) << endl;
507 S << "Slant Angle : " << ent->SlantAngle(i) << " ";
508 S << "Rotation Angle : " << ent->RotationAngle(i) << " ";
509 S << "Mirror Flag : " << ent->MirrorFlag(i) << " ";
510 S << "Rotate Flag : " << ent->RotateFlag(i) << endl;
511 S << "Start Point : ";
512 IGESData_DumpXYZL(S,level, ent->StartPoint(i), ent->Location());
514 IGESData_DumpString(S,ent->Text(i));