1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
|
//--------------------------------------------------------------------
//
// File Name : IGESGraph_NominalSize.cxx
// Date :
// Author : CKY / Contract Toubro-Larsen
// Copyright : MATRA-DATAVISION 1993
//
//--------------------------------------------------------------------
#include <IGESGraph_ToolNominalSize.ixx>
#include <IGESData_ParamCursor.hxx>
#include <TCollection_HAsciiString.hxx>
#include <Interface_Macros.hxx>
#include <IGESData_Dump.hxx>
IGESGraph_ToolNominalSize::IGESGraph_ToolNominalSize () { }
void IGESGraph_ToolNominalSize::ReadOwnParams
(const Handle(IGESGraph_NominalSize)& ent,
const Handle(IGESData_IGESReaderData)& /*IR*/, IGESData_ParamReader& PR) const
{
//Standard_Boolean st; //szv#4:S4163:12Mar99 not needed
Standard_Integer nbPropertyValues;
Standard_Real nominalSizeValue;
Handle(TCollection_HAsciiString) nominalSizeName;
Handle(TCollection_HAsciiString) standardName;
// Reading nbPropertyValues(Integer)
PR.ReadInteger(PR.Current(), "No. of property values", nbPropertyValues); //szv#4:S4163:12Mar99 `st=` not needed
if ( (nbPropertyValues != 2) && (nbPropertyValues != 3) )
PR.AddFail("No. of Property values : Value is not 2/3");
// Reading nominalSizeValue(Real)
PR.ReadReal (PR.Current(), "Nominal size value", nominalSizeValue); //szv#4:S4163:12Mar99 `st=` not needed
// Reading nominalSizeName(String)
PR.ReadText (PR.Current(), "Nominal size name", nominalSizeName); //szv#4:S4163:12Mar99 `st=` not needed
if ( PR.NbParams() >= PR.CurrentNumber() )
{
Standard_Integer num = PR.CurrentNumber();
if ( PR.ParamType(num) == Interface_ParamText )
// Reading standardName(String)
PR.ReadText (PR.Current(), "Name of relevant engg. standard",
standardName); //szv#4:S4163:12Mar99 `st=` not needed
}
DirChecker(ent).CheckTypeAndForm(PR.CCheck(),ent);
ent->Init
(nbPropertyValues, nominalSizeValue, nominalSizeName, standardName);
}
void IGESGraph_ToolNominalSize::WriteOwnParams
(const Handle(IGESGraph_NominalSize)& ent, IGESData_IGESWriter& IW) const
{
IW.Send( ent->NbPropertyValues() );
IW.Send( ent->NominalSizeValue() );
IW.Send( ent->NominalSizeName() );
if (ent->HasStandardName() )
IW.Send( ent->StandardName() ); // optionnal
}
void IGESGraph_ToolNominalSize::OwnShared
(const Handle(IGESGraph_NominalSize)& /*ent*/, Interface_EntityIterator& /*iter*/) const
{
}
void IGESGraph_ToolNominalSize::OwnCopy
(const Handle(IGESGraph_NominalSize)& another,
const Handle(IGESGraph_NominalSize)& ent, Interface_CopyTool& /*TC*/) const
{
Standard_Integer nbPropertyValues;
Standard_Real nominalSizeValue;
Handle(TCollection_HAsciiString) nominalSizeName;
Handle(TCollection_HAsciiString) standardName;
nbPropertyValues = another->NbPropertyValues();
nominalSizeValue = another->NominalSizeValue();
nominalSizeName = new TCollection_HAsciiString(another->NominalSizeName());
if (another->HasStandardName()) standardName =
new TCollection_HAsciiString(another->StandardName());
ent->Init(nbPropertyValues, nominalSizeValue, nominalSizeName, standardName);
}
Standard_Boolean IGESGraph_ToolNominalSize::OwnCorrect
(const Handle(IGESGraph_NominalSize)& ent) const
{
Standard_Integer nbp = 2;
if (ent->HasStandardName()) nbp = 3;
Standard_Boolean res = ( ent->NbPropertyValues() != nbp);
if (res) ent->Init
(nbp,ent->NominalSizeValue(),ent->NominalSizeName(),ent->StandardName());
return res; // nbpropertyvalues=2/3 selon standard
}
IGESData_DirChecker IGESGraph_ToolNominalSize::DirChecker
(const Handle(IGESGraph_NominalSize)& /*ent*/) const
{
IGESData_DirChecker DC (406, 13);
DC.Structure(IGESData_DefVoid);
DC.LineFont(IGESData_DefVoid);
DC.LineWeight(IGESData_DefVoid);
DC.Color(IGESData_DefVoid);
DC.BlankStatusIgnored();
DC.UseFlagIgnored();
DC.HierarchyStatusIgnored();
return DC;
}
void IGESGraph_ToolNominalSize::OwnCheck
(const Handle(IGESGraph_NominalSize)& ent,
const Interface_ShareTool& , Handle(Interface_Check)& ach) const
{
Standard_Integer nbp = 2;
if (ent->HasStandardName()) nbp = 3;
if ( ent->NbPropertyValues() != nbp) ach->AddFail
("No. of Property values : Value != 2/3 according Standard Name Status");
}
void IGESGraph_ToolNominalSize::OwnDump
(const Handle(IGESGraph_NominalSize)& ent, const IGESData_IGESDumper& /*dumper*/,
const Handle(Message_Messenger)& S, const Standard_Integer /*level*/) const
{
S << "IGESGraph_NominalSize" << endl;
S << "No. of property values : " << ent->NbPropertyValues() << endl;
S << "Nominal size value : " << ent->NominalSizeValue() << endl;
S << "Nominal size name : ";
IGESData_DumpString(S,ent->NominalSizeName());
S << endl;
S << "Name of relevant engineering standard : ";
IGESData_DumpString(S,ent->StandardName());
S << endl;
}
|