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