#ifndef PROANNOTATIONELEM_H
#define PROANNOTATIONELEM_H
#include <ProObjects.h>
#include <ProSelection.h>
#include <ProAsmcomppath.h>
#include <ProReference.h>
#include <ProCollect.h>
PRO_BEGIN_C_DECLS
typedef enum
{
PRO_ANNOT_REF_SINGLE,
PRO_ANNOT_REF_CRV_COLLECTION,
PRO_ANNOT_REF_SRF_COLLECTION
} ProAnnotationRefType;
typedef struct pro_annot_reference
{
ProAnnotationRefType type;
union
{
ProReference reference;
ProCollection collection;
} object;
} ProAnnotationReference;
typedef enum
{
PRO_ANNOT_TYPE_NONE = 0,
PRO_ANNOT_TYPE_NOTE = PRO_NOTE,
PRO_ANNOT_TYPE_GTOL = PRO_GTOL,
PRO_ANNOT_TYPE_SRFFIN = PRO_SURF_FIN,
PRO_ANNOT_TYPE_SYMBOL = PRO_SYMBOL_INSTANCE,
PRO_ANNOT_TYPE_DRVDIM = PRO_DIMENSION,
PRO_ANNOT_TYPE_REFDIM = PRO_REF_DIMENSION,
PRO_ANNOT_TYPE_SET_DATUM_TAG = PRO_SET_DATUM_TAG,
PRO_ANNOT_TYPE_CUSTOM = PRO_CUSTOM_ANNOTATION,
PRO_ANNOT_TYPE_DRIVINGDIM = PRO_ANNOT_ELEM_DRIVING_DIM
} ProAnnotationType;
typedef enum
{
PRO_ANNOTATION_REF_ALL,
PRO_ANNOTATION_REF_WEAK,
PRO_ANNOTATION_REF_STRONG
} ProAnnotationRefFilter;
typedef enum
{
PRO_ANNOT_REF_FROM_ALL,
PRO_ANNOT_REF_FROM_ANNOTATION,
PRO_ANNOT_REF_FROM_USER
} ProAnnotationRefFromType;
typedef ProError (*ProAnnotationelemVisitAction) (ProAnnotationElem *element,
ProError filter_status,
ProAppData data);
/*
Purpose: This is the generic function for visiting an annotation element.
Input Arguments:
element - The annotation element
filter_status - The filter function status
data - The application data passed to the calling function
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - Continue visiting.
Other - Stop visiting and pass this error status to the calling
function.
*/
typedef ProError (*ProAnnotationelemFilterAction) (ProAnnotationElem *element,
ProAppData data);
/*
Purpose: This is the generic function for filtering an annotation element.
Input Arguments:
element - The annotation element
data - The application data passed to the calling function
Output Arguments:
none
Return Values:
PRO_TK_CONTINUE - Skip visiting this element and go to the next.
Other - Call the visit action for this element. The return value is
passed as input to the visit action.
*/
extern ProError ProFeatureAnnotationelemsVisit (ProFeature* feat,
ProAnnotationelemVisitAction visit_action,
ProAnnotationelemFilterAction filter_action,
ProAppData data);
/*
Purpose: Visits the annotation elements in a given feature.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
feat - The feature.
visit_action - The visit function for the annotation elements.
filter_action - The filter function for the annotation elements. Can be
NULL.
data - Application data passed to the visit and filter actions.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - No annotation elements were found in the feature.
Other - Error returned by the visit action.
*/
extern ProError ProSolidAnnotationelemsVisit (ProSolid solid,
ProAnnotationelemVisitAction visit_action,
ProAnnotationelemFilterAction filter_action,
ProAppData data);
/*
Purpose: Visits the annotation elements in a given model.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
solid - The solid model.
visit_action - The visit function for the annotation elements.
filter_action - The filter function for the annotation elements. Can be
NULL.
data - Application data passed to the visit and filter actions.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - No annotation elements were found in the model.
Other - Error returned by the visit action.
*/
extern ProError ProAnnotationelemFeatureGet (ProAnnotationElem *element,
ProFeature *feat);
/*
Purpose: Gets the feature that owns an annotation element.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
Output Arguments:
feat - The feature that owns the element.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
*/
extern ProError ProAnnotationelemTypeGet( ProAnnotationElem *element,
ProAnnotationType *type);
/*
Purpose: Gets the type of annotation contained in an annotation element.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
Output Arguments:
type - The annotation type.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
*/
extern ProError ProAnnotationelemAnnotationGet( ProAnnotationElem *element,
ProAnnotation *annotation);
/*
Purpose: Gets the annotation contained in an annotation element.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
Output Arguments:
annotation - The annotation.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - The annotation element does not contain an
annotation.
*/
extern ProError ProAnnotationelemAnnotationSet (ProSelection element,
ProAnnotation *annotation);
/*
Purpose: Sets the annotation contained in an annotation element.
<B>Note:</B>If the annotation element already had an annotation
assigned to it, that annotation will be detached from the element
and owned at the model level.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
annotation - The annotation. Pass NULL to set the element to be
general.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_NO_CHANGE - The annotation is already contained in this element.
PRO_TK_UNATTACHED_FEATS - Modification was aborted due to regeneration
failure.
PRO_TK_INVALID_TYPE - You cannot assign this type of annotation to the
annotation element
PRO_TK_CANT_MODIFY - datum target annotation element or annotation are
not permitted for this function
*/
extern ProError
ProAnnotationelemReferencesCollect( ProAnnotationElem *element,
ProAnnotationRefFilter ref_type,
ProAnnotationRefFromType source,
ProAnnotationReference **references);
/*
Purpose: Gets the references contained in an annotation element.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
ref_type - The type of references to collect (weak, strong, or all).
source - The source of the references (from the annotation, from the
user, or all).
Output Arguments:
references - The annotation references. Free this using
ProAnnotationreferencearrayFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - The annotation element does not contain any
references of the indicated type.
PRO_TK_INVALID_TYPE - References from driving dimension annotation
elements cannot be accessed.
*/
extern ProError ProAnnotationreferencearrayFree (ProAnnotationReference* reference_array);
/*
Purpose: Frees all memory owned by the annotation reference array.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
reference_array - The reference array.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
*/
extern ProError ProAnnotationelemReferenceAdd( ProSelection element,
ProBoolean allow_fix_ui,
ProAnnotationReference *reference);
/*
Purpose: Adds a strong reference to the annotation element.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of
regeneration failure; PRO_B_FALSE to abort the reference
adding.
reference - The item to use as a strong reference.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_FOUND - The annotation element already has a reference to this
item.
PRO_TK_CANT_MODIFY - User defined references are not permitted for
driving dimension annotation elements.
*/
extern ProError ProAnnotationelemReferenceRemove( ProSelection element,
ProBoolean allow_fix_ui,
ProAnnotationReference *reference);
/*
Purpose: Removes a user-added reference from the annotation element.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of
regeneration failure; PRO_B_FALSE to abort the reference
removal.
reference - The reference to remove.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - The annotation element does not contain this
reference.
PRO_TK_BAD_CONTEXT - This reference is provided from the annotation and
cannot be removed.
PRO_TK_UNATTACHED_FEATS - Removal was aborted due to regeneration
failure.
*/
extern ProError ProAnnotationelemReferencesSet( ProSelection element,
ProBoolean allow_fix_ui,
ProAnnotationReference *references);
/*
Purpose: Replaces all of the annotation element's user-defined references
with the indicated sets.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of
regeneration failure; PRO_B_FALSE to abort the reference
setting.
references - ProArray of annotation references.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_BAD_CONTEXT - The reference array contains the same reference
more than once.
PRO_TK_UNATTACHED_FEATS - Reference modification was aborted due to
regeneration failure.
PRO_TK_CANT_MODIFY - User defined references are not permitted for
driving dimension annotation elements.
*/
extern ProError ProAnnotationelemReferenceStrengthen( ProSelection element,
ProBoolean allow_fix_ui,
ProAnnotationReference *reference);
/*
Purpose: Converts a weak reference to a strong reference.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of
regeneration failure; PRO_B_FALSE to abort the
reference's attribute changing.
reference - The item to use as a strong reference.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - The annotation element doesn't contain this weak
reference.
PRO_TK_CANT_WRITE - This weak reference may not be strengthened due to
the rules for the individual annotation.
*/
extern ProError ProAnnotationelemReferenceWeaken( ProSelection element,
ProBoolean allow_fix_ui,
ProAnnotationReference *reference);
/*
Purpose: Converts a strong reference to a weak reference.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of
regeneration failure; PRO_B_FALSE to abort the
reference's attribute changing.
reference - The item to use as a weak reference.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - The annotation element doesn't contain this strong
reference.
PRO_TK_CANT_WRITE - This strong reference may not be weakened due to
the rules for the individual annotation.
*/
extern ProError ProAnnotationelemIsDependent (ProAnnotationElem *element,
ProBoolean *dependent);
/*
Purpose: Gets the dependency flag of the specified annotation element.
Applicable only for annotation elements owned by data sharing
features.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
Output Arguments:
dependent - PRO_B_TRUE if the annotation element is dependent on its
parent, PRO_B_FALSE if not.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_CANT_ACCESS - The element is not owned by a data sharing
feature.
*/
extern ProError ProAnnotationelemDependencySet( ProSelection element,
ProBoolean allow_fix_ui,
ProBoolean dependent);
/*
Purpose: Sets the dependency flag of the specified annotation element.
Applicable only for annotation elements owned by data sharing
features.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of
regeneration failure; PRO_B_FALSE to abort the
reference's attribute changing.
dependent - PRO_B_TRUE if the annotation element is dependent on its
parent, PRO_B_FALSE if not.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_NO_CHANGE - The input flag is the same as the current value.
PRO_TK_CANT_ACCESS - The element is not owned by a data sharing
feature.
PRO_TK_E_NOT_FOUND - The data sharing feature's parent model is not in
memory.
PRO_TK_NOT_VALID - The element is owned by an independent feature.
*/
extern ProError ProAnnotationelemCopyGet (ProAnnotationElem *element,
ProBoolean *copy);
/*
Purpose: Gets the copy flag of the specified annotation element (determines
if references will be copied into the element).
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
Output Arguments:
copy - PRO_B_TRUE if the annotation element contains copies of its
references, PRO_B_FALSE if not.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
*/
extern ProError ProAnnotationelemCopySet ( ProSelection element,
ProBoolean allow_fix_ui,
ProBoolean copy);
/*
Purpose: Sets the copy flag of the specified annotation element.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of
regeneration failure; PRO_B_FALSE to abort the
reference's attribute changing.
copy - PRO_B_TRUE if the annotation element is dependent on its parent,
PRO_B_FALSE if not.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_NO_CHANGE - The input flag is the same as the current value.
PRO_TK_UNATTACHED_FEATS - Reference modification was aborted due to
regeneration failure.
*/
extern ProError ProAnnotationelemIsIncomplete( ProAnnotationElem *element,
ProBoolean *is_incomplete);
/*
Purpose: Identifies if the annotation element is incomplete due to missing
strong references.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
Output Arguments:
is_incomplete - PRO_B_TRUE if the annotation element has missing strong
references, PRO_B_FALSE overvise.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
*/
extern ProError ProAnnotationelemReferenceIsStrong( ProAnnotationElem *element,
ProAnnotationReference *reference,
ProBoolean *is_strong);
/*
Purpose: Identifies if a reference is weak or strong in a given annotation
element.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
reference - The reference item.
Output Arguments:
is_strong - PRO_B_TRUE if the reference is strong, PRO_B_FALSE if it is
weak.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - The annotation element doesn't contain this
reference.
*/
extern ProError
ProAnnotationelemReferenceDescriptionSet( ProAnnotationElem* element,
ProAnnotationReference *reference,
ProLine description);
/*
Purpose: Sets the description property for a given annotation element
reference.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element. If the annotation element belongs to
an assembly, component path must be specified.
reference - The reference.
description - The description for the annotation element.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - The annotation element doesn't contain this
reference.
*/
extern ProError
ProAnnotationelemReferenceDescriptionGet( ProAnnotationElem* element,
ProAnnotationReference* reference,
ProLine description);
/*
Purpose: Gets the description property for a given annotation element
reference.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
reference - The reference.
Output Arguments:
description - The description for the annotation element.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_E_NOT_FOUND - The annotation element doesn't contain this
reference.
*/
extern ProError ProAnnotationelemReferenceAutopropagateGet(
ProSelection element,
ProAnnotationReference *reference,
ProBoolean *autopropagate);
/*
Purpose: Gets the autopropagate flag of the specified annotation element
reference.Applicable only for annotation elements owned in
annotation features.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
reference - The annotation element reference.
Output Arguments:
autopropagate - PRO_B_TRUE if the annotation element reference will be
automatically propagated when data sharing features are
created, PRO_B_FALSE if not.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_BAD_CONTEXT - The element is not owned by an annotation feature.
PRO_TK_E_NOT_FOUND - The annotation element doesn't contain this
reference
PRO_TK_INVALID_TYPE - This type of reference does not have an
autopropagate flag.
PRO_TK_NO_LICENSE - License check failure.
*/
extern ProError ProAnnotationelemReferenceAutopropagateSet(
ProSelection element,
ProAnnotationReference *reference,
ProBoolean autopropagate);
/*
Purpose: Sets the autopropagate flag of the specified annotation element
reference. Applicable only for annotation elements owned in
annotation features.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
element - The annotation element.
reference - The annotation element reference.
autopropagate - PRO_B_TRUE if the annotation element reference will be
automatically propagated when data sharing features are
created, PRO_B_FALSE if not.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_BAD_CONTEXT - The element is not owned by an annotation feature.
PRO_TK_E_NOT_FOUND - The annotation element doesn't contain this
reference
PRO_TK_NO_CHANGE - Reference autopropagate flag is already set to the
input value.
PRO_TK_INVALID_TYPE - This type of reference does not have an
autopropagate flag.
PRO_TK_NO_LICENSE - License check failure.
*/
extern ProError ProAnnotationelemAutopropagate ( void );
/*
Purpose: Automatically propagates annotation elements within the current
model to the currently selected feature based on the standard Creo
Parametric algorithm. The behavior is based on the current
contents of the selection buffer.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
none
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - Annotation elements were successfully propagated to
the selected feature.
PRO_TK_BAD_CONTEXT - The current selections do not allow propagation of
annotation elements.
PRO_TK_NO_LICENSE - No license is available for this function.
See Also:
ProSelbufferSelectionsGet()
*/
extern ProError ProAnnotationelemQuiltreferenceSurfacesCollect(
ProAnnotationElem* elem,
ProAnnotationReference* reference,
ProSelection** surfaces);
/*
Purpose: Returns the surfaces which make up a quilt surface collection
reference for the annotation element. This will even return the
surfaces for a quilt which has been made inactive by features
occurring after the annotation element in the model regeneration.
Input Arguments:
elem - The annotation element.
reference - The reference (obtained from
ProAnnotationelemReferencesCollect(), which must contain a
surface collection of type PRO_SURFCOLL_QUILT_SRFS.
Output Arguments:
surfaces - ProArray of selections of surface references, suitable for
use for highlighting. Free this using
ProSelectionarrayFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_INVALID_TYPE - The input reference type was not valid.
*/
typedef ProAppData ProAnnotationReferenceSet;
extern ProError
ProAnnotationelemArrayReferencesSet(ProSelection feature,
ProAnnotationElem *element,
ProBoolean allow_fix_ui,
ProAnnotationReferenceSet *reference_set);
/*
Purpose: Replaces all of the each of the annotation elements' user-defined
references with the indicated sets.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
feature - The feature which owns all of the annotation elements. If the
feature's references are to other members of an assembly, the
component path must be specified.
element - ProArray of annotation elements. All of these elements must
belong to the same feature.
allow_fix_ui - PRO_B_TRUE to bring up the Fix Model UI in the event of
regeneration failure; PRO_B_FALSE to abort the reference
setting.
reference_set - ProArray of annotation reference sets. The number of
sets should match the number of elements to be
modified.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more inputs was invalid.
PRO_TK_BAD_CONTEXT - The reference array contains the same reference
more than once.
PRO_TK_UNATTACHED_FEATS - Reference modification was aborted due to
regeneration failure.
PRO_TK_CANT_MODIFY - User defined references are not permitted for
driving dimension annotation elements.
PRO_TK_E_AMBIGUOUS - The number of reference sets does not match the
number of elements supplied.
PRO_TK_INVALID_ITEM - One or more annotation elements do not belong to
the owner feature.
*/
extern ProError
ProAnnotationreferencesetAlloc( ProAnnotationReferenceSet* reference_set);
/*
Purpose: Allocates a set of references to be assigned to an annotation
element.
Input Arguments:
none
Output Arguments:
reference_set - The handle.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
*/
extern ProError
ProAnnotationreferencesetFree( ProAnnotationReferenceSet reference_set);
/*
Purpose: Frees a set of references to be assigned to an annotation element.
Input Arguments:
reference_set - The handle.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
*/
extern ProError
ProAnnotationreferencesetProarrayFree( ProAnnotationReferenceSet* reference_set);
/*
Purpose: Frees an array of a set of references to be assigned to an
annotation element.
Input Arguments:
reference_set - The handle.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
*/
extern ProError
ProAnnotationreferencesetReferenceAdd( ProAnnotationReferenceSet reference_set,
ProAnnotationReference *reference,
ProBoolean strong,
ProLine description,
ProBoolean autopropagate);
/*
Purpose: Adds a reference to the annotation set.
Input Arguments:
reference_set - The annotation reference set.
reference - The reference to add.
strong - PRO_B_TRUE if the reference is to be strong; PRO_B_FALSE if it
is to be weak.
description - The reference description. Can be NULL.
autopropagate - PRO_B_TRUE if the reference will be autopropagated into
data sharing features, PRO_B_FALSE otherwise.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
*/
PRO_END_C_DECLS
#endif /* PROANNOTATIONELEM_H */