#ifndef PRO_MERGE_H
#define PRO_MERGE_H
/*
Creo Parametric TOOLKIT declarations related to Surface Merge feature.
*/
#include <ProToolkit.h>
PRO_BEGIN_C_DECLS
/*=============================================================================
(1) Feature element tree
PRO_E_FEATURE_TREE
|
|--PRO_E_FEATURE_TYPE
|
|--PRO_E_SRF_MRG_QUILT_ARR
| |
| |--PRO_E_SRF_MRG_QUILT_CMPD
| |
| |--PRO_E_SRF_MRG_QUILT_REF
| |--PRO_E_SRF_MRG_QUILT_SIDE
|
|--PRO_E_SRF_MRG_TYPE
|--PRO_E_STD_FEATURE_NAME
===============================================================================
(2) Feature elements table
-------------------------------------------------------------------------------
Element Id Element Name Data Type
-------------------------------------------------------------------------------
PRO_E_FEATURE_TYPE Feature Type PRO_VALUE_TYPE_INT
PRO_E_SRF_MRG_QUILT_ARR Quilts Array
PRO_E_SRF_MRG_QUILT_CMPD Quilt Compound
PRO_E_SRF_MRG_QUILT_REF Quilt PRO_VALUE_TYPE_SELECTION
PRO_E_SRF_MRG_QUILT_SIDE Quilt Side PRO_VALUE_TYPE_INT
PRO_E_SRF_MRG_TYPE Merge Type PRO_VALUE_TYPE_INT
PRO_E_STD_FEATURE_NAME Feature Name PRO_VALUE_TYPE_WSTRING
===============================================================================
(3) Element Values Table
-------------------------------------------------------------------------------
Element Id Element Name Valid Values
-------------------------------------------------------------------------------
PRO_E_FEATURE_TYPE Feature Type PRO_FEAT_DATUM_QUILT
PRO_E_SRF_MRG_QUILT_ARR Quilts Array element
PRO_E_SRF_MRG_QUILT_CMPD Quilt Compound element
PRO_E_SRF_MRG_QUILT_REF Quilt PRO_QUILT
PRO_E_SRF_MRG_QUILT_SIDE Quilt Side ProSrfMrgQltSide
PRO_E_SRF_MRG_TYPE Merge Type ProSrfMrgType
PRO_E_STD_FEATURE_NAME Feature Name See Note-4
===============================================================================
(4) Mapping Table
-------------------------------------------------------------------------------
Element Name Comment
-------------------------------------------------------------------------------
PRO_E_FEATURE_TYPE Mandatory
PRO_E_SRF_MRG_QUILT_ARR Array element (Note-1)
PRO_E_SRF_MRG_QUILT_CMPD Compound element
PRO_E_SRF_MRG_QUILT_REF Mandatory
PRO_E_SRF_MRG_QUILT_SIDE Optional (Note-2)
PRO_E_SRF_MRG_TYPE Optional (Note-2, Note-3)
PRO_E_STD_FEATURE_NAME Optional (Note-4)
===============================================================================
(5) Notes
Note-1 : Must have at least two elements to create a feature.
Note-2 : Unavailible when the "Quilts" array contains more than 2 elements.
Note-3 : Default Merge Type is PRO_MRG_TYPE_INTERSECT.
Note-4 : Merge feature name.
Default value is "SURFACE_MERGE".
=============================================================================*/
/*
(6) Enum Declarations
*/
/* ==================== */
/* Merge Type Options */
/* ==================== */
typedef enum pro_srf_mrg_type
{
PRO_SRF_MRG_JOIN = 1,
PRO_SRF_MRG_INTSCT = 2
} ProSrfMrgType;
/* ==================== */
/* Side options of Merge: */
/* ==================== */
typedef enum pro_srf_mrg_qlt_side
{
PRO_SRF_MRG_QLT_SIDE_1 = 1,
PRO_SRF_MRG_QLT_SIDE_2 = -1
} ProSrfMrgQltSide;
/*=============================================================================
Legacy Surface Merge element tree.
=============================================================================*/
/*=============================================================================
(1) Feature element tree
PRO_E_FEATURE_TREE
|
|--PRO_E_FEATURE_TYPE
|
|-- PRO_E_SRF_MRG_PRNT_QLT
|
|-- PRO_E_SRF_MRG_ADTL_QLT
|
|-- PRO_E_SRF_MRG_TYPE
|
|-- PRO_E_SRF_MRG_PRNT_QLT_SIDE
|
|-- PRO_E_SRF_MRG_ADTL_QLT_SIDE
|
|-- PRO_E_STD_FEATURE_NAME
===============================================================================
(2) Feature elements table
-------------------------------------------------------------------------------
Element Id Element Name Data Type
-------------------------------------------------------------------------------
PRO_E_FEATURE_TYPE Feature Type PRO_VALUE_TYPE_INT
PRO_E_SRF_MRG_PRNT_QLT Parent Quilt PRO_VALUE_TYPE_SELECTION
PRO_E_SRF_MRG_ADTL_QLT Additional Quilt PRO_VALUE_TYPE_SELECTION
PRO_E_SRF_MRG_TYPE Merge Type PRO_VALUE_TYPE_INT
PRO_E_SRF_MRG_PRNT_QLT_SIDE Parent Quilt Side PRO_VALUE_TYPE_INT
PRO_E_SRF_MRG_ADTL_QLT_SIDE Additional Quilt Side PRO_VALUE_TYPE_INT
PRO_E_STD_FEATURE_NAME Feature Name PRO_VALUE_TYPE_WSTRING
===============================================================================
(3) Element Values Table
-------------------------------------------------------------------------------
Element Id Element Name Valid Values
-------------------------------------------------------------------------------
PRO_E_FEATURE_TYPE Feature Type PRO_FEAT_DATUM_QUILT
PRO_E_SRF_MRG_PRNT_QLT Parent Quilt PRO_QUILT
PRO_E_SRF_MRG_ADTL_QLT Additional Quilt PRO_QUILT
PRO_E_SRF_MRG_TYPE Merge Type ProSrfMrgType
PRO_E_SRF_MRG_PRNT_QLT_SIDE Parent Quilt Side ProSrfMrgQltSide
PRO_E_SRF_MRG_ADTL_QLT_SIDE Additional Quilt Side ProSrfMrgQltSide
PRO_E_STD_FEATURE_NAME Feature Name See Note-4
===============================================================================
(4) Mapping Table
-------------------------------------------------------------------------------
Element Name Comment
-------------------------------------------------------------------------------
PRO_E_FEATURE_TYPE Mandatory
PRO_E_SRF_MRG_PRNT_QLT Mandatory
PRO_E_SRF_MRG_ADTL_QLT Mandatory
PRO_E_SRF_MRG_TYPE Optional(Note-3)
PRO_E_SRF_MRG_PRNT_QLT_SIDE Optional
PRO_E_SRF_MRG_ADTL_QLT_SIDE Optional
PRO_E_STD_FEATURE_NAME Optional(Note-4)
===============================================================================
=============================================================================*/
PRO_END_C_DECLS
#endif /* PRO_MERGE_H */