1 //--------------------------------------------------------------------
3 // File Name : IGESDefs_AssociativityDef.cxx
5 // Author : CKY / Contract Toubro-Larsen
6 // Copyright : MATRA-DATAVISION 1993
8 //--------------------------------------------------------------------
10 #include <IGESDefs_AssociativityDef.ixx>
13 IGESDefs_AssociativityDef::IGESDefs_AssociativityDef () { }
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)
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");
29 theBackPointerReqs = requirements;
30 theClassOrders = orders;
31 theNbItemsPerClass = numItems;
33 InitTypeAndForm(302,FormNumber());
34 // FormNumber is free over 5000
37 void IGESDefs_AssociativityDef::SetFormNumber (const Standard_Integer form)
39 InitTypeAndForm(302,form);
42 Standard_Integer IGESDefs_AssociativityDef::NbClassDefs () const
44 return theBackPointerReqs->Length();
47 Standard_Boolean IGESDefs_AssociativityDef::IsBackPointerReq
48 (const Standard_Integer ClassNum) const
50 return (theBackPointerReqs->Value(ClassNum) == 1);
54 Standard_Integer IGESDefs_AssociativityDef::BackPointerReq
55 (const Standard_Integer ClassNum) const
57 return theBackPointerReqs->Value(ClassNum);
60 Standard_Boolean IGESDefs_AssociativityDef::IsOrdered
61 (const Standard_Integer ClassNum) const
63 return (theClassOrders->Value(ClassNum) == 1);
67 Standard_Integer IGESDefs_AssociativityDef::ClassOrder
68 (const Standard_Integer ClassNum) const
70 return theClassOrders->Value(ClassNum);
73 Standard_Integer IGESDefs_AssociativityDef::NbItemsPerClass
74 (const Standard_Integer ClassNum) const
76 return theNbItemsPerClass->Value(ClassNum);
79 Standard_Integer IGESDefs_AssociativityDef::Item
80 (const Standard_Integer ClassNum, const Standard_Integer ItemNum) const
82 return theItems->Value(ClassNum)->Value(ItemNum);