#include <opennurbs_mesh.h>
|
unsigned char | m_dir |
| 0 = counterclockwise, 1 = clockwise (reversed) More...
|
|
unsigned int | m_fi |
| face index or id More...
|
|
unsigned int | m_id |
| Use depends on context - typically identifies and edge or ngon. More...
|
|
unsigned char | m_side |
|
unsigned short | m_value |
| Use depends on context. More...
|
|
unsigned int | m_vi [2] |
| vertex indices or ids (equal values indicate unset) More...
|
|
◆ CompareFaceIndex()
Description: Compare a and b in dictionary order comparing the field values in the order m_fi m_vi[0] m_vi[1] m_side m_dir Parameters: a - [in] b - [in] Returns: -1: *a < *b 0: *a < *b 1: *a > *b Remarks: The function is thread safe.
◆ CompareVertexIndex()
Description: Compare a and b in dictionary order comparing the field values in the order m_vi[0] m_vi[1] m_fi m_side m_dir Parameters: a - [in] b - [in] Returns: -1: *a < *b 0: *a < *b 1: *a > *b Remarks: The function is thread safe.
◆ GetFaceSideList()
static unsigned int ON_MeshFaceSide::GetFaceSideList |
( |
size_t |
mesh_vertex_count, |
|
|
const class ON_MeshFaceList & |
mesh_face_list, |
|
|
const unsigned int * |
fi_list, |
|
|
size_t |
fi_list_count, |
|
|
const unsigned int * |
vertex_id_map, |
|
|
ON_MeshFaceSide *& |
face_side_list |
|
) |
| |
|
static |
Description: Get a list of mesh face sides. Parameters: mesh_vertex_count - [in] Number of vertices in the mesh. This value is used to validate vertex index values in mesh_face_list. mesh_face_list - [in] Mesh faces fi_list - [in]
- If fi_list null, then sides for every face in mesh_face_list will be added and the ON_MeshFaceSide.m_fi values will be the mesh_face_list[] index.
- If fi_list is not null, then fi_list[] is an array of mesh_face_list[] indices and the ON_MeshFaceSide.m_fi values will be fi_list[] array indices. For example, you may pass ON_MeshNon.m_fi as this parameter when you want a list of sides of faces in an ngon. fi_list_count - [in]
- If fi_list is not null, then fi_list_count is the number of elements in the fi_list[] array.
- If fi_list is null, then fi_list_count is ignored. vertex_id_map - [in] (can be null)
- If vertex_id_map is null, then the ON_MeshFaceSide::m_vi[] values are the vertex index values from mesh_face_list[].
- If vertex_id_map is not null, then vertex_id_map[] is an array with the mesh_vertex_count elements and ON_MeshFaceSide::m_vi[] values are vertex_id_map[mesh_face_list[] vertex indices]. A vertex_id_map[] is commonly used when coincident vertices need to be treated as a single topological entity. face_side_list - [out]
- If the input value of face_side_list is not null, then face_side_list[] must be long enough to hold the returned face_side_list list.
The maximum possible length is 4*mesh_face_list.FaceCount().
- If the input falue of face_side_list is null, memory will be allocated using onmalloc() and the caller is responsible for calling onfree() at an appropriate time. The returned is face_side_list[] is dictionary sorted by ON_MeshFaceSide.m_fi and then ON_MeshFaceSide.m_si. The vertex ids satisfy ON_MeshFaceSide.m_vi[0] < ON_MeshFaceSide.m_vi[1]. ON_MeshFaceSide.m_dir is 0 if the face vertex order is the same and 1 if the face vertex order is opposite. The static sorting functions on ON_MeshFaceSide can be used to change this ordering. Returns: Number of elements set in face_side_list[]. Remarks: Faces in mesh_face_list with vertex indices that are >= mesh_vertex_count are ignored. Degenerate faces are processed, but degenerate sides (equal vertex ids) are not added to face_side_list[].
◆ SortByFaceIndex()
static void ON_MeshFaceSide::SortByFaceIndex |
( |
ON_MeshFaceSide * |
face_sides, |
|
|
size_t |
face_sides_count |
|
) |
| |
|
static |
Description: Sort the face_sides[] using the compare function ON_MeshFaceSide::CompareFaceIndex(). Parameters: face_sides - [in/out] array to sort face_sides_count - [in] number of elements in the face_sides[] array. Remarks: The function is thread safe.
◆ SortByVertexIndex()
static void ON_MeshFaceSide::SortByVertexIndex |
( |
ON_MeshFaceSide * |
face_sides, |
|
|
size_t |
face_sides_count |
|
) |
| |
|
static |
Description: Sort the face_sides[] using the compare function ON_MeshFaceSide::CompareVertexIndex(). Parameters: face_sides - [in/out] array to sort face_sides_count - [in] number of elements in the face_sides[] array. Remarks: The function is thread safe.
◆ m_dir
unsigned char ON_MeshFaceSide::m_dir |
0 = counterclockwise, 1 = clockwise (reversed)
◆ m_fi
unsigned int ON_MeshFaceSide::m_fi |
◆ m_id
unsigned int ON_MeshFaceSide::m_id |
Use depends on context - typically identifies and edge or ngon.
◆ m_side
unsigned char ON_MeshFaceSide::m_side |
triangles use 0,1,3, quads use 0,1,2,3 m_side 0 connect face vertex 0 to face vertex 1.
◆ m_value
unsigned short ON_MeshFaceSide::m_value |
◆ m_vi
unsigned int ON_MeshFaceSide::m_vi[2] |
vertex indices or ids (equal values indicate unset)
◆ Unset