0023024: Update headers of OCCT files
[occt.git] / src / IGESDimen / IGESDimen_ToolDiameterDimension.cxx
CommitLineData
b311480e 1// Created by: CKY / Contract Toubro-Larsen
2// Copyright (c) 1993-1999 Matra Datavision
3// Copyright (c) 1999-2012 OPEN CASCADE SAS
4//
5// The content of this file is subject to the Open CASCADE Technology Public
6// License Version 6.5 (the "License"). You may not use the content of this file
7// except in compliance with the License. Please obtain a copy of the License
8// at http://www.opencascade.org and read it completely before using this file.
7fd59977 9//
b311480e 10// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
11// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
7fd59977 12//
b311480e 13// The Original Code and all software distributed under the License is
14// distributed on an "AS IS" basis, without warranty of any kind, and the
15// Initial Developer hereby disclaims all such warranties, including without
16// limitation, any warranties of merchantability, fitness for a particular
17// purpose or non-infringement. Please see the License for the specific terms
18// and conditions governing the rights and limitations under the License.
19
20//--------------------------------------------------------------------
7fd59977 21//--------------------------------------------------------------------
22
23#include <IGESDimen_ToolDiameterDimension.ixx>
24#include <IGESData_ParamCursor.hxx>
25#include <gp_XY.hxx>
26#include <gp_Pnt2d.hxx>
27#include <IGESDimen_GeneralNote.hxx>
28#include <IGESDimen_LeaderArrow.hxx>
29#include <IGESData_Dump.hxx>
30#include <Interface_Macros.hxx>
31
32
33IGESDimen_ToolDiameterDimension::IGESDimen_ToolDiameterDimension () { }
34
35
36void IGESDimen_ToolDiameterDimension::ReadOwnParams
37 (const Handle(IGESDimen_DiameterDimension)& ent,
38 const Handle(IGESData_IGESReaderData)& IR, IGESData_ParamReader& PR) const
39{
40 //Standard_Boolean st; //szv#4:S4163:12Mar99 not needed
41
42 Handle(IGESDimen_GeneralNote) note;
43 Handle(IGESDimen_LeaderArrow) firstLeader;
44 Handle(IGESDimen_LeaderArrow) secondLeader;
45 gp_XY center;
46
47 PR.ReadEntity(IR, PR.Current(), "General Note Entity",
48 STANDARD_TYPE(IGESDimen_GeneralNote), note); //szv#4:S4163:12Mar99 `st=` not needed
49
50 PR.ReadEntity(IR, PR.Current(), "First Leader Entity",
51 STANDARD_TYPE(IGESDimen_LeaderArrow), firstLeader); //szv#4:S4163:12Mar99 `st=` not needed
52
53 PR.ReadEntity (IR,PR.Current(),"Second Leader Entity",
54 STANDARD_TYPE(IGESDimen_LeaderArrow), secondLeader, Standard_True); //szv#4:S4163:12Mar99 `st=` not needed
55
56 PR.ReadXY(PR.CurrentList(1, 2), "Arc Center Co-ords", center); //szv#4:S4163:12Mar99 `st=` not needed
57
58 DirChecker(ent).CheckTypeAndForm(PR.CCheck(),ent);
59 ent->Init(note, firstLeader, secondLeader, center);
60}
61
62void IGESDimen_ToolDiameterDimension::WriteOwnParams
63 (const Handle(IGESDimen_DiameterDimension)& ent, IGESData_IGESWriter& IW) const
64{
65 IW.Send(ent->Note());
66 IW.Send(ent->FirstLeader());
67 IW.Send(ent->SecondLeader());
68 IW.Send(ent->Center().X());
69 IW.Send(ent->Center().Y());
70}
71
72void IGESDimen_ToolDiameterDimension::OwnShared
73 (const Handle(IGESDimen_DiameterDimension)& ent, Interface_EntityIterator& iter) const
74{
75 iter.GetOneItem(ent->Note());
76 iter.GetOneItem(ent->FirstLeader());
77 iter.GetOneItem(ent->SecondLeader());
78}
79
80void IGESDimen_ToolDiameterDimension::OwnCopy
81 (const Handle(IGESDimen_DiameterDimension)& another,
82 const Handle(IGESDimen_DiameterDimension)& ent, Interface_CopyTool& TC) const
83{
84 DeclareAndCast(IGESDimen_GeneralNote, note,
85 TC.Transferred(another->Note()));
86 DeclareAndCast(IGESDimen_LeaderArrow, firstLeader,
87 TC.Transferred(another->FirstLeader()));
88 DeclareAndCast(IGESDimen_LeaderArrow, secondLeader,
89 TC.Transferred(another->SecondLeader()));
90 gp_XY center = (another->Center()).XY();
91
92 ent->Init(note, firstLeader, secondLeader, center);
93}
94
95IGESData_DirChecker IGESDimen_ToolDiameterDimension::DirChecker
96 (const Handle(IGESDimen_DiameterDimension)& /* ent */) const
97{
98 IGESData_DirChecker DC (206, 0);
99 DC.Structure(IGESData_DefVoid);
100 DC.LineFont(IGESData_DefAny);
101 DC.LineWeight(IGESData_DefValue);
102 DC.Color(IGESData_DefAny);
103 DC.UseFlagRequired(1);
104 return DC;
105}
106
107void IGESDimen_ToolDiameterDimension::OwnCheck
108 (const Handle(IGESDimen_DiameterDimension)& /* ent */,
109 const Interface_ShareTool& , Handle(Interface_Check)& /* ach */) const
110{
111}
112
113void IGESDimen_ToolDiameterDimension::OwnDump
114 (const Handle(IGESDimen_DiameterDimension)& ent, const IGESData_IGESDumper& dumper,
115 const Handle(Message_Messenger)& S, const Standard_Integer level) const
116{
117 Standard_Integer sublevel = (level > 4) ? 1 : 0;
118
119 S << "IGESDimen_DiameterDimension" << endl;
120 S << "General Note Entity : ";
121 dumper.Dump(ent->Note(),S, sublevel);
122 S << endl;
123 S << "First Leader Entity : ";
124 dumper.Dump(ent->FirstLeader(),S, sublevel);
125 S << endl;
126 S << "Second Leader Entity : ";
127 dumper.Dump(ent->SecondLeader(),S, sublevel);
128 S << endl;
129 S << "Center Point : ";
130 IGESData_DumpXYL(S,level, ent->Center(), ent->Location());
131 S << endl;
132}
133