/*
uf_cam_planes.h
* File description:
*
* This file contains the Open C API interface to Special planes in CAM
* Currently Clearance and Lower Limit Planes are the only ones supported.
*
* The CAM Plane routines in this file enable you to:
* . Define, edit, and query the origin and normal of special planes
* . Set and ask the status of a special plane
* . Set and ask the usage of a special plane
*
******************************************************************************/
#ifndef UF_CAM_PLANES_H_INCLUDED
#define UF_CAM_PLANES_H_INCLUDED
#include <uf.h>
#include <uf_defs.h>
#include <uf_cam.h>
#include <libufun_cam_exports.h>
#include <uf_param_indices.h>
/*
**************************************************************************
*************************** Definitions ***************************
**************************************************************************
*/
/*
**************************************************************************
*************************** Structures ***************************
**************************************************************************
*/
/* **************************************************************************
****************** Functions Relating to Planes *****************
**************************************************************************
*/
/***************************************************************************
*
* Query the origin and normal of a clearance plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_ask_clear_plane_data
(
tag_t object_tag, /* <I> the parent object of the plane */
double origin[3], /* <O> the 3D origin of the plane */
double normal[3] /* <O> the 3D normal of the plane */
);
/***************************************************************************
*
* Define/edit the origin and normal of a clearance plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_set_clear_plane_data
(
tag_t object_tag, /* <I> the parent object of the plane */
double origin[3], /* <I> the 3D origin of the plane */
double normal[3] /* <I> the 3D normal of the plane */
);
/***************************************************************************
*
* Query the status of a clearance plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_ask_clear_plane_status
(
tag_t object_tag, /* <I> the parent object of the plane */
UF_PARAM_clrplane_status_t *status /* <O> the status of the plane */
);
/***************************************************************************
*
* Set the status of a clearance plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_set_clear_plane_status
(
tag_t object_tag, /* <I> the parent object of the plane */
UF_PARAM_clrplane_status_t status /* <I> the status of the plane */
);
/***************************************************************************
*
* Query the usage of a clearance plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_ask_clear_plane_usage
(
tag_t object_tag, /* <I> the parent object of the plane */
UF_PARAM_clrplane_usage_t *usage /* <O> clearance plane usage */
);
/***************************************************************************
*
* Set the usage of a clearance plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_set_clear_plane_usage
(
tag_t object_tag, /* <I> the parent object of the plane */
UF_PARAM_clrplane_usage_t usage /* <I> clearance plane usage */
);
/***************************************************************************
*
* Query the tag of a clearance plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_ask_clear_plane_tag
(
tag_t object_tag, /* <I> the parent object of the plane */
tag_t *target_tag /* <O> the tag of an UF_xform_type entity
representing the clearance plane */
);
/***************************************************************************
*
* Set the tag of a clearance plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_set_clear_plane_tag
(
tag_t object_tag, /* <I> the parent object of the plane */
tag_t target_tag /* <I> the tag of an UF_xform_type entity
representing the clearance plane */
);
/***************************************************************************
*
* Query the origin and normal of a lower limit plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_ask_lower_limit_plane_data
(
tag_t object_tag, /* <I> the parent object of the plane */
double origin[3], /* <O> the 3D origin of the plane */
double normal[3] /* <O> the 3D normal of the plane */
);
/***************************************************************************
*
* Define/edit the origin and normal of a lower limit plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_set_lower_limit_plane_data
(
tag_t object_tag, /* <I> the parent object of the plane */
double origin[3], /* <I> the 3D origin of the plane */
double normal[3] /* <I> the 3D normal of the plane */
);
/***************************************************************************
*
* Query the status of a lower limit plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_ask_lower_limit_plane_status
(
tag_t object_tag, /* <I> the parent object of the plane */
UF_PARAM_lwplane_status_t *status /* <O> the status of the plane */
);
/***************************************************************************
*
* Set the status of a lower limit plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_set_lower_limit_plane_status
(
tag_t object_tag, /* <I> the parent object of the plane */
UF_PARAM_lwplane_status_t status /* <I> the status of the plane */
);
/***************************************************************************
*
* Query the usage of a lower limit plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_ask_lower_limit_plane_usage
(
tag_t object_tag, /* <I> the parent object of the plane */
UF_PARAM_lwplane_usage_t *usage /* <O> lower limit plane usage */
);
/***************************************************************************
*
* Set the usage of a lower limit plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_set_lower_limit_plane_usage
(
tag_t object_tag, /* <I> the parent object of the plane */
UF_PARAM_lwplane_usage_t usage /* <I> lower limit plane usage */
);
/***************************************************************************
*
* Query the tag of a lower limit plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_ask_lower_limit_plane_tag
(
tag_t object_tag, /* <I> the parent object of the plane */
tag_t *target_tag /* <O> the tag of an UF_xform_type entity
representing the lower limit plane */
);
/***************************************************************************
*
* Set the tag of a lower limit plane
*
* Return :
* Return code :
*
* Environment: Internal and External
*
* See Also:
* History: Released in V19.0
********************************************************************** */
extern UFUN_CAMEXPORT int UF_CAM_set_lower_limit_plane_tag
(
tag_t object_tag, /* <I> the parent object of the plane */
tag_t target_tag /* <I> the tag of an UF_xform_type entity
representing the lower limit plane */
);
#undef EXPORTLIBRARY
#endif /* UF_CAM_PLANES_H_INCLUDED */