1 // Created by: CKY / Contract Toubro-Larsen 2 // Copyright (c) 1993-1999 Matra Datavision 3 // Copyright (c) 1999-2014 OPEN CASCADE SAS 4 // 5 // This file is part of Open CASCADE Technology software library. 6 // 7 // This library is free software; you can redistribute it and/or modify it under 8 // the terms of the GNU Lesser General Public License version 2.1 as published 9 // by the Free Software Foundation, with special exception defined in the file 10 // OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT 11 // distribution for complete text of the license and disclaimer of any warranty. 12 // 13 // Alternatively, this file may be used under the terms of Open CASCADE 14 // commercial license or contractual agreement. 15 16 //-------------------------------------------------------------------- 17 //-------------------------------------------------------------------- 18 19 #include <IGESBasic_SingleParent.hxx> 20 #include <IGESData_IGESEntity.hxx> 21 #include <Standard_DimensionMismatch.hxx> 22 #include <Standard_OutOfRange.hxx> 23 #include <Standard_Type.hxx> 24 IMPLEMENT_STANDARD_RTTIEXT(IGESBasic_SingleParent,IGESData_SingleParentEntity)25IMPLEMENT_STANDARD_RTTIEXT(IGESBasic_SingleParent,IGESData_SingleParentEntity) 26 27 IGESBasic_SingleParent::IGESBasic_SingleParent () { } 28 29 Init(const Standard_Integer nbParentEntities,const Handle (IGESData_IGESEntity)& aParentEntity,const Handle (IGESData_HArray1OfIGESEntity)& allChildren)30 void IGESBasic_SingleParent::Init 31 (const Standard_Integer nbParentEntities, 32 const Handle(IGESData_IGESEntity)& aParentEntity, 33 const Handle(IGESData_HArray1OfIGESEntity)& allChildren) 34 { 35 if (!allChildren.IsNull() && allChildren->Lower() != 1) 36 throw Standard_DimensionMismatch("IGESBasic_SingleParent : Init"); 37 theParentEntity = aParentEntity; 38 theChildren = allChildren; 39 theNbParentEntities = nbParentEntities; 40 InitTypeAndForm(402,9); 41 } 42 43 NbChildren() const44 Standard_Integer IGESBasic_SingleParent::NbChildren () const 45 { 46 return(theChildren.IsNull() ? 0 : theChildren->Length()); 47 } 48 Handle(IGESData_IGESEntity)49 Handle(IGESData_IGESEntity) IGESBasic_SingleParent::Child 50 (const Standard_Integer Index) const 51 { 52 return theChildren->Value(Index); 53 } 54 NbParentEntities() const55 Standard_Integer IGESBasic_SingleParent::NbParentEntities () const 56 { 57 return theNbParentEntities; 58 } Handle(IGESData_IGESEntity)59 Handle(IGESData_IGESEntity) IGESBasic_SingleParent::SingleParent () const 60 { return theParentEntity; } 61 62