#ifndef PROGTOL_H
#define PROGTOL_H
#include <ProSelection.h>
#include <ProAnnotationElem.h>
PRO_BEGIN_C_DECLS
typedef struct gtol_dialog_info *ProGtoldata;
typedef struct progtol_datum_ref *ProGtoldatumref;
typedef struct pro_gtol_attach *ProGtolAttach;
typedef struct progtol_leader *ProGtolleader;
typedef enum
{
PROGTOLSTATUS_MODEL_REF_ENT = 0,
PROGTOLSTATUS_PLACEMENT = 1,
PROGTOLSTATUS_INVALID_REF_ENT = 2,
PROGTOLSTATUS_REF_DTM_NEEDED = 3,
PROGTOLSTATUS_ONE_REF_DTM = 4,
PROGTOLSTATUS_NONCOLL_AXIS = 5,
PROGTOLSTATUS_NONCOLL_SURF = 6,
PROGTOLSTATUS_NONPERP_SURF = 7,
PROGTOLSTATUS_NONPERP_ENT = 8,
PROGTOLSTATUS_NONPAR_ENT = 9,
PROGTOLSTATUS_ENT_DTM_NOT_ANG = 10,
PROGTOLSTATUS_NO_REF_ENT = 11,
PROGTOLSTATUS_COMPLETE = 12,
PROGTOLSTATUS_NO_REF_GEOM = 13
} ProGtoldataStatus;
typedef enum
{
PROGTOLTYPE_UNKNOWN = 0,
PROGTOLTYPE_STRAIGHTNESS = 1,
PROGTOLTYPE_FLATNESS = 2,
PROGTOLTYPE_CIRCULAR = 3,
PROGTOLTYPE_CYLINDRICAL = 4,
PROGTOLTYPE_LINE = 11,
PROGTOLTYPE_SURFACE = 12,
PROGTOLTYPE_ANGULAR = 21,
PROGTOLTYPE_PERPENDICULAR = 22,
PROGTOLTYPE_PARALLEL = 23,
PROGTOLTYPE_POSITION = 31,
PROGTOLTYPE_CONCENTRICITY = 32,
PROGTOLTYPE_SYMMETRY = 35,
PROGTOLTYPE_CIRCULAR_RUNOUT = 41,
PROGTOLTYPE_TOTAL_RUNOUT = 42
} ProGtolType;
typedef enum
{
PROGTOLMATCOND_UNKNOWN = 0,
PROGTOLMATCOND_LMC = 1,
PROGTOLMATCOND_MMC = 2,
PROGTOLMATCOND_RFS = 3,
PROGTOLMATCOND_DEFAULT_RFS = 4,
PROGTOLMATCOND_LMC_R = 5,
PROGTOLMATCOND_MMC_R = 6
} ProGtolMaterialCond;
typedef enum
{
PROGTOLRTYPE_NONE = -1, /* Only available in drawings */
PROGTOLRTYPE_EDGE = 1,
PROGTOLRTYPE_AXIS = 2,
PROGTOLRTYPE_SURF = 3,
PROGTOLRTYPE_FEAT = 4,
PROGTOLRTYPE_DATUM = 5, /* Datum plane or axis */
PROGTOLRTYPE_ENTITY = 6 /* NOT IMPLEMENTED */
} ProGtolRefItemType;
typedef enum
{
PROGTOLPTYPE_DATUM,
PROGTOLPTYPE_DIMENSION,
PROGTOLPTYPE_DIM_RELATED,
PROGTOLPTYPE_FREENOTE,
PROGTOLPTYPE_LEADERS,
PROGTOLPTYPE_TANLEADER,
PROGTOLPTYPE_NORMLEADER,
PROGTOLPTYPE_GTOL
} ProGtolPlacementType;
typedef enum
{
PROLEADERTYPE_ARROWHEAD = 1,
PROLEADERTYPE_DOT = 2,
PROLEADERTYPE_FILLEDDOT = 3,
PROLEADERTYPE_NOARROW = 4,
PROLEADERTYPE_CROSS = 5,
PROLEADERTYPE_SLASH = 6,
PROLEADERTYPE_INTEGRAL = 7,
PROLEADERTYPE_BOX = 8,
PROLEADERTYPE_FILLEDBOX = 9,
PROLEADERTYPE_DOUBLEARROW = 10,
PROLEADERTYPE_CROSS_N_ARROW = 13,
PROLEADERTYPE_TARGET = 14,
PROLEADERTYPE_LEFTHALF = 15,
PROLEADERTYPE_RIGHTHALF = 16,
PROLEADERTYPE_TRIANGLE = 18,
PROLEADERTYPE_AUTOMATIC = 19
} ProLeaderType;
typedef enum
{
PROGTOLREFTYPE_NONE = 0,
PROGTOLREFTYPE_PRIMARY = 1,
PROGTOLREFTYPE_SECONDARY = 2,
PROGTOLREFTYPE_TERTIARY = 3
} ProGtolReferenceType;
typedef enum
{
PROGTOLPROJZONE_NONE = 0,
PROGTOLPROJZONE_BELOWGTOL = 1,
PROGTOLPROJZONE_INSIDEGTOL = 2
} ProGtolProjzone;
/* PROGTOLPROF_BILATERAL_IDX = 0 and PROGTOLPROF_UNILATERAL_IDX = 1 in order
* to handle legacy code. */
typedef enum
{
PROGTOLPROF_BILATERAL_IDX = 0,
PROGTOLPROF_UNILATERAL_IDX = 1,
PROGTOLPROF_UNEQUAL_IDX = 2
} ProGtolProfBoundIndex;
typedef enum
{
PRO_TEXT_HRZJUST_DEFAULT,
PRO_TEXT_HRZJUST_LEFT,
PRO_TEXT_HRZJUST_CENTER,
PRO_TEXT_HRZJUST_RIGHT
} ProTextHrzJustification;
typedef enum
{
PRO_GTOL_SYMBOL_DIAMETER,
PRO_GTOL_SYMBOL_FREE_STATE,
PRO_GTOL_SYMBOL_STAT_TOL,
PRO_GTOL_SYMBOL_TANGENT_PLANE,
/* Material condition symbols */
PRO_GTOL_SYMBOL_LMC,
PRO_GTOL_SYMBOL_MMC,
PRO_GTOL_SYMBOL_RFS,
PRO_GTOL_SYMBOL_DEFAULT_RFS,
PRO_GTOL_SYMBOL_LMC_R,
PRO_GTOL_SYMBOL_MMC_R,
/* Indicator Symbol */
PRO_INDICATOR_SYMBOL_ANGULARITY,
PRO_INDICATOR_SYMBOL_PERPENDICULARITY,
PRO_INDICATOR_SYMBOL_PARALLELISM,
PRO_INDICATOR_SYMBOL_SYMMETRY,
PRO_INDICATOR_SYMBOL_RUNOUT,
PRO_GTOL_SYMBOL_TRANSLATION
/* Add new C4 sumbols */
} ProGtolSymbol;
typedef enum
{
PRO_INDICATOR_DIRECTION_FEAT,
PRO_INDICATOR_COLLECTION_PLANE,
PRO_INDICATOR_INTERSECTION_PLANE,
PRO_INDICATOR_ORIENTATION_PLANE
} ProGtolIndicatorType;
typedef enum
{
PRO_GTOL_SYNTAX_VALIDITY_CHECK
} ProGtolValidityCheckType;
typedef enum
{
PRO_FONT_ASME,
PRO_FONT_ISO,
PRO_FONT_LEGACY,
PRO_FONT_STROKED_ASME,
PRO_FONT_STROKED_ISO
}ProSymbolFont;
typedef enum
{
PRO_GTOL_ENVELOPE_DEFAULT,
PRO_GTOL_ENVELOPE_SKIP_OUTSIDE_TEXT
}ProGtolEnvelopeFlag;
extern ProError ProGtolDelete(
ProGtol *gtol);
/*
Purpose: Deletes a gtol from its owning Creo Parametric model.
Input Arguments:
gtol - The gtol
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_CANT_WRITE - Could not delete the given item because it has
read-only access. PRO_TK_E_NOT_FOUND
*/
extern ProError ProGtolRightTextGet (ProGtol *gtol, wchar_t **p_text);
/*
Purpose: Retrieves the text of the specified geometrical tolerance.
Input Arguments:
gtol - Pointer to the geometrical tolerance.
Output Arguments:
p_text - The string added to the right of the geometric tolerance.
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_E_NOT_FOUND - There is no additional text for this geometric
tolerance.
*/
extern ProError ProGtolRightTextSet (ProGtol *gtol, wchar_t *text);
/*
Purpose: Sets the text of the specified geometric tolerance.
Input Arguments:
gtol - Pointer to the geometrical tolerance.
text - The string added to the right of the geometric tolerance.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - One or more input argument is invalid.
PRO_TK_BAD_CONTEXT - The gtol text cannot be varied.
PRO_TK_CANT_WRITE - Could not modify the given item because it has
read-only access.
*/
extern ProError ProGtolDtlnoteGet (ProGtol *solid_model_gtol,
ProDrawing drawing,
ProDtlnote *dtl_note);
/*
Purpose: Return the detail note that represents a shown geometric
tolerance.
Input Arguments:
solid_model_gtol - The geometric tolerance handle.
drawing - The drawing where the note is displayed.
Output Arguments:
dtl_note - The drawing detail note that displays the model note.
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the note.
PRO_TK_BAD_INPUTS - One or more input arguments is invalid.
PRO_TK_BAD_CONTEXT - The solid model is not contained in the drawing.
PRO_TK_E_NOT_FOUND - The geometric tolerance is not displayed in the
drawing as a note.
*/
extern ProError ProGtolleaderAlloc(
ProLeaderType type,
ProSelection attachment,
ProGtolleader *leader);
/*
Purpose: Allocates and defines a gtol leader structure.
Input Arguments:
type - The type which determinates the leader appearance
attachment - The item to which the leader is attached
Output Arguments:
leader - The allocated gtol leader structure
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid.
*/
extern ProError ProGtolleaderFree(
ProGtolleader *leader);
/*
Purpose: Frees a gtol leader structure.
Input Arguments:
leader - Pointer to the leader structure
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolleadersFree(
ProGtolleader **leaders);
/*
Purpose: Frees an array of gtol leader structures.
Input Arguments:
leaders - Pointer to the leader structure array
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolleaderGet(
ProGtolleader leader,
ProLeaderType *type,
ProSelection *attachment);
/*
Purpose: Provides the information contained in a gtol leader structure.
Input Arguments:
leader - The leader structure
Output Arguments:
type - The type which determinates the leader appearance
attachment - The item to which the leader is attached
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGeomitemGtolrefSet(
ProGeomitem *geomitem,
ProDimension *in_dim);
/*
Purpose: <B>
<P>Note: This function is deprecated. Use ProGeomitemSetdatumSet()
instead. </P></B> Sets a datum plane or axis to be a gtol
reference.
Input Arguments:
geomitem - The datum plane or axis
in_dim - Identifies the dimension for an "In dim" tolerance; set to
NULL if the gtol is "Free".
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid.
PRO_TK_GENERAL_ERROR - An error occurred and the function failed.
*/
extern ProError ProGeomitemGtolrefClear(
ProGeomitem *geomitem);
/*
Purpose: <B>
<P>Note: This function is deprecated. Use
ProGeomitemSetdatumClear() instead. </P></B> Clears a datum plane
or axis so it is no longer a gtol reference.
Input Arguments:
geomitem - The datum plane or axis
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_CANT_WRITE - Could not delete the given item because it has
read-only access.
PRO_TK_GENERAL_ERROR - An error occurred and the function failed.
*/
extern ProError ProGeomitemIsGtolref(
ProGeomitem *geomitem,
ProBoolean *ref_datum,
ProBoolean *is_in_dim,
ProDimension *in_dim);
/*
Purpose: <B>
<P>Note: This function is deprecated. Use ProGeomitemSetdatumGet()
instead. </P></B> Shows whether a datum plane or axis is a gtol
reference.
Input Arguments:
geomitem - The datum plane or axis
Output Arguments:
ref_datum - TRUE is the datum is a gtol reference
is_in_dim - TRUE if the datum is "In dim", FALSE if "Free"
in_dim - If is_in_dim==TRUE, the dimension
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - An error occurred and the function failed.
*/
typedef enum
{
PROGTOLUNITAREASTYLE_X = 0, /* /7X7 */
PROGTOLUNITAREASTYLE_BOX = 1, /* /[box]7 */
PROGTOLUNITAREASTYLE_DIA = 2 /* /[diameter]7 */
} ProGtolUnitareaStyle;
typedef enum
{
PRO_GTOLREF_IN_DIM,
PRO_GTOLREF_IN_GTOL,
PRO_GTOLREF_IN_GEOM,
PRO_GTOLREF_FREE
} ProGtolsetdatumRefType;
typedef struct
{
ProGtolsetdatumRefType type;
union
{
ProDimension dim;
ProGtol gtol;
ProSelection geom;
} ref;
}ProGtolsetdatumValue;
extern ProError ProGeomitemSetdatumSet(
ProGeomitem *geomitem,
ProGtolsetdatumValue* value);
/*
Purpose: Sets a datum plane or axis to be a Set Datum. This function
supersedes ProGeomitemGtolrefSet.
Input Arguments:
geomitem - The datum plane or axis
value - The type and reference object for the "Set Datum" to apply.
Pass NULL to make it a "Free" Set Datum.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid.
PRO_TK_CANT_WRITE - Could not modify the given item because it has
read-only access.
*/
extern ProError ProGeomitemSetdatumClear(
ProGeomitem *geomitem);
/*
Purpose: Removes the Set Datum status of a datum plane or axis. This
function supersedes ProGeomitemGtolrefClear.
Input Arguments:
geomitem - The datum plane or axis
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGeomitemSetdatumGet(
ProGeomitem *geomitem,
ProBoolean *set,
ProGtolsetdatumValue* value);
/*
Purpose: Shows whether a datum plane or axis is a Set Datum. This function
supersedes ProGeomitemIsGtolref.
Input Arguments:
geomitem - The datum plane or axis
Output Arguments:
set - TRUE is the datum is a Set Datum.
value - The type and reference object for the "Set Datum" to apply. If
type of ProGtolsetdatumValue is PRO_GTOLREF_IN_GEOM, the caller
should free the memory for value.ref.geom by using
ProSelectionFree().
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - An error occurred and the function failed.
*/
extern ProError ProGtolTextstyleSet (ProGtol* gtol,
ProTextStyle text_style);
/*
Purpose:
<P><B>Note:</B> This function is deprecated. Use
ProAnnotationTextstyleSet() instead.</P> Assigns the text style
assigned to a geometric tolerance.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
gtol - The gtol.
text_style - The text style. Free this using ProTextStyleFree().
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_BAD_CONTEXT - The gtol text style cannot be varied.
PRO_TK_CANT_WRITE - Could not modify the given item because it has
read-only access.
*/
extern ProError ProGtolTextstyleGet (ProGtol* gtol,
ProTextStyle* text_style);
/*
Purpose:
<P><B>Note:</B> This function is deprecated. Use
ProAnnotationTextstyleGet() instead.</P> Obtains the text style
assigned to a geometric tolerance.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
gtol - The gtol.
Output Arguments:
text_style - The text style. Free this using ProTextStyleFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
*/
extern ProError ProGtolElbowlengthGet (ProGtol* gtol,
double* elbow_length,
ProVector elbow_direction);
/*
Purpose: Obtains the elbow properties of the geometric tolerance.
<p><b>Note:</b> This function only supports gtols which are placed
on an annotation plane.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
gtol - The gtol.
Output Arguments:
elbow_length - The elbow length, in model units.
elbow_direction - The elbow direction, in the model's coordinate
system. This is the direction from the gtol text to
the gtol leaders.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The gtol does not use leaders.
PRO_TK_INVALID_TYPE - This gtol was created in a release before
Wildfire 2.0. Because of this, its internal
structure is different and the elbow length
cannot be obtained by this function.
*/
extern ProError ProGtolLineEnvelopeGet (ProGtol* note,
int line_number,
ProLineEnvelope envelope);
/*
Purpose: Get the envelope of a line in a specified geometric tolerance.
<p><b>Note:</b> This function only supports gtols which are placed
on an annotation plane.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
note - The gtol.
line_number - The line number of the gtol.
Output Arguments:
envelope - The envelope surrounding the text line, in the model's
coordinate system.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The indicated line does not exist.
*/
typedef enum
{
PRO_GTOLVALTYPE_VALUE = 1, /* ProGtoldataValueSet */
PRO_GTOLVALTYPE_COMPOSITE = 2, /* ProGtoldataCompositeSet */
PRO_GTOLVALTYPE_ZONE_HEIGHT = 3, /* ProGtoldataProjZoneSet */
PRO_GTOLVALTYPE_PERUNIT = 4, /* ProGtoldataPerUnitSet */
PRO_GTOLVALTYPE_UNIT_AREA_OR_LENGTH = 5, /* ProGtoldataPerUnitSet */
PRO_GTOLVALTYPE_DISPOSITION = 6 /* ProGtoldataDispositionValSet */
} ProGtolValueType;
typedef enum
{
PRO_GTOLTEXT_ON_RIGHT,
PRO_GTOLTEXT_ON_TOP,
PRO_GTOLTEXT_ON_BOTTOM,
PRO_GTOLTEXT_ON_LEFT
} ProGtolTextType;
extern ProError ProGtolTopTextGet (ProGtol* gtol, wchar_t** above_text);
/*
Purpose: Obtains the text added to the top of the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
Output Arguments:
above_text - The text added to the top of the geometric tolerance. If
the text extends over multiple lines, the output string
will contain '\n' characters indicating the line breaks.
Free this string using ProWstringFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The gtol does not have text on top.
*/
extern ProError ProGtolTopTextSet (ProGtol* gtol, wchar_t* above_text);
/*
Purpose: Assigns the text added to the top of the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
above_text - The text added to the top of the geometric tolerance. If
the text should extend over multiple lines, the input
string should contain '\n' characters indicating the line
breaks. Note that the top text cannot extend beyond the
length of the gtol control frame, and so the function may
automatically insert line breaks into the text when doing
this assignment.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_BAD_CONTEXT - The gtol text cannot be varied.
PRO_TK_CANT_WRITE - Cannot set the top text because the gtol has
read-only access.
*/
extern ProError ProGtolBottomTextGet (ProGtol* gtol, wchar_t** below_text);
/*
Purpose: Obtains the text added to the bottom of the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
Output Arguments:
below_text - The text added to the bottom of the geometric tolerance.
If the text extends over multiple lines, the output string
will contain '\n' characters indicating the line breaks.
Free this string using ProWstringFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The gtol does not have text on bottom.
*/
extern ProError ProGtolBottomTextSet (ProGtol* gtol, wchar_t* below_text);
/*
Purpose: Assigns the text added to the bottom of the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
below_text - The text added to the bottom of the geometric tolerance.
If the text should extend over multiple lines, the input
string should contain '\n' characters indicating the line
breaks. Note that the bottom text cannot extend beyond the
length of the gtol control frame, and so the function may
automatically insert line breaks into the text when doing
this assignment.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_BAD_CONTEXT - The gtol text cannot be varied.
PRO_TK_CANT_WRITE - Cannot set the bottom text because the gtol has
read-only access.
*/
extern ProError ProGtolLeftTextGet (ProGtol* gtol, wchar_t** left_text);
/*
Purpose: Obtains the text added to the left of the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
Output Arguments:
left_text - The text added to the left of the geometric tolerance. If
the text extends over multiple lines, the output string
will contain '\n' characters indicating the line breaks.
Free this string using ProWstringFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The gtol does not have text to left.
*/
extern ProError ProGtolLeftTextSet (ProGtol* gtol, wchar_t* left_text);
/*
Purpose: Assigns the text added to the left of the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
left_text - The text added to the left of the geometric tolerance. If
the text should extend over multiple lines, the input
string should contain '\n' characters indicating the line
breaks. Note that the left text cannot extend beyond the
length of the gtol control frame, and so the function may
automatically insert line breaks into the text when doing
this assignment.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_BAD_CONTEXT - The gtol text cannot be varied.
PRO_TK_CANT_WRITE - Cannot set the left text because the gtol has
read-only access.
*/
extern ProError ProGtolAddlTextBoxedSet (ProGtol* gtol, ProGtolTextType text_type, ProBoolean is_boxed);
/*
Purpose: Set Boxed to Additional text to a geometric tolerance with
particular ProGtolTextType. Note that only Top and Bottom
ProGtolTextType can have Boxed.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
gtol - The geometric tolerance.
text_type - The instance of additional text to access.
is_boxed - Set boxed to the additional text. Pass PRO_B_TRUE to set the
Boxed.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_CANT_WRITE - Cannot modify the gtol because it is read-only.
*/
extern ProError ProGtolAddlTextBoxedGet (ProGtol* gtol, ProGtolTextType text_type, ProBoolean* is_boxed);
/*
Purpose: Get if Additional text to a geometric tolerance with particular
ProGtolTextType is Boxed. Note that only Top and Bottom
ProGtolTextType can have Boxed.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
gtol - The geometric tolerance.
text_type - The instance of additional text to access.
Output Arguments:
is_boxed - PRO_B_TRUE if Additional text to a gtol with particular
ProGtolTextType is Boxed.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The gtol does not have text on particular
ProGtolTextType.
*/
extern ProError ProGtolPrefixGet (ProGtol* gtol, wchar_t** prefix);
/*
Purpose: Obtains the prefix text for the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
Output Arguments:
prefix - The prefix text. Free this string using ProWstringFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The gtol does not contain prefix text.
*/
extern ProError ProGtolPrefixSet (ProGtol* gtol, wchar_t* prefix);
/*
Purpose: Assigns the prefix text for the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
prefix - The prefix text.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_BAD_CONTEXT - The gtol prefix cannot be varied.
PRO_TK_CANT_WRITE - Cannot set the text because the gtol is read-only.
*/
extern ProError ProGtolSuffixGet (ProGtol* gtol, wchar_t** suffix);
/*
Purpose: Obtains the suffix text for the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
Output Arguments:
suffix - The suffix text. Free this string using ProWstringFree().
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The gtol does not contain suffix text.
*/
extern ProError ProGtolSuffixSet (ProGtol* gtol, wchar_t* suffix);
/*
Purpose: Assigns the suffix text for the geometric tolerance.
Input Arguments:
gtol - The geometric tolerance.
suffix - The suffix text.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_BAD_CONTEXT - The gtol suffix cannot be varied.
PRO_TK_CANT_WRITE - Cannot set the text because the gtol is read-only.
*/
extern ProError ProGtoltextTextstyleGet (ProGtol* gtol,
ProGtolTextType text_type,
ProTextStyle* text_style);
/*
Purpose: Gets the text style for the additional text applied to a geometric
tolerance.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
gtol - The geometric tolerance.
text_type - The instance of additional text to access.
Output Arguments:
text_style - The text style.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_E_NOT_FOUND - The gtol does not have the additional text
specified.
*/
extern ProError ProGtoltextTextstyleSet (ProGtol* gtol,
ProGtolTextType text_type,
ProTextStyle text_style);
/*
Purpose: Sets the text style for the additional text applied to a geometric
tolerance. Note that not all text style properties are supported
for gtol additional text; unsupported properties are ignored by
this function.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
gtol - The geometric tolerance.
text_type - The instance of additional text to access.
text_style - The text style.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
PRO_TK_BAD_CONTEXT - The gtol text style cannot be varied.
PRO_TK_CANT_WRITE - Cannot modify the gtol because it is read-only.
*/
extern ProError ProGtolRightTextEnvelopeGet (ProGtol* note,
ProLineEnvelope envelope);
/*
Purpose: Get the envelope of the right text in a specified geometric
tolerance.
<p><b>Note:</b> This function only supports gtols which are placed
on an annotation plane.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
note - The gtol.
Output Arguments:
envelope - The envelope surrounding the right text, in the model's
coordinate system.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments was invalid.
*/
extern ProError ProGtolTopTextHorizJustificationSet (
ProGtol* gtol, ProTextHrzJustification justification);
/*
Purpose: Sets horizontal justification for additional gtol text at the top
Input Arguments:
gtol - The gtol
justification - Applied justification
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - An error occurred and the function failed.
*/
extern ProError ProGtolTopTextHorizJustificationGet (
ProGtol* gtol, ProTextHrzJustification *justification);
/*
Purpose: Gets horizontal justification for additional gtol text at the top
Input Arguments:
gtol - The gtol
Output Arguments:
justification - Justification to apply.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - An error occurred and the function failed.
*/
extern ProError ProGtolBottomTextHorizJustificationSet (
ProGtol* gtol, ProTextHrzJustification justification);
/*
Purpose: Sets horizontal justification for additional gtol text at the
bottom
Input Arguments:
gtol - The gtol
justification - Applied justification
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - An error occurred and the function failed.
*/
extern ProError ProGtolBottomTextHorizJustificationGet (
ProGtol* gtol, ProTextHrzJustification *justification);
/*
Purpose: Gets horizontal justification for additional gtol text at the
bottom
Input Arguments:
gtol - The gtol
Output Arguments:
justification - Justification to apply.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - An error occurred and the function failed.
*/
extern ProError ProMdlGtolCreate (ProMdl owner_mdl, ProGtolType type, ProGtolAttach gtol_attach, wchar_t* value_str, ProGtol *gtol);
/*
Purpose: Creates new Gtol with specified placement and value string
Input Arguments:
owner_mdl - Owner of the gtol.
type - type of gtol.
gtol_attach - placement which includes attachment references and
annotation plane.
value_str - value string.
Output Arguments:
gtol - newly created gtol.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_CONTEXT - Specified placement reference are invalid.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_GENERAL_ERROR - Gtol could not be created.
PRO_TK_UNSUPPORTED - owner_mdl is not drawing for creating make dim or
offset type gtol.
*/
extern ProError ProGtolValueStringSet (ProGtol *gtol, wchar_t* value);
/*
Purpose: Set value string of gtol
Input Arguments:
gtol - valid gtol.
value - value string.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolValueStringGet (ProGtol *gtol, wchar_t** value);
/*
Purpose: Get value string of gtol
Input Arguments:
gtol - valid gtol.
Output Arguments:
value - value string.Free it using ProWstringFree()
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_E_NOT_FOUND - No value string found
*/
extern ProError ProGtolAllOverSet(ProGtol *gtol, ProBoolean all_over);
/*
Purpose: Set all over option for profile gtol
Input Arguments:
gtol - valid gtol.
all_over - Pass PRO_B_TRUE to set all over else pass PRO_B_FASLE
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_CANT_MODIFY - This type of gtol does not support all over.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolAllOverGet(ProGtol *gtol, ProBoolean *all_over);
/*
Purpose: Get all over option for profile gtol
Input Arguments:
gtol - valid gtol.
Output Arguments:
all_over - PRO_B_TRUE if all over is set else PRO_B_FASLE
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_INVALID_TYPE - This type of gtol does not support all over.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolAllAroundSet(ProGtol *gtol, ProBoolean all_around);
/*
Purpose: Set all around option for profile gtol
Input Arguments:
gtol - valid gtol.
all_around - Pass PRO_B_TRUE to set all around else pass PRO_B_FASLE
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_CANT_MODIFY - This type of gtol does not support all around.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolAllAroundGet(ProGtol *gtol, ProBoolean *all_around);
/*
Purpose: Get all around option for profile gtol
Input Arguments:
gtol - valid gtol.
Output Arguments:
all_around - PRO_B_TRUE if all around is set else PRO_B_FASLE
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_INVALID_TYPE - This type of gtol does not support all around.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolCompositeGet (ProGtol *gtol, wchar_t*** values ,wchar_t*** primary ,wchar_t*** secondary ,wchar_t*** tertiary);
/*
Purpose: Get composite tolerance frame
Input Arguments:
gtol - valid gtol.
Output Arguments:
values - NULL or ProArray() of value strings. Free it using
ProWstringproarrayFree()
primary - NULL or ProArray() of primary strings. Free it using
ProWstringproarrayFree()
secondary - NULL or ProArray() of secondary strings. Free it using
ProWstringproarrayFree()
tertiary - NULL or ProArray() of tertiary strings. Free it using
ProWstringproarrayFree()
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolCompositeSet(ProGtol *gtol, int index ,wchar_t* value ,wchar_t* primary ,wchar_t* secondary ,wchar_t* tertiary);
/*
Purpose: Set composite tolerance
Input Arguments:
gtol - valid gtol.
index - position.Indices starts from 0. Pass PRO_VALUE_UNUSED to insert
at end.
value - value string. If NULL, row corresponding to input index will be
removed.
primary - primary datum string.
secondary - secondary datum string.
tertiary - tertiary datum string.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_OUT_OF_RANGE - invalid index
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolDatumReferencesSet (ProGtol *gtol, wchar_t* primary,wchar_t* secondary,wchar_t* tertiary);
/*
Purpose: Set datum references to gtol.
Input Arguments:
gtol - valid gtol.
primary - primary datum ref. Can be NULL
secondary - secondary datum ref. Can be NULL
tertiary - tertiary datum ref. Can be NULL
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolDatumReferencesGet (ProGtol *gtol, wchar_t** primary,wchar_t** secondary,wchar_t** tertiary);
/*
Purpose: Get datum references to gtol.
Input Arguments:
gtol - valid gtol.
Output Arguments:
primary - primary datum ref. Can be NULL. Free it using
ProWstringFree()
secondary - secondary datum ref. Can be NULL. Free it using
ProWstringFree()
tertiary - tertiary datum ref. Can be NULL. Free it using
ProWstringFree()
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolCompositeShareRefSet(ProGtol *gtol,ProBoolean share);
/*
Purpose: Set Share datum references for composite frame
Input Arguments:
gtol - valid gtol.
share - Pass PRO_B_TRUE to share else pass PRO_B_FALSE
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolCompositeShareRefGet(ProGtol *gtol,ProBoolean *share);
/*
Purpose: Get Share datum references for composite frame
Input Arguments:
gtol - valid gtol.
Output Arguments:
share - share option.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolTypeSet (ProGtol *gtol , ProGtolType type);
/*
Purpose: Set gtol type
Input Arguments:
gtol - valid gtol.
type - gtol type
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolTypeGet (ProGtol *gtol , ProGtolType *type);
/*
Purpose: Set gtol type
Input Arguments:
gtol - valid gtol.
Output Arguments:
type - gtol type
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolBoundaryDisplaySet(ProGtol *gtol, ProBoolean boundary);
/*
Purpose: Set display of Boundary modifier.
Input Arguments:
gtol - valid gtol.
boundary - Pass PRO_B_TRUE to display else pass PRO_B_FALSE
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_CANT_MODIFY - This type of gtol cannot have boundary modifier
*/
extern ProError ProGtolBoundaryDisplayGet(ProGtol *gtol, ProBoolean *boundary);
/*
Purpose: Get display of Boundary modifier.
Input Arguments:
gtol - valid gtol.
Output Arguments:
boundary - boundary option.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_INVALID_TYPE - This type of gtol cannot have boundary modifier
*/
extern ProError ProGtolUnilateralSet(ProGtol *gtol, ProBoolean unilateral_set, ProBoolean outside);
/*
Purpose: Set Unilateral modifier.
Input Arguments:
gtol - valid gtol.
unilateral_set - PRO_B_TRUE to set Unilateral modifier PRO_B_FALSE to
remove Unilateral modifier
outside - Whether the tolerance refers to the outside of the profile,
if unilateral_set == PRO_B_TRUE
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_CANT_MODIFY - This type of gtol cannot have unilateral modifier
*/
extern ProError ProGtolUnilateralGet(ProGtol *gtol, ProBoolean *unilateral_set, ProBoolean *outside);
/*
Purpose: Get Unilateral modifier.
Input Arguments:
gtol - valid gtol.
Output Arguments:
unilateral_set - unilateral modifier.
outside - Whether the tolerance refers to the outside of the profile,
if unilateral_set == PRO_B_TRUE
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_INVALID_TYPE - This type of gtol cannot have unilateral modifier
*/
extern ProError ProGtolTopModelGet(ProGtol *gtol,ProMdl *top_mdl);
/*
Purpose: Get top model of gtol
Input Arguments:
gtol - valid gtol.
Output Arguments:
top_mdl - The model (part, assembly, or drawing) that defines the
origin of ProSelection structures used in setting up gtol
references.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolElbowlengthSet (ProGtol* gtol, double elbow_length, ProVector elbow_direction);
/*
Purpose: Set elbow to gtol.
<p><b>Note:</b> This function only supports leader type gtols
which are placed on an annotation plane.
Licensing Requirement:
UNRECOGNIZED
Input Arguments:
gtol - The gtol.
elbow_length - The elbow length, in model units.
elbow_direction - The elbow direction, in the model's coordinate
system. This is the direction from the gtol text to
the gtol leaders.
Output Arguments:
none
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 gtol does not use leaders.
*/
extern ProError ProGtolSymbolStringGet (ProGtolSymbol symbol, ProSymbolFont font, wchar_t **value);
/*
Purpose: Get value string of gtol
Input Arguments:
symbol - Type of symbol
font - Symbol font type
Output Arguments:
value - value string. Free it using ProWstringFree()
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolReferencesAdd( ProGtol *gtol,
ProAnnotationReference *refs );
/*
Purpose: Add gtol references
Input Arguments:
gtol - valid gtol.
refs - ProArray of gtol references. Only 1 reference from type
PRO_ANNOT_REF_SRF_COLLECTION is allowed.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_BAD_CONTEXT - The gtol owner is drawing.
PRO_TK_MAX_LIMIT_REACHED - More than 1 references from type
PRO_ANNOT_REF_SRF_COLLECTION.
PRO_TK_CANT_MODIFY - Refercnce from type PRO_ANNOT_REF_SRF_COLLECTION
already exist.
*/
extern ProError ProGtolReferencesGet( ProGtol *gtol,
ProAnnotationReference **p_refs );
/*
Purpose: Get gtol references
Input Arguments:
gtol - valid gtol.
Output Arguments:
p_refs - ProArray of gtol references. Free it using
ProAnnotationreferencearrayFree()
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_BAD_CONTEXT - The gtol owner is drawing.
See Also:
ProAnnotationElementGet()
*/
extern ProError ProGtolReferenceDelete( ProGtol *gtol,
int index_ref );
/*
Purpose: Delete gtol reference
Input Arguments:
gtol - valid gtol.
index_ref - Indices start from 0. Get existing references from
ProGtolReferencesGet()
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_BAD_CONTEXT - The gtol owner is drawing..
*/
extern ProError ProGtolIndicatorsSet (ProGtol *gtol, ProGtolIndicatorType *types, wchar_t **symbols, wchar_t **dfs);
/*
Purpose: Set indicators of gtol. Pass types, symbols and dfs as NULL to
remove all indicators.
Input Arguments:
gtol - valid gtol.
types - ProArray() of indicator types. Maximum array size is 3.
symbols - ProArray() of indicator symbols strings. Maximum array size
is 3.
dfs - ProArray() of dfs strings. Maximum array size is 3.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProGtolIndicatorsGet (ProGtol *gtol, ProGtolIndicatorType **types, wchar_t ***symbols, wchar_t ***dfs);
/*
Purpose: Get indicators of gtol
Input Arguments:
gtol - valid gtol.
Output Arguments:
types - ProArray() of indicator types. Free it using ProArrayFree()
symbols - ProArray() of indicator symbols strings. Free it using
ProWstringproarrayFree()
dfs - ProArray() of dfs strings. Free it using ProWstringproarrayFree()
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_E_NOT_FOUND - No indicators found for specified gtol
*/
extern ProError ProGtolNameGet (ProGtol *gtol, wchar_t **p_name);
/*
Purpose: Get name of gtol
Input Arguments:
gtol - valid gtol.
Output Arguments:
p_name - name string.Free it using ProWstringFree()
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - The input argument is invalid.
PRO_TK_E_NOT_FOUND - Gtol is not found in database.
*/
extern ProError ProGtolValidate (ProGtol *gtol, ProGtolValidityCheckType type, ProBoolean *is_valid_gtol);
/*
Purpose: Check whether the gtol is valid or not
Input Arguments:
gtol - gtol.
type - type of validity check
Output Arguments:
is_valid_gtol - PRO_B_TRUE if GTol is valid, 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 - The function encountered an error.
*/
extern ProError ProGtolDtlnotesCollect(ProGtol *solid_model_gtol, ProDrawing drawing, ProDtlnote **notes);
/*
Purpose: Return the detail notes that represent a geometric tolerance in a
drawing.
Input Arguments:
solid_model_gtol - The geometric tolerance handle.
drawing - The drawing where the note is displayed.
Output Arguments:
notes - ProArray of drawing notes that represent a model gtol.
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the notes.
PRO_TK_BAD_INPUTS - One or more input arguments is invalid.
PRO_TK_BAD_CONTEXT - The solid model is not contained in the drawing.
PRO_TK_E_NOT_FOUND - The geometric tolerance is not represented in the
drawing by any note.
*/
extern ProError ProGtolleaderZExtensionlineGet(ProGtol *gtol, ProGtolleader *leader, ProBoolean *is_zextension, ProPoint3d *line_end);
/*
Purpose: Gets Z-Extension line of gtol leader. This is required when gtol
is moved to another plane and other cases.
Input Arguments:
gtol - The geometric tolerance handle.
leader - gtol leader.
Output Arguments:
is_zextension - PRO_B_TRUE if gtol has Z-Extension.
line_end - end point of extension line.
Return Values:
PRO_TK_NO_ERROR - The function completed successfully.
PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid.
*/
extern ProError ProGtolEnvelopeGetWithFlags (ProGtol *gtol,
ProDrawing drawing,
ProGtolEnvelopeFlag flags,
ProLineEnvelope envelope);
/*
Purpose: Get the envelope of gtol. For getting coordinates of gtol
displayed in solid and same gtol is displayed in drawing then
drawing should not be active.
Input Arguments:
gtol - gtol.
drawing - drawing. Pass only for solid gtol shown in drawing, otherwise
pass NULL.
flags - Gtol Envelope Flag. Pass PRO_GTOL_ENVELOPE_SKIP_OUTSIDE_TEXT to
get envelope without additional texts, otherwise pass
PRO_GTOL_ENVELOPE_DEFAULT.
Output Arguments:
envelope - The envelope surrounding the gtol, in the model's coordinate
system. For Flat to Screen Gtol, envelope will be in screen
co-ordinates. For drawing it is in the screen coordinates.
For additional texts, there won't be any padding.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments were invalid.
*/
extern ProError ProGtolEnvelopeGet (ProGtol *gtol,
ProDrawing drawing,
ProLineEnvelope envelope);
/*
Purpose: Get the envelope of gtol. For getting coordinates of gtol
displayed in solid and same gtol is displayed in drawing then
drawing should not be active.
Input Arguments:
gtol - gtol.
drawing - drawing. Pass only for solid gtol shown in drawing, otherwise
pass NULL.
Output Arguments:
envelope - The envelope surrounding the gtol, in the model's coordinate
system. For Flat to Screen Gtol, envelope will be in screen
co-ordinates. For drawing it is in the screen coordinates.
For additional texts, there won't be any padding.
Return Values:
PRO_TK_NO_ERROR - The function succeeded.
PRO_TK_BAD_INPUTS - One or more input arguments were invalid.
*/
PRO_END_C_DECLS
#endif /* PROGTOL_H */