7fd59977 |
1 | //-------------------------------------------------------------------- |
2 | // |
3 | // File Name : IGESDimen_DiameterDimension.cxx |
4 | // Date : |
5 | // Author : CKY / Contract Toubro-Larsen |
6 | // Copyright : MATRA-DATAVISION 1993 |
7 | // |
8 | //-------------------------------------------------------------------- |
9 | |
10 | #include <IGESDimen_ToolDiameterDimension.ixx> |
11 | #include <IGESData_ParamCursor.hxx> |
12 | #include <gp_XY.hxx> |
13 | #include <gp_Pnt2d.hxx> |
14 | #include <IGESDimen_GeneralNote.hxx> |
15 | #include <IGESDimen_LeaderArrow.hxx> |
16 | #include <IGESData_Dump.hxx> |
17 | #include <Interface_Macros.hxx> |
18 | |
19 | |
20 | IGESDimen_ToolDiameterDimension::IGESDimen_ToolDiameterDimension () { } |
21 | |
22 | |
23 | void IGESDimen_ToolDiameterDimension::ReadOwnParams |
24 | (const Handle(IGESDimen_DiameterDimension)& 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(IGESDimen_LeaderArrow) firstLeader; |
31 | Handle(IGESDimen_LeaderArrow) secondLeader; |
32 | gp_XY center; |
33 | |
34 | PR.ReadEntity(IR, PR.Current(), "General Note Entity", |
35 | STANDARD_TYPE(IGESDimen_GeneralNote), note); //szv#4:S4163:12Mar99 `st=` not needed |
36 | |
37 | PR.ReadEntity(IR, PR.Current(), "First Leader Entity", |
38 | STANDARD_TYPE(IGESDimen_LeaderArrow), firstLeader); //szv#4:S4163:12Mar99 `st=` not needed |
39 | |
40 | PR.ReadEntity (IR,PR.Current(),"Second Leader Entity", |
41 | STANDARD_TYPE(IGESDimen_LeaderArrow), secondLeader, Standard_True); //szv#4:S4163:12Mar99 `st=` not needed |
42 | |
43 | PR.ReadXY(PR.CurrentList(1, 2), "Arc Center Co-ords", center); //szv#4:S4163:12Mar99 `st=` not needed |
44 | |
45 | DirChecker(ent).CheckTypeAndForm(PR.CCheck(),ent); |
46 | ent->Init(note, firstLeader, secondLeader, center); |
47 | } |
48 | |
49 | void IGESDimen_ToolDiameterDimension::WriteOwnParams |
50 | (const Handle(IGESDimen_DiameterDimension)& ent, IGESData_IGESWriter& IW) const |
51 | { |
52 | IW.Send(ent->Note()); |
53 | IW.Send(ent->FirstLeader()); |
54 | IW.Send(ent->SecondLeader()); |
55 | IW.Send(ent->Center().X()); |
56 | IW.Send(ent->Center().Y()); |
57 | } |
58 | |
59 | void IGESDimen_ToolDiameterDimension::OwnShared |
60 | (const Handle(IGESDimen_DiameterDimension)& ent, Interface_EntityIterator& iter) const |
61 | { |
62 | iter.GetOneItem(ent->Note()); |
63 | iter.GetOneItem(ent->FirstLeader()); |
64 | iter.GetOneItem(ent->SecondLeader()); |
65 | } |
66 | |
67 | void IGESDimen_ToolDiameterDimension::OwnCopy |
68 | (const Handle(IGESDimen_DiameterDimension)& another, |
69 | const Handle(IGESDimen_DiameterDimension)& ent, Interface_CopyTool& TC) const |
70 | { |
71 | DeclareAndCast(IGESDimen_GeneralNote, note, |
72 | TC.Transferred(another->Note())); |
73 | DeclareAndCast(IGESDimen_LeaderArrow, firstLeader, |
74 | TC.Transferred(another->FirstLeader())); |
75 | DeclareAndCast(IGESDimen_LeaderArrow, secondLeader, |
76 | TC.Transferred(another->SecondLeader())); |
77 | gp_XY center = (another->Center()).XY(); |
78 | |
79 | ent->Init(note, firstLeader, secondLeader, center); |
80 | } |
81 | |
82 | IGESData_DirChecker IGESDimen_ToolDiameterDimension::DirChecker |
83 | (const Handle(IGESDimen_DiameterDimension)& /* ent */) const |
84 | { |
85 | IGESData_DirChecker DC (206, 0); |
86 | DC.Structure(IGESData_DefVoid); |
87 | DC.LineFont(IGESData_DefAny); |
88 | DC.LineWeight(IGESData_DefValue); |
89 | DC.Color(IGESData_DefAny); |
90 | DC.UseFlagRequired(1); |
91 | return DC; |
92 | } |
93 | |
94 | void IGESDimen_ToolDiameterDimension::OwnCheck |
95 | (const Handle(IGESDimen_DiameterDimension)& /* ent */, |
96 | const Interface_ShareTool& , Handle(Interface_Check)& /* ach */) const |
97 | { |
98 | } |
99 | |
100 | void IGESDimen_ToolDiameterDimension::OwnDump |
101 | (const Handle(IGESDimen_DiameterDimension)& ent, const IGESData_IGESDumper& dumper, |
102 | const Handle(Message_Messenger)& S, const Standard_Integer level) const |
103 | { |
104 | Standard_Integer sublevel = (level > 4) ? 1 : 0; |
105 | |
106 | S << "IGESDimen_DiameterDimension" << endl; |
107 | S << "General Note Entity : "; |
108 | dumper.Dump(ent->Note(),S, sublevel); |
109 | S << endl; |
110 | S << "First Leader Entity : "; |
111 | dumper.Dump(ent->FirstLeader(),S, sublevel); |
112 | S << endl; |
113 | S << "Second Leader Entity : "; |
114 | dumper.Dump(ent->SecondLeader(),S, sublevel); |
115 | S << endl; |
116 | S << "Center Point : "; |
117 | IGESData_DumpXYL(S,level, ent->Center(), ent->Location()); |
118 | S << endl; |
119 | } |
120 | |