 |
PK_MESH_facet_strip_t |
|
struct PK_MESH_facet_strip_s
{
PK_LOGICAL_t is_relative_index; --- Indicates whether the
--- 'strip_indices' are
--- relative to this block.
int n_vertex_positions; --- Number of vertices in
--- block.
PK_VECTOR_t *vertex_positions; --- Positions of vertices
PK_VECTOR1_t *vertex_normals; --- Normals of vertices
--- (may be NULL).
int n_strip_indices; --- Number of indices
--- in 'strip_indices'
--- array
int *strip_indices; --- Indices of vertices
--- of strip.
};
typedef struct PK_MESH_facet_strip_s PK_MESH_facet_strip_t;
This structure contains the data for a block of facets described as a
tri-strip.
Used in:
PK_MESH_facet_t
The tri-strip is a collection of facets described by an array of indices,
'strip_indices', such that, if the vertex_position array is {a,b,c,d,e},
then 'n_strip_indices' is 5 and 'strip_indices' is {0,1,2,3,4}. The facets
of the strip are {a,b,c},{c,b,d}, and {c,d,e}. See here for more
information.
Description of fields:
'is_relative_index' Indicates whether the indices 'strip_indices' are
relative or absolute. When set to PK_LOGICAL_true,
it is not possible to define 'strip_indices' that
refer to 'vertex_positions' defined in previous
blocks. An absolute index is relative to the first
vertex added to the mesh in the first facet block
returned by the application callback function.
'n_vertex_positions' The number of vertices in the array
'vertex_positions'. If 'vertex_normals' is not
NULL then it is also the number of vertex normals.
'vertex_positions' The positions of the vertices of the mesh in this
block. There can be duplicates if the vertex has
multiple normals.
'vertex_normals' If not NULL, the normals of the vertices of the
mesh in this block.
'n_strip_indices' The number of strip indices in the array
'strip_indices'.
'strip_indices' The indices of the vertices of the strip in the
'vertex_positions' array.