1 // Created by: CKY / Contract Toubro-Larsen
2 // Copyright (c) 1993-1999 Matra Datavision
3 // Copyright (c) 1999-2012 OPEN CASCADE SAS
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.
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.
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.
20 //--------------------------------------------------------------------
21 //--------------------------------------------------------------------
23 #include <IGESAppli_ToolPartNumber.ixx>
24 #include <IGESData_ParamCursor.hxx>
25 #include <TCollection_HAsciiString.hxx>
26 #include <Interface_Macros.hxx>
27 #include <IGESData_Dump.hxx>
30 IGESAppli_ToolPartNumber::IGESAppli_ToolPartNumber () { }
33 void IGESAppli_ToolPartNumber::ReadOwnParams
34 (const Handle(IGESAppli_PartNumber)& ent,
35 const Handle(IGESData_IGESReaderData)& /* IR */, IGESData_ParamReader& PR) const
37 //Standard_Boolean st; //szv#4:S4163:12Mar99 not needed
38 Standard_Integer tempNbPropertyValues;
39 Handle(TCollection_HAsciiString) tempGenericNumber;
40 Handle(TCollection_HAsciiString) tempMilitaryNumber;
41 Handle(TCollection_HAsciiString) tempVendorNumber;
42 Handle(TCollection_HAsciiString) tempInternalNumber;
44 //szv#4:S4163:12Mar99 `st=` not needed
45 if (PR.DefinedElseSkip())
46 PR.ReadInteger(PR.Current(), "Number of property values", tempNbPropertyValues);
48 tempNbPropertyValues = 4;
50 PR.ReadText(PR.Current(), "Generic Number or Name", tempGenericNumber);
51 PR.ReadText(PR.Current(), "Military Number or Name", tempMilitaryNumber);
52 PR.ReadText(PR.Current(), "Vendor Number or Name", tempVendorNumber);
53 PR.ReadText(PR.Current(), "Internal Number or Name", tempInternalNumber);
54 DirChecker(ent).CheckTypeAndForm(PR.CCheck(),ent);
55 ent->Init(tempNbPropertyValues, tempGenericNumber,
56 tempMilitaryNumber, tempVendorNumber, tempInternalNumber);
59 void IGESAppli_ToolPartNumber::WriteOwnParams
60 (const Handle(IGESAppli_PartNumber)& ent, IGESData_IGESWriter& IW) const
62 IW.Send(ent->NbPropertyValues());
63 IW.Send(ent->GenericNumber());
64 IW.Send(ent->MilitaryNumber());
65 IW.Send(ent->VendorNumber());
66 IW.Send(ent->InternalNumber());
69 void IGESAppli_ToolPartNumber::OwnShared
70 (const Handle(IGESAppli_PartNumber)& /* ent */, Interface_EntityIterator& /* iter */) const
74 void IGESAppli_ToolPartNumber::OwnCopy
75 (const Handle(IGESAppli_PartNumber)& another,
76 const Handle(IGESAppli_PartNumber)& ent, Interface_CopyTool& /* TC */) const
78 Standard_Integer tempNbPropertyValues = another->NbPropertyValues();
79 Handle(TCollection_HAsciiString) tempGenericNumber =
80 new TCollection_HAsciiString(another->GenericNumber());
81 Handle(TCollection_HAsciiString) tempMilitaryNumber =
82 new TCollection_HAsciiString(another->MilitaryNumber());
83 Handle(TCollection_HAsciiString) tempVendorNumber =
84 new TCollection_HAsciiString(another->VendorNumber());
85 Handle(TCollection_HAsciiString) tempInternalNumber =
86 new TCollection_HAsciiString(another->InternalNumber());
87 ent->Init(tempNbPropertyValues, tempGenericNumber, tempMilitaryNumber,
88 tempVendorNumber, tempInternalNumber);
91 Standard_Boolean IGESAppli_ToolPartNumber::OwnCorrect
92 (const Handle(IGESAppli_PartNumber)& ent) const
94 Standard_Boolean res = (ent->NbPropertyValues() != 4);
96 (4,ent->GenericNumber(),ent->MilitaryNumber(),ent->VendorNumber(),
97 ent->InternalNumber()); // nbpropertyvalues= 4
101 IGESData_DirChecker IGESAppli_ToolPartNumber::DirChecker
102 (const Handle(IGESAppli_PartNumber)& /* ent */ ) const
104 IGESData_DirChecker DC(406, 9);
105 DC.Structure(IGESData_DefVoid);
106 DC.GraphicsIgnored();
107 DC.LineFont(IGESData_DefVoid);
108 DC.LineWeight(IGESData_DefVoid);
109 DC.Color(IGESData_DefVoid);
110 DC.BlankStatusIgnored();
112 DC.HierarchyStatusIgnored();
116 void IGESAppli_ToolPartNumber::OwnCheck
117 (const Handle(IGESAppli_PartNumber)& ent,
118 const Interface_ShareTool& , Handle(Interface_Check)& ach) const
120 if (ent->NbPropertyValues() != 4)
121 ach->AddFail("Number of property values != 4");
124 void IGESAppli_ToolPartNumber::OwnDump
125 (const Handle(IGESAppli_PartNumber)& ent, const IGESData_IGESDumper& /* dumper */,
126 const Handle(Message_Messenger)& S, const Standard_Integer /* level */) const
128 //Standard_Integer sublevel = (level > 4) ? 1 : 0; //szv#4:S4163:12Mar99 unused
129 S << "IGESAppli_PartNumber" << endl;
130 S << "Number of property values : " << ent->NbPropertyValues() << endl;
131 S << "Generic Number or Name : ";
132 IGESData_DumpString(S,ent->GenericNumber());
134 S << "Military Number or Name : ";
135 IGESData_DumpString(S,ent->MilitaryNumber());
137 S << "Vendor Number or Name : ";
138 IGESData_DumpString(S,ent->VendorNumber());
140 S << "Internal Number or Name : ";
141 IGESData_DumpString(S,ent->InternalNumber());