#ifndef PROCLCMDELEM_H
#define PROCLCMDELEM_H
#include <ProObjects.h>
#include <ProElement.h>
PRO_BEGIN_C_DECLS
extern ProError ProClcmdElemSet (ProElement ncl_commd_elem,
wchar_t **commd_lines,
int num_lines,
ProVector commd_loc,
ProVector commd_axis);
/*
Purpose: Fills the specified CL command element with user data.
Input Arguments:
ncl_commd_elem - The CL command element
commd_lines - The array of command lines
num_lines - The number of command lines in the <i>commd_lines</i> array
commd_loc - The XYZ coordinates of the CL command in the NC sequence
coordinate system
commd_axis - The tool axis in the location
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully set the information for the
element.
PRO_TK_BAD_INPUTS - One or more of the arguments are invalid.
*/
extern ProError ProClcmdElemCreate ( wchar_t **commd_lines,
int num_lines,
ProVector commd_loc,
ProVector commd_axis,
ProElement *r_ncl_cmd_elem);
/*
Purpose: Allocates and sets up a CL command element.
Input Arguments:
commd_lines - The array of command lines
num_lines - The number command lines in the <i>commd_lines</i> array
commd_loc - The XYZ coordinates of the CL command in the NC sequence
coordinate system
commd_axis - The tool axis in the location
Output Arguments:
r_ncl_cmd_elem - The pointer to the CL command element
Return Values:
PRO_TK_NO_ERROR - The function successfully allocated the CL command
element.
PRO_TK_BAD_INPUTS - One or more of the input arguments are invalid.
*/
extern int ProClcmdElemNumberGet (ProElement feat_elem_tree,
int *r_number);
/*
Purpose: Gets the number of CL command elements in the specified feature.
Input Arguments:
feat_elem_tree - The element tree of the customized (build path)
feature
Output Arguments:
r_number - The number of CL command elements in the feature
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
PRO_TK_BAD_INPUTS - The input argument is invalid.
*/
extern ProError ProClcmdElemAdd (ProElement feat_elem_tree,
ProElement ncl_cmd_elem,
int index);
/*
Purpose: Adds the specified CL command element to the feature element tree.
Input Arguments:
feat_elem_tree - The element tree of the customized (build path)
feature.
ncl_cmd_elem - The CL command element to add.
index - The index in the CL command array at which to insert the new
element. Set this to -1 to add the element to the end of the
tree.
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully added the element to the
tree.
Other - The function failed.
*/
extern ProError ProClcmdElemGetByIndex (ProElement feat_elem_tree,
int index,
ProElement *r_ncl_cmd_elem);
/*
Purpose: Gets the pointer to the CL command element, given the index.
Input Arguments:
feat_elem_tree - The element tree of the customized (build path)
feature
index - The index of the element in the CL command array
r_ncl_cmd_elem - The CL command element
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
Other - The function failed.
*/
extern ProError ProClcmdElemRemoveByIndex (ProElement feat_elem_tree,
int index,
ProElement *r_elem);
/*
Purpose: Removes the specified CL command element from the feature element
tree.
Input Arguments:
feat_elem_tree - The element tree of the customized (build path)
feature
index - The index of the element in the CL command array
Output Arguments:
r_elem - The element removed. May be NULL
Return Values:
PRO_TK_NO_ERROR - The function successfully removed the element from
the element tree.
Other - The function did not remove the element from the element tree.
*/
extern ProError ProClcmdElemGet (ProElement feat_elem_tree,
wchar_t **commd_lines,
int num_lines,
ProVector commd_loc,
ProVector commd_axis,
ProElement *r_ncl_cmd_elem);
/*
Purpose: Gets the pointer to the specified CL command element.
Input Arguments:
feat_elem_tree - The element tree of the customized (build path)
feature
commd_lines - The array of command lines
num_lines - The number of command lines in the <i>commd_lines</i> array
commd_loc - The XYZ coordinates of the CL command in the NC sequence
coordinate system
commd_axis - The tool axis in the location
Output Arguments:
r_ncl_cmd_elem - The pointer to the element
Return Values:
PRO_TK_NO_ERROR - The function successfully retrieved the information.
Other - The function failed.
*/
extern ProError ProClcmdElemRemove (ProElement feat_elem_tree,
wchar_t **commd_lines,
int num_lines,
ProVector commd_loc,
ProVector commd_axis,
ProElement *r_ncl_cmd_elem);
/*
Purpose: Removes the specified CL command element, given its data.
Input Arguments:
feat_elem_tree - The element tree of the customized (build path)
feature
commd_lines - The array of command lines
num_lines - The number of command lines in the <i>commd_lines</i> array
commd_loc - The XYZ coordinates of the CL command in the NC sequence
coordinate system
commd_axis - The tool axis in the location
r_ncl_cmd_elem - The element to remove
Output Arguments:
none
Return Values:
PRO_TK_NO_ERROR - The function successfully removed the element.
Other - The function failed.
*/
PRO_END_C_DECLS
#endif