HM_OffsetParamStruct
Contains information that is used by the HM_ExtAPI::OffsetFaces() and HM_ExtAPI::OffsetShellsByFaces() functions to set offset parameters and return offset results.
Syntax
struct HM_OffsetParamStruct {
int size;
double offset_dist;
double offset_tol;
bool copy_faces;
int continuity_mode;
bool return_faces;
int num_result_faces;
HM_EntityGeomFace* result_faces;
int num_connector_faces;
HM_EntityGeomFace* connector_faces;
bool clean_degen;
};
Type
HyperMesh Ext API
Description
This structure contains information that is used by the HM_ExtAPI::OffsetFaces() and HM_ExtAPI::OffsetShellByFaces() functions to set offset parameters and return offset results.
The structure information is declared in hm_extapi.h.
The members are: size, offset_dist, offset_tol, copy_faces, continuity_mode, return_faces, num_result_faces, result_faces, num_connector_faces, connector_faces, and clean_degen
Inputs
- size
- Specifies the length, in bytes, of the structure. Use sizeof(HM_OffsetParamStruct) for this member. This is used to distinguish the current version of HM_OffsetParamStruct from possible future extended versions with additional members.
- offset_dist
- Specifies the offset distance. The sign defines the direction of the offset. A positive value corresponds to the offset in the direction of the faces normal. A negative value corresponds to the offset in the direction opposite to the direction of the normal.
- offset_tol
- Specifies the offset tolerance. A negative or zero value of this member indicates that the tolerance value is estimated automatically during the call to API functions.
- copy_faces
- The flag that specifies whether original faces are preserved. This member can have one of following values:
- continuity_mode
- Specifies the type of continuity between offset faces and faces in the same shell that are not offset or offset a different distance.
This member can have one of following values:
HM_OFFSET_MODE_DISCONNECT - Offset faces are disconnected from faces that are not offset or offset a different distance. This corresponds to the "disjoint offset" option in surface edit->offset subpanel.
HM_OFFSET_MODE_FORCE_CONSISTENT - An error is returned if offset faces are connected to faces that are not offset or offset a different distance.
HM_OFFSET_MODE_CONNECT - Connector faces are created to preserve continuity between offset faces and faces that are not offset or offset a different distance. This corresponds to the "continuous offset" option in surface edit->offset subpanel with "separator lines" selected for all edges of the offset faces connected to faces that are not offset.
HM_OFFSET_MODE_INF - Connected to offset faces that are not offset or offset a different distance are “morphed” continuously to preserve continuity. This is known as "infinite smooth radius" mode. Note that if faces are offset to different distances then in this mode the faces with the largest offset distance are offset last, so the faces connected to them are “morphed” and after that “morphing” are not offset exactly to the distance specified for them.
- return_faces
- The flag that specifies whether offset faces should be returned as a result of the API offset functions call.
- num_result_faces
- This member returns the number of faces that result from the faces that were offset.
- result_faces
- Returns the pointer to the array of faces that result from the faces that were offset. The number of entries in the array is num_result_faces.
- num_connector_faces
- This member returns the number of connector faces that were created to preserve continuity between offset faces and faces that were not offset or offset a different distance.
- connector_faces
- Returns the pointer to the array of connector faces that were created to preserve continuity between offset faces and faces that were not offset or offset to different distance. The number of entries in the array is num_connector_faces.
- clean_degen
- The flag that specifies whether additional check and cleanup should be done for possible degeneracies of the faces resulting from the offset to large distances.
true - Additional checking and cleanup of degeneracies are done.
Note that setting this to true can significantly slow down overall performance of the offset function. It is therefore recommended to set this option to false for large models with relatively small offset distance values.
Errors
None.