 |
PK_MESH_facet_fan_t |
|
struct PK_MESH_facet_fan_s
{
PK_LOGICAL_t is_relative_index; --- Indicates whether the
--- 'fan_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_fan_indices; --- Number of indices in
--- the 'fan_indices' array
int *fan_indices; --- Indices of vertices
--- of fan-strip.
};
typedef struct PK_MESH_facet_fan_s PK_MESH_facet_fan_t;
This structure contains the data for a block of facets described as a
tri-fan.
Used in:
PK_MESH_facet_t
The tri-fan is a collection of facets described by an array of indices.
The facets fan around a common vertex. If the 'vertex_positions' array
is {a,b,c,d,e} and the fan consists of facets {a,b,c}, {a,c,d}, and
{a,d,e} then, setting 'is_relative_index' to PK_LOGICAL_true,
'number_of_indices' is 5 and 'fan_indices' is the array {0,1,2,3,4}.
See here for more information.
Description of fields:
'is_relative_index' Indicates whether the indices 'fan_indices' are
relative or absolute. When set to PK_LOGICAL_true,
it is not possible to define 'fan_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_fan_indices' The number of fan indices in the array
'fan_indices'.
'fan_indices' The indices of the vertices of the fan-strip in
the 'vertex_positions' array.