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.
134 lines
4.8 KiB
134 lines
4.8 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, Ptn0PartitionLineDelegate
|
|
Filename: Ptn0PartitionLineDelegate.hxx
|
|
Module: ptn0partition
|
|
@BMIDE autogenerated
|
|
==================================================================================================*/
|
|
|
|
#ifndef TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX
|
|
#define TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX
|
|
|
|
#include <common/tc_deprecation_macros.h>
|
|
#include <ptn0partition/Ptn0PartitionLine.hxx>
|
|
|
|
#include <ptn0partition/libptn0partition_exports.h>
|
|
|
|
namespace Teamcenter
|
|
{
|
|
namespace Partition
|
|
{
|
|
class Ptn0PartitionLineDelegate;
|
|
}
|
|
}
|
|
namespace Teamcenter
|
|
{
|
|
namespace Partition
|
|
{
|
|
class Ptn0PartitionLineImpl;
|
|
}
|
|
}
|
|
namespace Teamcenter
|
|
{
|
|
namespace Partition
|
|
{
|
|
class Ptn0PartitionLine;
|
|
}
|
|
}
|
|
namespace Teamcenter
|
|
{
|
|
namespace Partition
|
|
{
|
|
class Ptn0PartitionLineGenImpl;
|
|
}
|
|
}
|
|
|
|
namespace Teamcenter_alias = ::Teamcenter;
|
|
|
|
|
|
class PTN0PARTITION_API Teamcenter_alias::Partition::Ptn0PartitionLineDelegate
|
|
{
|
|
public:
|
|
// Method to initialize this Class
|
|
static int initializeClass();
|
|
|
|
// Method to get the Ptn0PartitionLineDelegate instance
|
|
static Ptn0PartitionLineDelegate& getInstance();
|
|
|
|
// Method to create the Ptn0PartitionLineImpl pointer
|
|
static Ptn0PartitionLineImpl* createImpl( Ptn0PartitionLine& ifObj );
|
|
|
|
// Method to delete the Ptn0PartitionLineImpl pointer
|
|
static void deleteImpl( Ptn0PartitionLineImpl* impl );
|
|
|
|
|
|
///
|
|
/// Getter for an Integer Property
|
|
/// @version Teamcenter 13.1
|
|
/// @param value - Parameter Value
|
|
/// @param isNull - Returns true if the Parameter value is null
|
|
/// @return - Status. 0 if successful
|
|
///
|
|
int getPtn0ChildPartitionCountBase(const Ptn0PartitionLine &ifObj, int &value, bool &isNull ) const;
|
|
|
|
|
|
///
|
|
/// Returns the BOMLines that are members of the Partition.
|
|
/// @version Teamcenter 13.1
|
|
/// @param values - Parameter value
|
|
/// @param isNull - Returns true for an array element if the parameter value at that location is null
|
|
/// @return - Status. 0 if successful
|
|
///
|
|
int getPtn0MembersBase(const Ptn0PartitionLine &ifObj, std::vector< tag_t > &values, std::vector< int > &isNull ) const;
|
|
|
|
|
|
///
|
|
/// Expands a set of BOM Lines from the same BOM Window, each to one level. The order of the returned child BOM Lines is not guaranteed.The parameter expansionCriteria is a set of bitwise or-ed flags controlling the expansion behavior, see Expansion Criteria Flags.
|
|
/// @version Teamcenter 12.2
|
|
/// @param bulkInput - Bulk Input containing the input parent BOMLines that need to be expanded.
|
|
/// @param bd - Bulk Data required for bulk processiong of the inputs.
|
|
/// @param expansionCriteria - Contains bit flags controlling expansion behavior. Refer to the section #Expansion_Criteria.
|
|
/// @param occurenceThreads - Occurrence thread tags used in filter by occurrence threads.
|
|
/// @param occurenceThreadParents - BOMLine tags of parent BOMLine for each occurrence thread, used in filter by occurrence threads.
|
|
/// @param parentLinesToChildLinesMap - Map containing keys as the parent input lines and values as their respective children.
|
|
/// @param errorMap - Map of all the errors during the expansion of the Parent Lines.
|
|
/// @return -
|
|
///
|
|
int fnd0ExpandLinesBase( std::vector< ::Teamcenter::BulkInput* > *bulkInput, ::Teamcenter::BulkData *bd, int expansionCriteria, std::vector< tag_t > *occurenceThreads, std::vector< tag_t > *occurenceThreadParents, std::map< tag_t,std::vector< tag_t > > *parentLinesToChildLinesMap, ::Teamcenter::ErrorMap *errorMap );
|
|
|
|
|
|
///
|
|
/// Generates permanent ID/recipe. Every Business Object should implement this operation.
|
|
/// @version Teamcenter 11.1
|
|
/// @param recipe - Permanent ID/recipe
|
|
/// @return - Failure code.
|
|
///
|
|
int fnd0GenerateRecipeBase(const Ptn0PartitionLine &ifObj, std::string *recipe );
|
|
|
|
|
|
|
|
protected:
|
|
// Pointer to the instance
|
|
static Ptn0PartitionLineDelegate* m_pInstance;
|
|
|
|
Ptn0PartitionLineDelegate();
|
|
virtual ~Ptn0PartitionLineDelegate();
|
|
static void setInstance( Ptn0PartitionLineDelegate* instance );
|
|
|
|
|
|
private:
|
|
friend class ::Teamcenter::Partition::Ptn0PartitionLineGenImpl;
|
|
|
|
};
|
|
|
|
#include <ptn0partition/libptn0partition_undef.h>
|
|
#endif // TEAMCENTER__PARTITION__PTN0PARTITIONLINEDELEGATE_HXX
|