#ifndef PROROUNDH #define PROROUNDH #include <ProANSI.h> #include <ProObjects.h> #include <ProToolkit.h> PRO_BEGIN_C_DECLS /***************************************************************************** Feature element tree PRO_E_FEATURE_TREE | |--PRO_E_FEATURE_TYPE | |--PRO_E_STD_FEATURE_NAME |--PRO_E_RNDCH_SETS | | | |--PRO_E_RNDCH_SET | | | |--PRO_E_RNDCH_SHAPE_OPTIONS | |--PRO_E_RNDCH_VARIABLE_RADIUS | |--PRO_E_RNDCH_COMPOUND_CONIC | | | | | |--PRO_E_RNDCH_CONIC_TYPE | | |--PRO_E_RNDCH_CONIC_VALUE | | |--PRO_E_RNDCH_CONIC_DEP_OPT | | | |--PRO_E_RNDCH_REFERENCES | | | | | |--PRO_E_RNDCH_REFERENCE_TYPE | | |--PRO_E_STD_CURVE_COLLECTION_APPL | | |--PRO_E_RNDCH_REFERENCE_SURFACE1 | | |--PRO_E_RNDCH_REFERENCE_SURFACE2 | | |--PRO_E_RNDCH_REFERENCE_EDGE1 | | |--PRO_E_RNDCH_REFERENCE_EDGE2 | | |--PRO_E_RNDCH_REPLACE_SURFACE | | | |--PRO_E_RNDCH_COMPOUND_SPINE | | | | | |--PRO_E_RNDCH_BALL_SPINE | | |--PRO_E_STD_CURVE_COLLECTION_APPL | | | |--PRO_E_RNDCH_AUTO_CONTINUE | |--PRO_E_RNDCH_COMPOUND_EXT_OPTIONS | | | | | |--PRO_E_RNDCH_AUTO_BLEND | | |--PRO_E_RNDCH_TERM_SURFACE | | | |--PRO_E_RNDCH_RADII | | | | | |--PRO_E_RNDCH_RADIUS | | | | | |--PRO_E_STD_POINT_COLLECTION_APPL | | |--PRO_E_RNDCH_LEG1 | | | | | | | |--PRO_E_RNDCH_LEG_TYPE | | | |--PRO_E_RNDCH_LEG_VALUE | | | |--PRO_E_RNDCH_REFERENCE_EDGE | | | |--PRO_E_RNDCH_REFERENCE_POINT | | | | | |--PRO_E_RNDCH_LEG2 | | | | | |--PRO_E_RNDCH_LEG_TYPE | | |--PRO_E_RNDCH_LEG_VALUE | | |--PRO_E_RNDCH_REFERENCE_EDGE | | |--PRO_E_RNDCH_REFERENCE_POINT | | | |--PRO_E_STD_CURVE_COLLECTION_APPL | |--PRO_E_RNDCH_AMBIGUITY | |--PRO_E_RNDCH_ATTACH_TYPE |--PRO_E_RNDCH_TRANSITIONS | |--PRO_E_RNDCH_TRANSITION | |--PRO_E_RNDCH_TRANS_TYPE |--PRO_E_RNDCH_TRANS_CAP |--PRO_E_RNDCH_TRANS_SPHERE_DATA | | | |--PRO_E_RNDCH_TRANS_RADIUS_OPTIONS | |--PRO_E_RNDCH_TRANS_SPHERE_RADIUS | |--PRO_E_RNDCH_TRANS_LEG1_OPTIONS | |--PRO_E_RNDCH_TRANS_LEG1_VALUE | |--PRO_E_RNDCH_TRANS_LEG2_OPTIONS | |--PRO_E_RNDCH_TRANS_LEG2_VALUE | |--PRO_E_RNDCH_TRANS_LEG3_OPTIONS | |--PRO_E_RNDCH_TRANS_LEG3_VALUE | |--PRO_E_RNDCH_TRANS_PATCH_DATA | | | |--PRO_E_RNDCH_TRANS_PATCH_REF_SURF | |--PRO_E_RNDCH_TRANS_PATCH_RAD_OPT | |--PRO_E_RNDCH_TRANS_ARC_RADIUS | |--PRO_E_RNDCH_TRANS_STOP_DATA | |--PRO_E_RNDCH_TRANS_STOP_REF_TYPE |--PRO_E_RNDCH_TRANS_STOP_REFERENCE --------------------------------------------------------------------------------------------------- Element Id Element Name Data Type Valid Values --------------------------------------------------------------------------------------------------- PRO_E_FEATURE_TYPE Feature Type PRO_VALUE_TYPE_INT PRO_FEAT_ROUND PRO_E_STD_FEATURE_NAME Feature Name PRO_VALUE_TYPE_WSTRING Wide character string PRO_E_RNDCH_SETS Sets Array PRO_E_RNDCH_SET Set Compound PRO_E_RNDCH_SHAPE_OPTIONS Shape options PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_VARIABLE_RADIUS Variable Radius PRO_VALUE_TYPE_INT Not Used PRO_E_RNDCH_COMPOUND_CONIC Conic Compound PRO_E_RNDCH_CONIC_TYPE Conic Type PRO_VALUE_TYPE_INT See Below PRO_E_RNDCH_CONIC_VALUE Conic value PRO_VALUE_TYPE_DOUBLE Range 0.05 to 0.95 PRO_E_RNDCH_CONIC_DEP_OPT Independent PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_REFERENCES References Compound PRO_E_RNDCH_REFERENCE_TYPE Reference type PRO_VALUE_TYPE_INT See below PRO_E_STD_CURVE_COLLECTION_APPL Reference Edges Chain Collection PRO_E_RNDCH_REFERENCE_SURFACE1 Reference Surface1 PRO_VALUE_TYPE_SELECTION PRO_SURFACE PRO_E_RNDCH_REFERENCE_SURFACE2 Reference Surface2 PRO_VALUE_TYPE_SELECTION PRO_SURFACE PRO_E_RNDCH_REFERENCE_EDGE1 Reference Edge1 PRO_VALUE_TYPE_SELECTION PRO_EDGE PRO_E_RNDCH_REFERENCE_EDGE2 Reference Edge2 PRO_VALUE_TYPE_SELECTION PRO_EDGE PRO_E_RNDCH_REPLACE_SURFACE Replace Surface PRO_VALUE_TYPE_SELECTION PRO_SURFACE PRO_E_RNDCH_COMPOUND_SPINE Spine Compound PRO_E_RNDCH_BALL_SPINE Ball/Spine PRO_VALUE_TYPE_INT See below PRO_E_STD_CURVE_COLLECTION_APPL Spine curve Chain Collection PRO_E_RNDCH_AUTO_CONTINUE Auto Continue PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_COMPOUND_EXT_OPTIONS Ext options Compound PRO_E_RNDCH_AUTO_BLEND Auto Blend PRO_VALUE_TYPE_INT Not Used PRO_E_RNDCH_TERM_SURFACE Terminating Surface PRO_VALUE_TYPE_SELECTION Not Used PRO_E_RNDCH_RADII Radii Array PRO_E_RNDCH_RADIUS Radius Compound PRO_E_STD_POINT_COLLECTION_APPL Radius Point Point Collection Single point PRO_E_RNDCH_LEG1 Leg1 Compound PRO_E_RNDCH_LEG2 Leg2 Compound PRO_E_RNDCH_LEG_TYPE Leg Type PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_LEG_VALUE Leg Value PRO_VALUE_TYPE_DOUBLE PRO_E_RNDCH_REFERENCE_EDGE Reference Edge PRO_VALUE_TYPE_SELECTION PRO_EDGE PRO_E_RNDCH_REFERENCE_POINT Reference Point PRO_VALUE_TYPE_SELECTION PRO_POINT PRO_E_STD_CURVE_COLLECTION_APPL Rad Curve Chain Collection PRO_E_RNDCH_AMBIGUITY Ambiguity PRO_E_RNDCH_ATTACH_TYPE Attach type PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANSITIONS Transitions Array PRO_E_RNDCH_TRANSITION Transition Compound PRO_E_RNDCH_TRANS_TYPE Type PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANS_CAP Capping surface PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANS_SPHERE_DATA Sphere Data Compound PRO_E_RNDCH_TRANS_RADIUS_OPTIONS Radius options PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANS_SPHERE_RADIUS Sphere Radius PRO_VALUE_TYPE_DOUBLE PRO_E_RNDCH_TRANS_LEG1_OPTIONS Leg1 Options PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANS_LEG2_OPTIONS Leg2 Options PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANS_LEG3_OPTIONS Leg3 Options PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANS_LEG1_VALUE Leg1 Value PRO_VALUE_TYPE_DOUBLE PRO_E_RNDCH_TRANS_LEG2_VALUE Leg2 Value PRO_VALUE_TYPE_DOUBLE PRO_E_RNDCH_TRANS_LEG3_VALUE Leg3 Value PRO_VALUE_TYPE_DOUBLE PRO_E_RNDCH_TRANS_PATCH_DATA Patch Data Compound PRO_E_RNDCH_TRANS_PATCH_REF_SURF Arc Surface PRO_VALUE_TYPE_SELECTION PRO_SURFACE PRO_E_RNDCH_TRANS_PATCH_RAD_OPT Arc Radius options PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANS_ARC_RADIUS Arc Radius PRO_VALUE_TYPE_DOUBLE PRO_E_RNDCH_TRANS_STOP_DATA Capping surface Compound PRO_E_RNDCH_TRANS_STOP_REF_TYPE Reference Type PRO_VALUE_TYPE_INT See below PRO_E_RNDCH_TRANS_STOP_REFERENCE Stop Reference PRO_VALUE_TYPE_SELECTION PRO_SURFACE, PRO_POINT, PRO_DATUM_PLANE *****************************************************************************/ /****************************************************************************** DIFFERENT TYPES OF ROUNDS AND ELEMENTS REQUIRED FOR THEM ***************************************************************************** Elements required for all types of rounds ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_FEATURE_TYPE | PRO_FEAT_ROUND | | PRO_E_STD_FEATURE_NAME | Name of the feature | | PRO_E_RNDCH_SETS | Array element | | PRO_E_RNDCH_SET | Compound element | | | One element per set present in | | | PRO_E_RNDCH_SETS | | PRO_E_RNDCH_ATTACH_TYPE | Attachment type | | PRO_E_RNDCH_TRANSITIONS | Array element | ------------------------------------------------------------------------------- Each set (PRO_E_RNDCH_SET) should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_SHAPE_OPTIONS | Shape type | | PRO_E_RNDCH_COMPOUND_CONIC | Compound element | | PRO_E_RNDCH_CONIC_TYPE | Conic or circular | | PRO_E_RNDCH_REFERENCES | Compound element | | PRO_E_RNDCH_COMPOUND_SPINE | Compound element | | PRO_E_RNDCH_BALL_SPINE | Rolling Ball or normal to spine | | PRO_E_RNDCH_AUTO_CONTINUE | Enabled or Disabled | | | Required if | | | PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_EDGE | | PRO_E_RNDCH_RADII | Array element | | | Required if | | | ( PRO_E_RNDCH_SHAPE_OPTIONS != | | | PRO_ROUND_TYPE_THROUGH_CURVE && | | | PRO_E_RNDCH_SHAPE_OPTIONS != | | | PRO_ROUND_TYPE_FULL ) | | PRO_E_RNDCH_RADIUS | Compound element. Should be one per | | | radius present | | PRO_E_STD_CURVE_COLLECTION_APPL | Required if | | | PRO_E_RNDCH_SHAPE_OPTIONS == | | | PRO_ROUND_TYPE_THROUGH_CURVE | | PRO_E_RNDCH_AMBIGUITY | | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_COMPOUND_CONIC should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_CONIC_VALUE | Required if PRO_E_RNDCH_CONIC_TYPE ==| | | PRO_ROUND_CONIC_ENABLE | | PRO_E_RNDCH_CONIC_DEP_OPT | Required if PRO_E_RNDCH_CONIC_TYPE ==| | | PRO_ROUND_CONIC_ENABLE | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_REFERENCES should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_REFERENCE_TYPE | Mandatory | | PRO_E_STD_CURVE_COLLECTION_APPL | Required for edge chain round | | | Required if | | | PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_EDGE | | | Mixed selection from different solid | | | bodies and/or quilts is supported. | | | Resulting geometry will be attached | | | back to the same solid body or quilt | | | where the referenced edges came from.| | PRO_E_RNDCH_REFERENCE_SURFACE1 | Required for surf surf or surf surf | | | surf full round | | | Required if | | | PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_SURF_SURF | | PRO_E_RNDCH_REFERENCE_SURFACE2 | Required for edge surf, surf surf or | | | surf surf surf full round | | | Required if | | | ( PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_SURF_SURF || | | | PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_EDGE_SURF ) | | PRO_E_RNDCH_REFERENCE_EDGE1 | Required for edge surf or edge pair | | | full round | | | Required if | | | ( PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_EDGE_SURF) || | | | ( PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_EDGE_EDGE && | | | PRO_E_RNDCH_SHAPE_OPTIONS == | | | PRO_ROUND_TYPE_FULL) | | PRO_E_RNDCH_REFERENCE_EDGE2 | Required for edge pair full round | | | Required if | | | ( PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_EDGE_EDGE && | | | PRO_E_RNDCH_SHAPE_OPTIONS == | | | PRO_ROUND_TYPE_FULL) | | PRO_E_RNDCH_REPLACE_SURFACE | Required for surf surf surf full | | | round | | | Required if | | | ( PRO_E_RNDCH_REFERENCE_TYPE == | | | PRO_ROUND_REF_SURF_SURF && | | | PRO_E_RNDCH_SHAPE_OPTIONS == | | | PRO_ROUND_TYPE_FULL) | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_COMPOUND_SPINE should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_STD_CURVE_COLLECTION_APPL | Required for normal to spine round | | | Required if | | | PRO_E_RNDCH_BALL_SPINE == | | | PRO_ROUND_NORMAL_TO_SPINE | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_RADIUS should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_STD_POINT_COLLECTION_APPL | Required for variable rounds | | | required if | | | PRO_E_RNDCH_SHAPE_OPTIONS == | | | PRO_ROUND_TYPE_VARIABLE | | PRO_E_RNDCH_LEG1 | Compound | | PRO_E_RNDCH_LEG2 | Required for conic rounds | | | Required if | | | PRO_E_RNDCH_CONIC_DEP_OPT == | | | PRO_ROUND_CONIC_INDEPENDENT | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_LEG1 or PRO_E_RNDCH_LEG2 should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_LEG_TYPE | Mandatory | | PRO_E_RNDCH_LEG_VALUE | Required if PRO_E_RNDCH_LEG_TYPE == | | | PRO_ROUND_RADIUS_TYPE_VALUE | | PRO_E_RNDCH_REFERENCE_EDGE | Required if PRO_E_RNDCH_LEG_TYPE == | | | PRO_ROUND_RADIUS_THROUGH_POINT | | PRO_E_RNDCH_REFERENCE_POINT | Required if PRO_E_RNDCH_LEG_TYPE == | | | PRO_ROUND_RADIUS_THROUGH_POINT | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_TRANSITIONS can have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_TRANSITION | One element for each user defined | | | transition | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_TRANSITION should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_TRANS_TYPE | Mandatory | | PRO_E_RNDCH_TRANS_CAP | Mandatory | | PRO_E_RNDCH_TRANS_SPHERE_DATA | Required if PRO_E_RNDCH_TRANS_TYPE ==| | | PRO_ROUND_TRANS_SPHERE_CORNER | | PRO_E_RNDCH_TRANS_PATCH_DATA | Required if PRO_E_RNDCH_TRANS_TYPE ==| | | PRO_ROUND_TRANS_PATCH | | PRO_E_RNDCH_TRANS_STOP_DATA | Required if PRO_E_RNDCH_TRANS_TYPE ==| | | PRO_ROUND_TRANS_STOP_AT_REF | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_TRANS_SPHERE_DATA should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_TRANS_RADIUS_OPTIONS | Mandatory | | PRO_E_RNDCH_TRANS_SPHERE_RADIUS | Required if | | | PRO_E_RNDCH_TRANS_RADIUS_OPTIONS == | | | PRO_ROUND_TRANS_RADIUS_ENTER_VALUE | | PRO_E_RNDCH_TRANS_LEG1_OPTIONS | Mandatory | | PRO_E_RNDCH_TRANS_LEG1_VALUE | Required if | | | PRO_E_RNDCH_TRANS_LEG1_OPTIONS == | | | PRO_ROUND_TRANS_RADIUS_ENTER_VALUE | | PRO_E_RNDCH_TRANS_LEG2_OPTIONS | Mandatory | | PRO_E_RNDCH_TRANS_LEG2_VALUE | Required if | | | PRO_E_RNDCH_TRANS_LEG2_OPTIONS == | | | PRO_ROUND_TRANS_RADIUS_ENTER_VALUE | | PRO_E_RNDCH_TRANS_LEG3_OPTIONS | Mandatory | | PRO_E_RNDCH_TRANS_LEG3_VALUE | Required if | | | PRO_E_RNDCH_TRANS_LEG3_OPTIONS == | | | PRO_ROUND_TRANS_RADIUS_ENTER_VALUE | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_TRANS_PATCH_DATA should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_TRANS_PATCH_REF_SURF | Mandatory | | PRO_E_RNDCH_TRANS_PATCH_RAD_OPT | Mandatory | | PRO_E_RNDCH_TRANS_ARC_RADIUS | Required if | | | PRO_E_RNDCH_TRANS_PATCH_RAD_OPT == | | | PRO_ROUND_TRANS_RADIUS_ENTER_VALUE | ------------------------------------------------------------------------------- Each PRO_E_RNDCH_TRANS_STOP_DATA should have the following elements ------------------------------------------------------------------------------- | Element Id | Value | ------------------------------------------------------------------------------- | PRO_E_RNDCH_TRANS_STOP_REF_TYPE | Mandatory | | PRO_E_RNDCH_TRANS_STOP_REFERENCE | Mandatory | ------------------------------------------------------------------------------- ******************************************************************************/ /* Valid values for PRO_E_RNDCH_SHAPE_OPTIONS */ typedef enum pro_round_shape_type { PRO_ROUND_TYPE_CONSTANT = 0, PRO_ROUND_TYPE_VARIABLE = 2, PRO_ROUND_TYPE_FULL = 8, PRO_ROUND_TYPE_THROUGH_CURVE = 16, PRO_ROUND_TYPE_CHORDAL = (1<<18) } ProRoundShapeType; /* Valid values for PRO_E_RNDCH_AUTO_CONTINUE */ typedef enum pro_round_auto_cont_type { PRO_ROUND_AUTO_CONT_DISABLE = PRO_B_FALSE, PRO_ROUND_AUTO_CONT_ENABLE = PRO_B_TRUE /* Reserved for future use. Not currently supported. */ } ProRoundAutoContType; /* Valid values for PRO_E_RNDCH_CONIC_TYPE */ typedef enum pro_round_conic_type { PRO_ROUND_CONIC_ENABLE = 1, PRO_ROUND_CONIC_DISABLE = 2, PRO_ROUND_CURV_CONTINUOUS = 3 } ProRoundConicType; /* Valid values for PRO_E_RNDCH_CONIC_DEP_OPT */ typedef enum pro_round_conic_Independent_type { PRO_ROUND_CONIC_DEPENDENT = PRO_B_FALSE, PRO_ROUND_CONIC_INDEPENDENT = PRO_B_TRUE } ProRoundConicIndependentType; /* Valid values for PRO_E_RNDCH_REFERENCE_TYPE */ typedef enum pro_round_reference_type { PRO_ROUND_REF_EDGE = 1, /* For round and chamfer */ PRO_ROUND_REF_SURF_SURF = 2, /* For round and chamfer */ PRO_ROUND_REF_EDGE_SURF = 3, /* For round and chamfer */ PRO_ROUND_REF_EDGE_EDGE = 4 /* Only for round */ } ProRoundReferenceType; /* Valid values for PRO_E_RNDCH_BALL_SPINE */ typedef enum pro_round_cross_section_type { PRO_ROUND_ROLLING_BALL = PRO_B_FALSE, PRO_ROUND_NORMAL_TO_SPINE = PRO_B_TRUE } ProRoundCrossSectionType; /* Valid values for PRO_E_RNDCH_LEG_TYPE */ typedef enum pro_round_radius_type { PRO_ROUND_RADIUS_TYPE_VALUE = 1, PRO_ROUND_RADIUS_THROUGH_POINT = 2 } ProRoundRadiusType; /* Valid values for PRO_E_RNDCH_ATTACH_TYPE */ typedef enum pro_round_attach_type { PRO_ROUND_ATTACHED = 0, PRO_ROUND_UNATTACHED = 9, PRO_ROUND_CAPPED_ENDS = 15 } ProRoundAttachType; /* Valid values for PRO_E_RNDCH_TRANS_TYPE */ typedef enum pro_round_trans_type { PRO_ROUND_TRANS_INTERSECT = 1, PRO_ROUND_TRANS_BLEND = 2, PRO_ROUND_TRANS_STOP = 3, PRO_ROUND_TRANS_CONTINUE = 4, PRO_ROUND_TRANS_SPHERE_CORNER = 5, /* For Round Only */ PRO_ROUND_TRANS_PATCH = 6, PRO_ROUND_TRANS_BLEND_3SRF = 7, PRO_ROUND_TRANS_PLANE_CORNER = 10, /* For Chamfer Only */ PRO_ROUND_TRANS_RBALL = 12, PRO_ROUND_TRANS_STOP_0_SIDE = 13, PRO_ROUND_TRANS_STOP_1_SIDE = 14, PRO_ROUND_TRANS_STOP_2_SIDE = 15, PRO_ROUND_TRANS_STOP_AT_REF = 16, PRO_ROUND_TRANS_STOP_FULL = 18, /* For Round Only */ PRO_ROUND_TRANS_STOP_2_WE = 19 /* For Round Only */ } ProRoundTransType; /* Valid values for PRO_E_RNDCH_TRANS_CAP */ typedef enum pro_round_trans_cap_type { PRO_ROUND_CAPPING_SURF_DISABLE = PRO_B_FALSE, PRO_ROUND_CAPPING_SURF_ENABLE = PRO_B_TRUE } ProRoundTransCapType; /* Valid values for PRO_E_RNDCH_TRANS_RADIUS_OPTIONS, PRO_E_RNDCH_TRANS_LEG1_OPTIONS, PRO_E_RNDCH_TRANS_LEG2_OPTIONS, PRO_E_RNDCH_TRANS_LEG3_OPTIONS, PRO_E_RNDCH_TRANS_PATCH_RAD_OPT */ typedef enum pro_round_trans_radius_type { PRO_ROUND_TRANS_RADIUS_ENTER_VALUE = PRO_B_FALSE, PRO_ROUND_TRANS_RADIUS_AUTOMATIC = PRO_B_TRUE } ProRoundTransRadiusType; /* Valid values for PRO_E_RNDCH_TRANS_STOP_REF_TYPE */ typedef enum pro_round_trans_stop_ref_type { PRO_ROUND_TRANS_REF_NO_REF = 0, PRO_ROUND_TRANS_REF_GEOM = 1, PRO_ROUND_TRANS_REF_PNTVTX = 2, PRO_ROUND_TRANS_REF_DTMPLN = 3, PRO_ROUND_TRANS_REF_ISOLINE = 4 } ProRoundTransStopRefType; extern ProError ProRoundIsAutoRoundMember ( ProFeature *p_feat_handle, ProBoolean *p_is_auto_round_member); /* Purpose: Determines whether the specified feature is a member of the Auto Round Feature. Input Arguments: p_feat_handle - The feature to check for completeness. Output Arguments: p_is_auto_round_member - If the feature is an Auto Round Member, this is PRO_B_TRUE. Otherwise, this is PRO_B_FALSE. Return Values: PRO_TK_NO_ERROR - The function successfully retrieved the information. PRO_TK_BAD_INPUTS - The input argument is invalid. */ PRO_END_C_DECLS #endif