int cvxEntBlank
(
int Show,         /* I: 1 to unblank entities; 0 to blank */
int Count,         /* I: number of entities */
int *idEnts         /* I: entity id's */
)
/*
DESCRIPTION:
Blanks or unblanks the specified entities.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntByLabel
(
int *Label,      /* I: persistent label as null-terminated array of integers */
int Exact,      /* I: 1 for exact match; 0 if partial match is okay */
int *idEntity  /* O: entity id  (0 is output if no entity is found) */
)
/*
DESCRIPTION:
Searches the active part for an entity with the specified label.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntByName
(
vxName Name,   /* I: entity name */
int *idEntity   /* O: entity id (0 if undefined) */
)
/*
DESCRIPTION:
Searches the active object for the entity with the specified
name.  If it is found, its id is output via "idEntity".  If
it is not found, "idEntity = 0" is output.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

void cvxEntClassName
(
int ClassNumber,   /* I: entity class number */
char *ClassName   /* O: class name */
)
/*
DESCRIPTION:
Outputs an ascii text string describing the entity class
identified by "ClassNumber".   The string is stored in
the memory referenced by "ClassName", which is assumed
to be sufficient (min = 64 bytes).
*/
________________________________________________________________________________

int cvxEntClassNum
(
int idEntity   /* I: entity id */
)
/*
DESCRIPTION:
Returns the class number of the specified entity in
the active object.  Returns -1 if the entity cannot
be located. "evxEntType" defines a subset of the 
possible entity class numbers returned by this function.
*/
________________________________________________________________________________

int cvxEntColorGet
(
int idEntity,      /* I: entity id (in active file) */
evxColor *Color   /* O: entity color */
)
/*
DESCRIPTION:
Gets the standard color number assigned to "idEntity".

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntColorSet
(
evxColor Color,   /* I: entity color */
int Count,         /* I: number of entities */
int *idEnts         /* I: entity id's */
)
/*
DESCRIPTION:
Assigns the specified color to the specified entities in
the active object. 

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntComp
(
int idEntity,    /* I: entity id */
int *idComp,   /* O: component id */
vxName File,   /* O: if not NULL, output name of component's parent file */
vxName Parent   /* O: if not NULL, output name of component's parent object */
)
/*
DESCRIPTION:
Outputs the id of the assembly component associated with the 
specified entity in a 2D drawing view layed out from a 3D assembly.

Assumes that "idEntity" resides in the active target file.

Outputs "idComp = 0" if no assembly component is found.

Outputs the names of the component's parent file and object (i.e. part)
if non-NULL pointers are input to the "vxName" variables for "File" and 
"Parent".

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntEndPnt
(
int idEntity,      /* I: entity id (in active file) */
svxPoint *Start,   /* O: start point */
svxPoint *End      /* O: end point */
)
/*
DESCRIPTION:
Outputs the end points of the specified curve entity.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntErase
(
svxEntPath *Ent    /* I: path to entity to erase */
)
/*
DESCRIPTION:
Erase the specified entity in the active root object
(part, sketch or drawing sheet).

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntFind
(
evxEntFind EntType,   /* I: type of entity to search for */
svxPoint *RefPnt,      /* I: reference point */
int *idEntity,         /* O: entity id (0 if undefined) */
svxPoint *Pnt,         /* O: point on entity (or NULL to ignore) */
double *Dist         /* O: distance (mm) from RefPnt (NULL to ignore) */
)
/*
DESCRIPTION:
Finds the closest entity of the specified type to "RefPnt"
and outputs its index via "idEntity" (0 is output if no 
entity is found).  If "EntPoint" is not NULL, the coordinates
of "RefPnt" projected onto the entity are output via "Pnt".
Entities that lie more than "MaxDist" millimeters away from 
"RefPnt" are ignored.

Returns 1 if function fails to find an entity; 0 if it succeeds.
*/
________________________________________________________________________________

void cvxEntHighlight
(
int idEntity      /* I: entity id (in active file) */
)
/*
DESCRIPTION:
Highlights the specified entity in the active root object.
*/
________________________________________________________________________________

int cvxEntIsBlanked
(
int idEntity      /* I: entity id (in active file) */
)
/*
DESCRIPTION:
Returns 1 if the specified entity is blanked, 0 if it is visible.
*/
________________________________________________________________________________

int cvxEntIsCurve
(
int idEntity      /* I: entity id (in active file) */
)
/*
DESCRIPTION:
Returns 1 if the specified entity is curvilinear 
(includes edges and parting lines).  
Otherwise, returns 0.
*/
________________________________________________________________________________

int cvxEntLabelGet
(
int idEntity,    /* I: entity id */
int **Label      /* O: persistent label as null-terminated array of integers */
)
/*
DESCRIPTION:
Outputs the persistent label of the specified entity in the active file,
or a NULL pointer if the entity does not have a label.  Currently, only
entities generated by a part history have persistent labels.

The label is a null-terminated list of integers.

The calling procedure is responsible for deallocating the memory 
out via "Label" as shown below:

________________________________________________________________________________

int cvxEntLabelSet
(
int idEntity,    /* I: entity id */
int *Label      /* I: persistent label as null-terminated array of integers */
)
/*
DESCRIPTION:
Assigns a copy of the input label (i.e. integer null-terminated list
of integers) to the specified object.  If the object already has a 
label, the existing label is overwritten.  If "label=NULL", this 
function returns without doing anything (no error).

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntLayer
(
int idEntity,      /* I: entity id */
vxName Layer      /* O: layer name */
)
/*
DESCRIPTION:
Outputs the name of the specified entity's layer.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntMatrix
(
int idEntity,       /* I: entity id */
svxMatrix *Matrix   /* O: tranformation matrix */
)
/*
DESCRIPTION:
Outputs the transformation matrix associated with the specified entity.  

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntMatrix2
(
svxEntPath Entity,    /* I: entity pick path */
svxMatrix *Matrix      /* O: transformation matrix */
)
/*
DESCRIPTION:
Outputs the transformation matrix of the specified entity
as defined by the input pick-path.  The transformation 
locates the entity relative to the path's root object.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntName
(
int idEntity,   /* I: entity id */
vxName Name      /* O: entity name */
)
/*
DESCRIPTION:
Outputs the name of the specified entity.
It is assumed the entity resides in the active file.
A blank string is output if the entity doesn't have a name.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntNameSet
(
int idEntity,   /* I: entity id */
vxName Name      /* I: entity name */
)
/*
DESCRIPTION:
Assigns the specified name to the specified entity.
It is assumed the entity resides in the active file.
It is assumed the entity has a "name" field.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntNew
(
int StartOp,      /* I: starting operation number ( >= 0 )*/
evxEntType Type   /* I: entity type */
)
/*
DESCRIPTION:
Returns the id of the last entity of the specified type created 
since the specified operation (StartOp) of the current transaction.  
Use cvxOpCount() to get the current number of operations in the 
current transaction.

Returns 0 if no entity of the specified type is found.
*/
________________________________________________________________________________

void cvxEntNewList
(
int StartOp,      /* I: starting operation number ( >= 0) */
evxEntType Type,   /* I: entity type */
int *Count,         /* O: number of new entities */
int **idEnts      /* O: list of new entities (by id) */
)
/*
DESCRIPTION:
Returns a list of the id's of the entities of the specified type 
created since the specified operation (StartOp) of the current 
transaction.  Use cvxOpCount() to get the current number of 
operations in the current transaction.
*/
________________________________________________________________________________

int cvxEntPnt
(
int idEntity,      /* I: entity id (in active file) */
svxPoint *Pnt      /* O: point coordinates */
)
/*
DESCRIPTION:
Gets the coordinates of the first "critical" point for
the specified entity.  For a point entity, it is the 
entity's coordinates.  For a line, edge or interpolated 
curve, it is the start point.  For a circle or arc, it 
is the center point.  For a control-point-defined curve, 
it is the first control point.  For a shape, it is the 
center of the shape's bounding box.  For a datum plane,
it is the origin.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntRefEnt
(
int idRefEnt,   /* I: parametric reference entity id */
int *idEnt      /* O: id of entity defined by reference entity */
)
/*
DESCRIPTION:
If "idRefEnt" is a valid parametric reference entity (i.e. reference
geometry) in the active file, this function outputs the database id
of the entity (i.e. geometry) that it defines.

"idEnt" is output as zero if it is undefined for "idRefEnt".

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntRgbGet
(
int idEntity,      /* I: entity id (in active file) */
svxColor *Color   /* O: entity RGB color */
)
/*
DESCRIPTION:
Gets the color assigned to "idEntity" in RGB format.

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntRgbSet
(
svxColor Color,   /* I: entity RGB color */
int Count,         /* I: number of entities */
int *idEnts         /* I: entity id's */
)
/*
DESCRIPTION:
Assigns the specified RGB color to the specified entities in
the active object.  Presently, only face entities support true
RGB color.  For other entities, the specified RGB color is
mapped to the closest standard color (evxColor).

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntTextInq
(
int idText,      /* I: id of text entity */
char **Text      /* O: copy of entity text string */
)
/*
DESCRIPTION:
Gets a copy of the null-terminated ascii text string associated with
the specified entity (idText) in the active target file.  

This function allocates memory for the text string and outputs a pointer
to the memory via "char **Text".  The calling procedure is responsible 
for deallocating the memory.  A NULL pointer is output if no text is
found.

Returns 1 if function fails; 0 if it succeeds.

----------------------------------------------------------

Example:

int idText = XXX;
char *Text=NULL;

cvxEntTextInq(idText,&Text);
printf("Text = %s",Text);
cvxMemFree((void**)&Text);

----------------------------------------------------------
*/
________________________________________________________________________________

int cvxEntTextMod
(
int idText,      /* I: id of text entity */
char *Text      /* I: null-terminated ascii text string to assign to entity */
)
/*
DESCRIPTION:
Replaces the text currently associated with "idText" with the 
input text string (Text).

Returns 1 if function fails; 0 if it succeeds.
*/
________________________________________________________________________________

void cvxEntUnhighlightAll (void)
/*
DESCRIPTION:
Unhighlights all entities.
*/
________________________________________________________________________________