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 | |
33 | IGESDimen_ToolDiameterDimension::IGESDimen_ToolDiameterDimension () { } |
34 | |
35 | |
36 | void 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 | |
62 | void 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 | |
72 | void 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 | |
80 | void 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 | |
95 | IGESData_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 | |
107 | void IGESDimen_ToolDiameterDimension::OwnCheck |
108 | (const Handle(IGESDimen_DiameterDimension)& /* ent */, |
109 | const Interface_ShareTool& , Handle(Interface_Check)& /* ach */) const |
110 | { |
111 | } |
112 | |
113 | void 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 | |