// This file is generated by WOK (CPPExt).
// Please do not edit this file; modify original file instead.
// The copyright and license terms as defined for the original file apply to 
// this header file considered to be the "object code" form of the original source.

#ifndef _IGESAppli_PWBArtworkStackup_HeaderFile
#define _IGESAppli_PWBArtworkStackup_HeaderFile

#include <Standard.hxx>
#include <Standard_DefineHandle.hxx>
#include <Handle_IGESAppli_PWBArtworkStackup.hxx>

#include <Standard_Integer.hxx>
#include <Handle_TCollection_HAsciiString.hxx>
#include <Handle_TColStd_HArray1OfInteger.hxx>
#include <IGESData_IGESEntity.hxx>
class TCollection_HAsciiString;
class TColStd_HArray1OfInteger;
class Standard_OutOfRange;


//! defines PWBArtworkStackup, Type <406> Form <25>
//! in package IGESAppli
//! Used to communicate which exchange file levels are to
//! be combined in order to create the artwork for a
//! printed wire board (PWB). This property should be
//! attached to the entity defining the printed wire
//! assembly (PWA) or if no such entity exists, then the
//! property should stand alone in the file.
class IGESAppli_PWBArtworkStackup : public IGESData_IGESEntity
{

public:

  
  Standard_EXPORT IGESAppli_PWBArtworkStackup();
  
  //! This method is used to set the fields of the class
  //! PWBArtworkStackup
  //! - nbPropVal    : number of property values
  //! - anArtIdent   : Artwork Stackup Identification
  //! - allLevelNums : Level Numbers
  Standard_EXPORT   void Init (const Standard_Integer nbPropVal, const Handle(TCollection_HAsciiString)& anArtIdent, const Handle(TColStd_HArray1OfInteger)& allLevelNums) ;
  
  //! returns number of property values
  Standard_EXPORT   Standard_Integer NbPropertyValues()  const;
  
  //! returns Artwork Stackup Identification
  Standard_EXPORT   Handle(TCollection_HAsciiString) Identification()  const;
  
  //! returns total number of Level Numbers
  Standard_EXPORT   Standard_Integer NbLevelNumbers()  const;
  
  //! returns Level Number
  //! raises exception if Index <= 0 or Index > NbLevelNumbers
  Standard_EXPORT   Standard_Integer LevelNumber (const Standard_Integer Index)  const;




  DEFINE_STANDARD_RTTI(IGESAppli_PWBArtworkStackup)

protected:




private: 


  Standard_Integer theNbPropertyValues;
  Handle(TCollection_HAsciiString) theArtworkStackupIdent;
  Handle(TColStd_HArray1OfInteger) theLevelNumbers;


};







#endif // _IGESAppli_PWBArtworkStackup_HeaderFile
