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...

Detailed Description

Function Documentation

◆ Edit_Shell_Faces()

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

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.



See also
Edit_Shell_Points, Edit_Mesh, Show_Shell, Delete_Segment, Delete_By_Key, Flush_Contents, Flush_By_Key, Insert_Shell.