pfill_area_set(3g) — Subroutines
Name
pfill_area_set − Defines a 2D fill area set primitive.
Operating States: PHOP, ∗, STOP, ∗
PHIGS standard function
Creates a structure element
Syntax
void pfill_area_set (
const Ppoint_list_list ∗point_list /∗ List of point lists that
specifies the fill area set ∗/
)
Data Structures
typedef struct {
Pint num_point_lists; /∗ number of point lists ∗/
Ppoint_list ∗point_lists; /∗ list of point lists ∗/
} Ppoint_list_list;
typedef struct {
Pint num_points; /∗ number of Ppoints in the list ∗/
Ppoint ∗points; /∗ list of points ∗/
} Ppoint_list;
typedef struct {
Pfloat x; /∗ x coordinate ∗/
Pfloat y; /∗ y coordinate ∗/
} Ppoint;
Description
pfill_area_set creates a structure element that uses a list of points to define a two-dimensional fill area set primitive.
Depending on the current edit mode, this function either inserts the new structure element directly after the element indicated by the element pointer or replaces the element indicated by the pointer. The pointer then points to the new fill area set element.
The pfill_area_set function specifies the two-dimensional (x and y) form of the fill area set primitive. The default z-coordinate of the primitive is 0. The function, along with its attributes, draws a complex polygon. You can define both the interior and exterior (edge) attributes of the polygon.
A call to this function has the following effects during structure traversal:
•Digital PHIGS generates a set of polygonal areas made up of a collection of subareas.
•Digital PHIGS closes any unclosed polygon (subarea), implicitly.
•Digital PHIGS binds the current values of the fill area set attributes, as defined in the PHIGS traversal state list, to the fill area set primitive.
Attribute values control whether or not edges appear in the display.
The interior of a fill area set primitive is defined as follows:
•For a specified point, a straight line is created starting at that point and continuing on to infinity.
•If the number of intersections between the straight line and the fill area boundary is odd, the point is within the fill area.
•If the number of intersections between the straight line and the fill area boundary is even, the point is outside the fill area.
•If the straight line passes through a fill area vertex tangentially, the intersection count is not affected.
If Digital PHIGS is in immediate mode, it performs this function immediately, but the function does not create a structure element. If you have information about the shape of the fill areas, use the pe_fill_area_set_wshape function instead of this function for increased performance.
All fill areas and vertices of a fill area set element must be coplanar.
This primitive is used to define planar surfaces with holes or disjoint planar surfaces. Digital PHIGS uses the odd-even rule to determine the interior and exterior of the polygons.
See Also
padd_names_set
pfill_area
pfill_area_set3
pfill_area_set3_data
pinq_edge_facs
pinq_int_facs
premove_names_set
pset_back_int_colr
pset_back_int_shad_method
pset_back_int_style
pset_back_int_style_ind
pset_back_refl_model
pset_back_refl_props
pset_depth_cue_ind
pset_edge_colr
pset_edge_colr_ind
pset_edge_flag
pset_edge_ind
pset_edgetype
pset_edgewidth
pset_facet_cull_mode
pset_facet_disting_mode
pset_global_tran
pset_hlhsr_id
pset_indiv_asf
pset_int_colr
pset_int_colr_ind
pset_int_ind
pset_int_shad_method
pset_int_style
pset_int_style_ind
pset_light_source_st
pset_local_tran
pset_pick_id
pset_refl_model
pset_refl_props
pset_view_ind