#ifndef PRO_DATUM_TARGET_H
#define PRO_DATUM_TARGET_H
#include <ProANSI.h>
#include <ProObjects.h>
#include <ProMdl.h>
#include <ProSelection.h>
PRO_BEGIN_C_DECLS
typedef ProSelection ProDatumTargetAttach[2];
typedef enum
{
PRO_DATUM_TARGET_NONE,
PRO_DATUM_TARGET_POINT,
PRO_DATUM_TARGET_CIRCLE,
PRO_DATUM_TARGET_RECTANGLE
}ProDatumTargetType;
extern ProError ProMdlDatumTargetCreate (ProMdl p_owner_mdl,
ProDatumTargetType type,
ProAnnotationPlane *annot_plane,
ProDatumTargetAttach attach_sels,
Pro3dPnt text_pnt,
ProDtlsyminst *p_datum_target);
/*
Purpose: Creates new datum target with specified attachment and value
strings
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
p_owner_mdl - Owner model of the datum target. Cannot be NULL.
type - type of datum target
annot_plane - The annotation plane. For drawing, annotation plane
should be NULL.
attach_sels - For single reference pass non-null selection for index 0
and NULL for index 1. Pass pair of non-null selections to
get intersection of both.
text_pnt - text point.
Output Arguments:
p_datum_target - newly created datum target.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_CONTEXT - Specified selection reference is invalid.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - datum target could not be created.
*/
extern ProError ProDtlsyminstIsDatumTarget (ProDtlsyminst *p_datum_target, ProBoolean *is_datum_target);
/*
Purpose: Checks if specified symbol instance is a datum target.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
p_datum_target - The handle to datum target.
Output Arguments:
is_datum_target - PRO_B_TRUE if it is a datum targetk, PRO_B_FALSE
otherwise.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - datum target could not be created.
*/
PRO_END_C_DECLS
#endif /* PRO_DATUM_TARGET_H */