You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

153 lines
5.6 KiB

//Copyright 2020 Siemens Digital Industries Software
//==================================================
//Copyright $2020.
//Siemens Product Lifecycle Management Software Inc.
//All Rights Reserved.
//==================================================
//Copyright 2020 Siemens Digital Industries Software
/*==================================================================================================
File description:
This file contains the declaration for the Business Object, Bom0AbstractPart
Filename: Bom0AbstractPart.hxx
Module: Bom0bommanagement
@BMIDE autogenerated
==================================================================================================*/
#ifndef TEAMCENTER__BOM0BOMMANAGEMENT__BOM0ABSTRACTPART__HXX
#define TEAMCENTER__BOM0BOMMANAGEMENT__BOM0ABSTRACTPART__HXX
#include <metaframework/BulkInput.hxx>
#include <metaframework/BulkData.hxx>
#include <common/tc_deprecation_macros.h>
#include <Bom0bommanagement/Bom0ConfigurableBomElement.hxx>
#include <Bom0bommanagement/libbom0bommanagement_exports.h>
namespace Teamcenter
{
namespace Bom0bommanagement
{
class Bom0AbstractPart;
}
}
namespace Teamcenter
{
namespace Bom0bommanagement
{
class Bom0AbstractPartImpl;
}
}
namespace Teamcenter
{
namespace Bom0bommanagement
{
class Bom0AbstractPartDelegate;
}
}
namespace Teamcenter
{
namespace Bom0bommanagement
{
class Bom0AbstractPartDispatch;
}
}
namespace Teamcenter
{
namespace Bom0bommanagement
{
class Bom0AbstractPartGenImpl;
}
}
namespace Teamcenter
{
class RootObjectImpl;
}
class BOM0BOMMANAGEMENT_API Teamcenter::Bom0bommanagement::Bom0AbstractPart
: public ::Teamcenter::Bom0bommanagement::Bom0ConfigurableBomElement
{
public:
/**
* Get the Interface Name
* @return - return desc for getInterfaceName
*/
static const std::string& getInterfaceName();
///
/// The operation aligns part (Bom0AbstractPart) and design revision(s) (ItemRevision). For each part, primary design given as input will be marked as primary design. If none of the aligned design(s) exists as primary design and no primary design is given as input, first design getting aligned will be marked as primary design.
/// @version Teamcenter 11.2.3
/// @param input - A vector of data that contains part, corresponding design revision(s) and design revision to mark as primary design. It should be of type Bom0PartDesignAlgnmtInput.
/// @param bulkData - A data structure to store objects and other information relevant for set based operation.
/// @return - This operation returns ITK_ok on success and error code on failure.
///
static int bom0AlignDesigns( std::vector< ::Teamcenter::BulkInput* > *input, ::Teamcenter::BulkData *bulkData );
///
/// The operation marks design revision (ItemRevision) as primary design on a part (Bom0AbstractPart). This will remove existing primary design (if any).
/// @version Teamcenter 11.2.3
/// @param input - A vector of data that contains part and corresponding design to be marked as primary design. It should be of type Bom0MarkPrimaryDesignInput.
/// @param bulkData - A data structure to store objects and other information relevant for set based operation.
/// @return - This operation returns ITK_ok on success and error code on failure.
///
static int bom0MarkPrimaryDesign( std::vector< ::Teamcenter::BulkInput* > *input, ::Teamcenter::BulkData *bulkData );
///
/// The operation un-aligns part (Bom0AbstractPart) and design revision(s) (ItemRevision). If the primary design is being un-aligned, primary relationship will also be removed.
/// @version Teamcenter 11.2.3
/// @param input - A vector of data that contains part and corresponding design revision(s) for unalignment. It should be of type Bom0PartDesignUnAlgnmtInput.
/// @param bulkData - A data structure to store objects and other information relevant for set based operation.
/// @return - This operation returns ITK_ok on success and error code on failure.
///
static int bom0UnAlignDesigns( std::vector< ::Teamcenter::BulkInput* > *input, ::Teamcenter::BulkData *bulkData );
protected:
// Method to initialize
virtual void initialize( ::Teamcenter::RootObjectImpl* impl );
/**
* Constructor
*/
Bom0AbstractPart();
/**
* Destructor
*/
virtual ~Bom0AbstractPart();
private:
// Getter method for the Implementation Object
Bom0AbstractPartImpl* getBom0AbstractPartImpl() const;
// Setter method for the Implementation Object
::Teamcenter::RootObjectImpl* setBom0AbstractPartImpl( ::Teamcenter::RootObjectImpl* impl );
// Method to set the delete impl boolean
void setDeleteImpl( bool del );
// Pointer to the Implementation object
Bom0AbstractPartImpl* m_bom0abstractpartImpl;
// Flag to indicate if Implementation object needs to be deleted
bool m_deleteImpl;
/**
* Name of the Business Object
*/
static std::string name;
/**
* Private default constructor. We do not want this class instantiated without the business object passed in.
* @param Bom0AbstractPart - desc for Bom0AbstractPart parameter
*/
Bom0AbstractPart( const Bom0AbstractPart& );
Bom0AbstractPart& operator=( const Bom0AbstractPart& );
friend class Bom0AbstractPartDelegate;
friend class Bom0AbstractPartDispatch;
friend class Bom0AbstractPartGenImpl;
};
#include <Bom0bommanagement/libbom0bommanagement_undef.h>
#endif // TEAMCENTER__BOM0BOMMANAGEMENT__BOM0ABSTRACTPART__HXX