Integration of OCCT 6.5.0 from SVN
[occt.git] / src / IGESDefs / IGESDefs_AssociativityDef.cxx
CommitLineData
7fd59977 1//--------------------------------------------------------------------
2//
3// File Name : IGESDefs_AssociativityDef.cxx
4// Date :
5// Author : CKY / Contract Toubro-Larsen
6// Copyright : MATRA-DATAVISION 1993
7//
8//--------------------------------------------------------------------
9
10#include <IGESDefs_AssociativityDef.ixx>
11
12
13 IGESDefs_AssociativityDef::IGESDefs_AssociativityDef () { }
14
15
16 void IGESDefs_AssociativityDef::Init
17 (const Handle(TColStd_HArray1OfInteger)& requirements,
18 const Handle(TColStd_HArray1OfInteger)& orders,
19 const Handle(TColStd_HArray1OfInteger)& numItems,
20 const Handle(IGESBasic_HArray1OfHArray1OfInteger)& items)
21{
22 Standard_Integer len = requirements->Length();
23 if ( requirements->Lower() != 1 ||
24 (orders->Lower() != 1 || orders->Length() != len) ||
25 (numItems->Lower() != 1 || numItems->Length() != len) ||
26 (items->Lower() != 1 || items->Length() != len) )
27 Standard_DimensionMismatch::Raise("IGESDefs_AssociativityDef : Init");
28
29 theBackPointerReqs = requirements;
30 theClassOrders = orders;
31 theNbItemsPerClass = numItems;
32 theItems = items;
33 InitTypeAndForm(302,FormNumber());
34// FormNumber is free over 5000
35}
36
37 void IGESDefs_AssociativityDef::SetFormNumber (const Standard_Integer form)
38{
39 InitTypeAndForm(302,form);
40}
41
42 Standard_Integer IGESDefs_AssociativityDef::NbClassDefs () const
43{
44 return theBackPointerReqs->Length();
45}
46
47 Standard_Boolean IGESDefs_AssociativityDef::IsBackPointerReq
48 (const Standard_Integer ClassNum) const
49{
50 return (theBackPointerReqs->Value(ClassNum) == 1);
51// 1 True 2 False
52}
53
54 Standard_Integer IGESDefs_AssociativityDef::BackPointerReq
55 (const Standard_Integer ClassNum) const
56{
57 return theBackPointerReqs->Value(ClassNum);
58}
59
60 Standard_Boolean IGESDefs_AssociativityDef::IsOrdered
61 (const Standard_Integer ClassNum) const
62{
63 return (theClassOrders->Value(ClassNum) == 1);
64// 1 True 2 False
65}
66
67 Standard_Integer IGESDefs_AssociativityDef::ClassOrder
68 (const Standard_Integer ClassNum) const
69{
70 return theClassOrders->Value(ClassNum);
71}
72
73 Standard_Integer IGESDefs_AssociativityDef::NbItemsPerClass
74 (const Standard_Integer ClassNum) const
75{
76 return theNbItemsPerClass->Value(ClassNum);
77}
78
79 Standard_Integer IGESDefs_AssociativityDef::Item
80 (const Standard_Integer ClassNum, const Standard_Integer ItemNum) const
81{
82 return theItems->Value(ClassNum)->Value(ItemNum);
83}