int cvxEntActivate
(
svxEntPath *NewPath, /* I: path into new target object */
int UpdateGUI,       /* I: 1 to update GUI, else 0 */
int *idEntity,      /* O: entity id(input NULL to ignore) */
svxEntPath *OldPath /* O: path of original target(input NULL to ignore) */
)
/*
DESCRIPTION:
Activates the last target object in the specified path (NewPath) and
outputs the path of the active target object (OldPath). If "OldPath"
is input as a NULL point, the active target path is not output.  After
activating a new target object with this function, you can pass "OldPath" 
back into this function as "NewPath" in order to re-activate the
original target object.

If "UpdateGUI" is non-zero, this function updates the GUI menus to
reflect a change in the target object.  Otherwise, the menus of the
original target object remain active.

The id of the entity referenced by "NewPath" is output via "idEntity".
This id can be used to query the entity once its parent object is 
activated by this function. 

Returns 1 if the target object was modified, else 0.
*/
________________________________________________________________________________

int cvxEntAddPick
(
int idx_ent   /* I:index of entity */
)
/*
DESCRIPTION:
Add the specified entity to the pick list.

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

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.

Call this function during echoing will not log any
blank/unblank operation to the history, for example:

   cvxEchoStart();
   cvxEntBlank(1, nEntity, &idEntity);
   cvxEchoEnd();

Besides, input "Count" as a negative number can
prevent a blank/unblank operation from being logged to
the history in the case that this function is being
applied to a part entity.

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

int cvxEntBndBox
(
int idEntity,         /* I: entity id */
svxBndBox *Box       /* O: bounding box of specified entity */
)
/*
DESCRIPTION:
This function gets the bounding box of the specified entity in the target file.

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
(
const char *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.
*/
________________________________________________________________________________

int cvxEntByName2
(
vxLongName File,   /* I: object file name (File[0]=0 or NULL for active file) */
vxLongName Root,   /* I: root object name (Root[0]=0 or NULL for active target object) */
vxName Name,   /* I: entity name */
int *idEntity   /* O: entity id (0 if undefined) */
)
/*
DESCRIPTION:
Searches the specified root object in the specified file 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.
*/
________________________________________________________________________________

int cvxEntByUid
(
const svxUid *Uid, /* I: unique id of entity to find */
int *idEntity      /* O: entity id  (0 is output if no entity is found) */
)
/*
DESCRIPTION:
Searches the active target for an entity with the specified unique
identifier.

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 cvxEntClassNumByPath
(
svxEntPath *entPath    /* I: entity path */
)
/*
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.

See also cvxEntRgbGet().
*/
________________________________________________________________________________

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.

See also cvxEntRgbSet().
*/
________________________________________________________________________________

int cvxEntComp
(
int idEntity,       /* I: entity id */
int *idComp,      /* O: component id */
char *File,         /* O: if not NULL, output name of component's parent file */
int nFileBytes,   /* I: string size of file name */
char *Parent,      /* O: if not NULL, output name of component's parent object */
int nParentBytes   /* I: string size of parent object name */
)
/*
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 "char *" 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 cvxEntExists
(
int idEntity,         /* I: entity id */
evxEntType EntType   /* I: entity type */
)
/*
DESCRIPTION:
Returns 1 if a valid entity with the specified
type and id exists in the active file. Returns 0 
if the entity is not found.
*/
________________________________________________________________________________

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 "Pnt" is not NULL, the coordinates
of "RefPnt" projected onto the entity are output via "Pnt".
If "Dist" is not NULL, the shortest distance between the
entity and "RefPnt" is output via "Dist".

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

int cvxEntFind2
(
svxEntFind *Data   /* I/O: entity search data (input and output) */
)
/*
DESCRIPTION:
Finds the closest entity of the type specified in "Data" to a 
reference point specified in "Data" using filtering parameters
specified in "Data".

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

int cvxEntGetAngle
(
int ent1,                /* I: index of entity 1 */
int ent2,                /* I: index of entity 2 */
double *angle            /* O: angle (radians) between entities */
)
/*
DESCRIPTION:
Get the angle between 2 entities.the entity type includes line, curve, edge,
datum plane, planar face, sketch.

Note: ent1 and ent2 must are defined as "curve-curve" or "planar face-planar face".
when entities are curve, the angle between the tangent direction of the starting
point of the line is calculated.

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

int cvxEntGetDistance
(
int ent1,                /* I: index of entity 1 */
int ent2,                /* I: index of entity 2 */
svxPoint *p1,            /* O: point on entity 1 (NULL to ignore)*/
svxPoint *p2,            /* O: point on entity 2 (NULL to ignore)*/
double *dist             /* O: distance of p1 and p2 */
)
/*
DESCRIPTION:
Get the distance between 2 entities in part environment, 
the entity type includes face, curve, edge, datum plane, point.

Note: ent1 and ent2 are defined as "point-point" or "geometry-point", 
"geometry-geometry" or "plane-point".

Return:
Return 0 if it is ok, else 1.
*/
________________________________________________________________________________

int cvxEntGetInhSubIdx
(
int idx_ent,      /* I:index of entity */
int klass,        /* I:object class */
int sub_class,    /* I:object sub-class */
int *subIdx       /* O:index of inherited object */
)
/*
DESCRIPTION:
This function get the index of the first object inherited by "idx_ent" with the
specified class and sub-class.

Returns 0 if the object is found, else 1.
*/
________________________________________________________________________________

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

int cvxEntInqPathPicked
(
int *Count,         /* O: number of entity path */
svxEntPath **Paths  /* O: list of the entity path */
)
/*
DESCRIPTION:
Outputs a list of the picked entity path.
The calling procedure MUST deallocate the output list with cvxMemFree.

Returns 1 if function fails or no entity was picked; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntInqPathSelected
(
int *Count,         /* O: number of entity path */
svxEntPath **Paths  /* O: list of the entity path */
)
/*
DESCRIPTION:
Outputs a list of the selected entity path.
The calling procedure MUST deallocate the output list with cvxMemFree.

Returns 1 if function fails or no entity was selected; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntInqPicked
(
int *Count,     /* O: number of entities */
int **Ents      /* O: list of the entity IDs */
)
/*
DESCRIPTION:
Outputs a list of the Picked entity IDs.
The calling procedure MUST deallocate the output list with cvxMemFree.

Returns 1 if function fails or no entity was Picked; 0 if it succeeds.
*/
________________________________________________________________________________

int cvxEntInqSelected
(
int *Count,     /* O: number of entities */
int **Ents      /* O: list of the entity IDs */
)
/*
DESCRIPTION:
Outputs a list of the selected entity IDs.
The calling procedure MUST deallocate the output list with cvxMemFree.

Returns 1 if function fails or no entity was selected; 0 if it succeeds.
*/
________________________________________________________________________________

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 cvxEntIsElectrode
(
int idEntity      /* I: entity id (in active file) */
)
/*
DESCRIPTION:
Returns 1 if the specified entity is electrode.
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 *Label=NULL;
      cvxEntLabelGet(idEntity,&Label);
      cvxMemFree((void**)&Label);

See also cvxLabelMatch() and cvxEntByLabel().

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

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 cvxEntLayerId
(
int idEntity,     /* I: entity id */
int* LayerId      /* O: layer id */
)
/*
DESCRIPTION:
Outputs the id of the specified entity's layer.

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

int cvxEntLineAtGet
(
int idLine,   /* I:index of entity */
svxLineAt* At /* O:Line attribute */
)
/*
DESCRIPTION:
Get the attributes of specified line.

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

int cvxEntLineAtSet
(
svxLineAt* At, /* I:Line attribute */
int Count,      /* I: number of entities */
int* idEnts      /* I: entity id's */
)
/*
DESCRIPTION:
Sets the attributes of specified lines.if you only
need to update some of the attributes,you can first
get the original attributes through cvxEntLineAtGet().

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

int cvxEntMatrix
(
int idEntity,       /* I: entity id */
svxMatrix *Matrix   /* O: transformation 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 cvxEntMatrixSet
(
int idEntity,       /* I: entity id */
svxMatrix *Matrix   /* I: tranformation matrix */
)
/*
DESCRIPTION:
Sets the transformation matrix associated with the specified entity in the active file.  
If the entity does not support a transformation matrix, nothing is done.

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

int cvxEntName
(
int idEntity,   /* I: entity id */
char *Name,      /* O: entity name */
int nBytes      /* I: string size of 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 cvxEntNameByPath
(
const svxEntPath *Path,  /* I: entity pick path */
vxLongName Name          /* O: entity name */
)
/*
DESCRIPTION:
This function gets the name of the entity specified by a pick path.

Returns 1 if error, else 0.
*/
________________________________________________________________________________

int cvxEntNameSet
(
int idEntity,         /* I: entity id */
const char *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.

This function is often used to set the name of dimension/datum/texture/block/config/sheet/equation...
You can use function "cvxEntSetNameTag" to set the name tag of shell/face...

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 cvxEntParent
(
int idEntity,       /* I: entity id */
int *idFeature      /* O: parent feature id (0 if undefined) */   
)
/*
DESCRIPTION:
Outputs the id of the parent feature of the specified entity
in the active part.

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

int cvxEntPathAddPick
(
svxEntPath *entPath   /* I:pick path of entity */
)
/*
DESCRIPTION:
Add the specified entity to the pick list.

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

int cvxEntPathCmp
(
const svxEntPath* EntPath1,   /* I: entity path */
const svxEntPath* EntPath2    /* I: entity path */
)
/*
DESCRIPTION:
The subroutine is used for comparison two entity paths.
If the two pick-paths are the same, it will return 0. 
If pick-path EntPath1 include pick-path EntPath2, it will return 2. 
If pick-path EntPath2 include pick-path EntPath1, it will return -2. 
Otherwise it will return 1.
*/
________________________________________________________________________________

int cvxEntPathToRoot
(
svxEntPath *EntPath  /* I/O: entity pick path */
)
/*
DESCRIPTION:
Converts the input entity pick-path from a path that is defined
relative to the active target object to an "absolute" path that 
begins with the parent file of the target object.  It is assumed 
that the pick-path is an evaluated (i.e. non-persistent) pick-path.

Returns 1 if error, else 0.
*/
________________________________________________________________________________

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. For a dimension, it is the first point 
of display data. For a symbol, it is the insertion point.

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.

See also cvxEntColorGet().
*/
________________________________________________________________________________

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.

See also cvxEntColorSet().
*/
________________________________________________________________________________

int cvxEntRgbSetNoAt
(
svxColor Color,   /* I: entity RGB color */
int Count,         /* I: number of entities */
int *idEnts         /* I: entity id's */
)
/*
DESCRIPTION:
Same as cvxEntRgbSet except that no display attribute created.
return 1 if error, else 0.
*/
________________________________________________________________________________

int cvxEntSetNameTag
(
int idx_ent,     /* I:index of entity */
char *name       /* I: name tag */
)
/*
DESCRIPTION:
Assign the input name tag to the specified entity.
name:empty-delete the name tag, else add the name tag.

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

void cvxEntSketch
(
int idEntity,         /* I: entity id */
int *idSketch         /* O: id of entity's parent sketch (0 if undefined) */
)
/*
DESCRIPTION:
Searches sketches within the active part for the specified entity (idEntity).
If the entity is found within a sketch, the id of the sketch is output.
If the entity is not found inside a sketch, "idSketch" is output as zero.
*/
________________________________________________________________________________

int cvxEntTextAtGet
(
int idText,    /* I: text id */
svxTextAt*At   /* O: attributes if text */
)
/*
DESCRIPTION:
Outputs the attributes of specified text.

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

int cvxEntTextAtSet
(
int idText,   /* I: text id */
svxTextAt*At  /* I: attributes if text */
)
/*
DESCRIPTION:
Sets the attributes of specified text.

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 cvxEntTextLocGet
(
int idText,       /* I: text id */
svxTextLoc *loc   /* O: location */
)
/*
DESCRIPTION:
Outputs the location of specified text.

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

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.
*/
________________________________________________________________________________

int cvxEntTextNew
(
char* String,    /* I: string of text */
int Type,        /* I: type of input points */
svxPoint2 Pnt[2], /* I: position of text */
int*idEnt        /* O: text id (NULL to ignore) */
)
/*
DESCRIPTION:
Creates a new text with the given data. The target bin is sheet or sketch.
The Type include:1-At point text, one point
                 2-Aligned text, two points
                 3-Box text, two points

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

int cvxEntTransSet
(
int iTrans,      /* I: Entity transparency value, from 0 to 100, both ends included */
int Count,      /* I: number of entities */
int *idEnts      /* I: entity id's */
)
/*
DESCRIPTION:
Assigns the specified transparency to the specified entities in
the active object.
If the input transparency value exceeds 0-100, this function will fail.

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

int cvxEntUidGet
(
int idEntity, /* I: entity id */
svxUid* Uid   /* O: unique id for the specified entity */
)
/*
DESCRIPTION:
Output the unique identifier of the specified entity.  The unique
identifier is a tuple of three numbers that, taken together, identify
the entity in a persistent way across sessions.  In contrast to
"idEntity" (the entity ID), which usually changes from session to
session, "Uid" (the unique ID) does not change between sessions and
can be used to identify the entity in any session.

A unique ID is unique in the sense that no other entity in the same
root object should have the same unique ID, but it is possible for two
entities in different root objects to have the same unique ID.  (See
the cvxRootCopy() function.)

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

int cvxEntUidSet
(
int idEntity,     /* I: entity id */
const svxUid* Uid /* I: unique id to assign to the specified entity */
)
/*
DESCRIPTION:
Assign a unique identifier to the specified entity.  Refer to
cvxEntUidGet() for a description of unique identifiers and how the
entity ID differs from the entity's unique ID.

A unique ID should be unique in the sense that no other entity in the
same root object should have the same unique ID, although it is
possible for two entities in different root objects to have the same
unique ID.  (See the cvxRootCopy() function.)

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

void cvxEntUnHighlight
(
int idEntity      /* I: entity id (in active file) */
)
/*
  DESCRIPTION:
  Un-Highlight the specified entity in the active root object.
*/
________________________________________________________________________________

void cvxEntUnPickAll()
/*
DESCRIPTION:
Unpick the entity list in active field.

Return:
N/A.
*/
________________________________________________________________________________

void cvxEntUnPickLast()
/*
DESCRIPTION:
Unpick the last entity in active field.

Return:
N/A.
*/
________________________________________________________________________________

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

void cvxPickDataClear()
/*
DESCRIPTION:
   Clear the pick data for ray casting
*/
________________________________________________________________________________