Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IGESDimen / IGESDimen_ToolCurveDimension.cxx
CommitLineData
7fd59977 1//--------------------------------------------------------------------
2//
3// File Name : IGESDimen_CurveDimension.cxx
4// Date :
5// Author : CKY / Contract Toubro-Larsen
6// Copyright : MATRA-DATAVISION 1993
7//
8//--------------------------------------------------------------------
9
10#include <IGESDimen_ToolCurveDimension.ixx>
11#include <IGESData_ParamCursor.hxx>
12#include <IGESData_IGESEntity.hxx>
13#include <IGESDimen_GeneralNote.hxx>
14#include <IGESDimen_LeaderArrow.hxx>
15#include <IGESDimen_WitnessLine.hxx>
16#include <IGESGeom_Line.hxx>
17#include <Interface_Macros.hxx>
18
19
20IGESDimen_ToolCurveDimension::IGESDimen_ToolCurveDimension () { }
21
22
23void IGESDimen_ToolCurveDimension::ReadOwnParams
24 (const Handle(IGESDimen_CurveDimension)& ent,
25 const Handle(IGESData_IGESReaderData)& IR, IGESData_ParamReader& PR) const
26{
27 //Standard_Boolean st; //szv#4:S4163:12Mar99 not needed
28
29 Handle(IGESDimen_GeneralNote) note;
30 Handle(IGESData_IGESEntity) firstCurve;
31 Handle(IGESData_IGESEntity) secondCurve;
32 Handle(IGESDimen_LeaderArrow) firstLeader;
33 Handle(IGESDimen_LeaderArrow) secondLeader;
34 Handle(IGESDimen_WitnessLine) firstWitness;
35 Handle(IGESDimen_WitnessLine) secondWitness;
36
37 PR.ReadEntity(IR, PR.Current(), "General Note Entity",
38 STANDARD_TYPE(IGESDimen_GeneralNote), note); //szv#4:S4163:12Mar99 `st=` not needed
39
40 PR.ReadEntity(IR, PR.Current(), "First Curve Entity", firstCurve); //szv#4:S4163:12Mar99 `st=` not needed
41
42 PR.ReadEntity(IR,PR.Current(),"Second Curve Entity",
43 secondCurve,Standard_True); //szv#4:S4163:12Mar99 `st=` not needed
44
45 PR.ReadEntity(IR, PR.Current(), "First Leader Entity",
46 STANDARD_TYPE(IGESDimen_LeaderArrow), firstLeader); //szv#4:S4163:12Mar99 `st=` not needed
47
48 PR.ReadEntity(IR, PR.Current(),"Second Leader Entity",
49 STANDARD_TYPE(IGESDimen_LeaderArrow), secondLeader); //szv#4:S4163:12Mar99 `st=` not needed
50
51 PR.ReadEntity (IR, PR.Current(), "First Witness Entity",
52 STANDARD_TYPE(IGESDimen_WitnessLine), firstWitness, Standard_True); //szv#4:S4163:12Mar99 `st=` not needed
53
54 PR.ReadEntity (IR,PR.Current(),"Second Witness Entity",
55 STANDARD_TYPE(IGESDimen_WitnessLine), secondWitness, Standard_True); //szv#4:S4163:12Mar99 `st=` not needed
56
57 DirChecker(ent).CheckTypeAndForm(PR.CCheck(),ent);
58 ent->Init
59 (note, firstCurve, secondCurve, firstLeader, secondLeader,
60 firstWitness, secondWitness);
61}
62
63void IGESDimen_ToolCurveDimension::WriteOwnParams
64 (const Handle(IGESDimen_CurveDimension)& ent, IGESData_IGESWriter& IW) const
65{
66 IW.Send(ent->Note());
67 IW.Send(ent->FirstCurve());
68 IW.Send(ent->SecondCurve());
69 IW.Send(ent->FirstLeader());
70 IW.Send(ent->SecondLeader());
71 IW.Send(ent->FirstWitnessLine());
72 IW.Send(ent->SecondWitnessLine());
73}
74
75void IGESDimen_ToolCurveDimension::OwnShared
76 (const Handle(IGESDimen_CurveDimension)& ent, Interface_EntityIterator& iter) const
77{
78 iter.GetOneItem(ent->Note());
79 iter.GetOneItem(ent->FirstCurve());
80 iter.GetOneItem(ent->SecondCurve());
81 iter.GetOneItem(ent->FirstLeader());
82 iter.GetOneItem(ent->SecondLeader());
83 iter.GetOneItem(ent->FirstWitnessLine());
84 iter.GetOneItem(ent->SecondWitnessLine());
85}
86
87void IGESDimen_ToolCurveDimension::OwnCopy
88 (const Handle(IGESDimen_CurveDimension)& another,
89 const Handle(IGESDimen_CurveDimension)& ent, Interface_CopyTool& TC) const
90{
91 DeclareAndCast(IGESDimen_GeneralNote, note,
92 TC.Transferred(another->Note()));
93 DeclareAndCast(IGESData_IGESEntity, firstCurve,
94 TC.Transferred(another->FirstCurve()));
95 DeclareAndCast(IGESData_IGESEntity, secondCurve,
96 TC.Transferred(another->SecondCurve()));
97 DeclareAndCast(IGESDimen_LeaderArrow, firstLeader,
98 TC.Transferred(another->FirstLeader()));
99 DeclareAndCast(IGESDimen_LeaderArrow, secondLeader,
100 TC.Transferred(another->SecondLeader()));
101 DeclareAndCast(IGESDimen_WitnessLine, firstWitness,
102 TC.Transferred(another->FirstWitnessLine()));
103 DeclareAndCast(IGESDimen_WitnessLine, secondWitness,
104 TC.Transferred(another->SecondWitnessLine()));
105
106 ent->Init(note, firstCurve, secondCurve, firstLeader, secondLeader,
107 firstWitness, secondWitness);
108}
109
110IGESData_DirChecker IGESDimen_ToolCurveDimension::DirChecker
111 (const Handle(IGESDimen_CurveDimension)& /*ent*/) const
112{
113 IGESData_DirChecker DC (204, 0);
114 DC.Structure(IGESData_DefVoid);
115 DC.LineFont(IGESData_DefAny);
116 DC.LineWeight(IGESData_DefValue);
117 DC.Color(IGESData_DefAny);
118 DC.UseFlagRequired(1);
119 return DC;
120}
121
122void IGESDimen_ToolCurveDimension::OwnCheck
123 (const Handle(IGESDimen_CurveDimension)& ent,
124 const Interface_ShareTool& , Handle(Interface_Check)& ach) const
125{
126 if (ent->HasSecondCurve())
127 {
128 if ( ent->FirstCurve()->IsKind(STANDARD_TYPE(IGESGeom_Line)) )
129 if ( ent->SecondCurve()->IsKind(STANDARD_TYPE(IGESGeom_Line)) )
130 ach->AddWarning("Both curves are IGESGeom_Line Entities");
131 }
132}
133
134void IGESDimen_ToolCurveDimension::OwnDump
135 (const Handle(IGESDimen_CurveDimension)& ent, const IGESData_IGESDumper& dumper,
136 const Handle(Message_Messenger)& S, const Standard_Integer level) const
137{
138 Standard_Integer sublevel = (level > 4) ? 1 : 0;
139
140 S << "IGESDimen_CurveDimension" << endl;
141 S << "General Note Entity : ";
142 dumper.Dump(ent->Note(),S, sublevel);
143 S << endl;
144 S << "First Curve Entity : ";
145 dumper.Dump(ent->FirstCurve(),S, sublevel);
146 S << endl;
147 S << "Second Curve Entity : ";
148 dumper.Dump(ent->SecondCurve(),S, sublevel);
149 S << endl;
150 S << "First Leader Entity : ";
151 dumper.Dump(ent->FirstLeader(),S, sublevel);
152 S << endl;
153 S << "Second Leader Entity : ";
154 dumper.Dump(ent->SecondLeader(),S, sublevel);
155 S << endl;
156 S << "First Witness Entity : ";
157 dumper.Dump(ent->FirstWitnessLine(),S, sublevel);
158 S << endl;
159 S << "Second Witness Entity : ";
160 dumper.Dump(ent->SecondWitnessLine(),S, sublevel);
161 S << endl;
162}