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 | |
20 | IGESDimen_ToolCurveDimension::IGESDimen_ToolCurveDimension () { } |
21 | |
22 | |
23 | void 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 | |
63 | void 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 | |
75 | void 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 | |
87 | void 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 | |
110 | IGESData_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 | |
122 | void 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 | |
134 | void 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 | } |