Functions | |
void | Edit_Shell_Faces (HC_KEY key, int offset, int ndelete, int ilist_length, const int *insert_list) |
void Edit_Shell_Faces | ( | HC_KEY | key, | |
int | offset, | |||
int | ndelete, | |||
int | ilist_length, | |||
const int * | insert_list | |||
) |
Creates or deletes faces in a previously declared shell.
key | - The unique identifier returned by a previous call to Insert_Shell() . | |
offset | - Number of the face in the original shell definition before which to start inserting or at which to begin deleting. "0" is the first. If specified as "-1", editing starts after the old final face. | |
ndelete | - Number of faces to delete. | |
ilist_length | - Number of integers in insert_list. | |
insert_list | - Encoded description of how to connect the existing vertices to build new faces for the shell. See Insert_Shell() for format. |
Edit_Shell_Faces() changes the originally specified face_list (see Insert_Shell() ), starting at offset in terms of the number of whole faces.
First, if ndelete is non-zero then ndelete faces are dissolved from offset through offset + ndelete - 1. The points referenced by those faces still exist; the face attributes (see Open_Face() ) are lost. If that face was the last to reference an edge, then the edge is dissolved and its attributes (see Open_Edge() ) are also lost.
If ilist_length is non-zero, new faces are then constructed using the information in insert_list, to a maximum of ilist_length. The new faces are inserted in the list just before offset.
Finally, the offsets of the faces are renumbered to reflect any changes.