|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. More...|
|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() lets you modify a complex shell as it sits in the database. You don't have to delete and reinsert the shell from scratch.
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.