0027047: STEP -- eliminate useless polymorhic methods Init()
[occt.git] / src / StepBasic / StepBasic_ProductRelatedProductCategory.cxx
1 // Copyright (c) 1999-2014 OPEN CASCADE SAS
2 //
3 // This file is part of Open CASCADE Technology software library.
4 //
5 // This library is free software; you can redistribute it and/or modify it under
6 // the terms of the GNU Lesser General Public License version 2.1 as published
7 // by the Free Software Foundation, with special exception defined in the file
8 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
9 // distribution for complete text of the license and disclaimer of any warranty.
10 //
11 // Alternatively, this file may be used under the terms of Open CASCADE
12 // commercial license or contractual agreement.
13
14
15 #include <Standard_Type.hxx>
16 #include <StepBasic_Product.hxx>
17 #include <StepBasic_ProductRelatedProductCategory.hxx>
18 #include <TCollection_HAsciiString.hxx>
19
20 IMPLEMENT_STANDARD_RTTIEXT(StepBasic_ProductRelatedProductCategory,StepBasic_ProductCategory)
21
22 StepBasic_ProductRelatedProductCategory::StepBasic_ProductRelatedProductCategory ()  {}
23
24 void StepBasic_ProductRelatedProductCategory::Init(
25         const Handle(TCollection_HAsciiString)& aName,
26         const Standard_Boolean hasAdescription,
27         const Handle(TCollection_HAsciiString)& aDescription,
28         const Handle(StepBasic_HArray1OfProduct)& aProducts)
29 {
30         // --- classe own fields ---
31         products = aProducts;
32         // --- classe inherited fields ---
33         StepBasic_ProductCategory::Init(aName, hasAdescription, aDescription);
34 }
35
36
37 void StepBasic_ProductRelatedProductCategory::SetProducts(const Handle(StepBasic_HArray1OfProduct)& aProducts)
38 {
39         products = aProducts;
40 }
41
42 Handle(StepBasic_HArray1OfProduct) StepBasic_ProductRelatedProductCategory::Products() const
43 {
44         return products;
45 }
46
47 Handle(StepBasic_Product) StepBasic_ProductRelatedProductCategory::ProductsValue(const Standard_Integer num) const
48 {
49         return products->Value(num);
50 }
51
52 Standard_Integer StepBasic_ProductRelatedProductCategory::NbProducts () const
53 {
54         if (products.IsNull()) return 0;
55         return products->Length();
56 }