Edit_Shell_Points

Functions

void DEdit_Shell_Points (HC_KEY key, int offset, int ndelete, int insert, const HCD_POINT *points)
 Similar to Edit_Shell_Points(), but accepts double-precision values. More...
 
void Edit_Shell_Points (HC_KEY key, int offset, int ndelete, int insert, const HC_POINT *points)
 Changes or deletes vertex points of a previously declared shell, or adds new points. More...
 

Detailed Description

Function Documentation

◆ DEdit_Shell_Points()

void DEdit_Shell_Points ( HC_KEY  key,
int  offset,
int  ndelete,
int  insert,
const HCD_POINT *  points 
)

Similar to Edit_Shell_Points(), but accepts double-precision values.

Parameters
key- The unique identifier returned by a previous call to DInsert_Shell() .
offset- Number of the point in the original shell definition just before which to start editing. "0" is the first. If specified as "-1", editing starts after the old final point.
ndelete- Number of points to delete.
insert- The number of points to be inserted.
points- Vector of x-y-z triplets to insert. (A simple N x 3 array may also be used.) Passed by reference always.

DETAILS

No additional details. See Edit_Shell_Points().

◆ Edit_Shell_Points()

void Edit_Shell_Points ( HC_KEY  key,
int  offset,
int  ndelete,
int  insert,
const HC_POINT *  points 
)

Changes or deletes vertex points of a previously declared shell, or adds new points.

Parameters
key- The unique identifier returned by a previous call to Insert_Shell() .
offset- Number of the point in the original shell definition just before which to start editing. "0" is the first. If specified as "-1", editing starts after the old final point.
ndelete- Number of points to delete.
insert- The number of points to be inserted.
points- Vector of x-y-z triplets to insert. (A simple N x 3 array may also be used.) Passed by reference always.

DETAILS

Edit_Shell_Points() lets you build a complex shell as it sits in the database. You don't have to delete and reinsert the shell from scratch. Edit_Shell_Points() provides this function for the points part of the original definition. A sister routine, Edit_Shell_Faces() , lets you change the face_list part of the original definition.

Edit_Shell_Points() changes the originally specified points vector (see Insert_Shell() ), starting at offset in the vector.

If ndelete is equal to insert and non-zero, that number of points are modified in place. The face connections and attributes of the points remain unchanged. Their x-y-z values are updated from the new points array.

If ndelete is non-zero (and not equal to insert) that number of points from the original list are discarded. The faces that referenced those points are dissolved and no longer exist. The face_list (see Show_Shell() ) is updated appropriately.

If insert is non-zero (and not equal to ndelete) that number of points from the new points vector are copied into the shell point list. The newly inserted points are not connected to any faces until you make an appropriate call to Edit_Shell_Faces() .

Finally, the points are renumbered to reflect any changes. The stored face_list (see Insert_Shell() ) will show the changed numbering.

NOTES

RESTRICTIONS

See also
Edit_Shell_Faces, Edit_Mesh, Set_Modelling_Matrix, Show_Shell, Delete_Segment, Delete_By_Key, Flush_Contents, Flush_By_Key, Insert_Shell.