Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pfill_area3(3g) — PHIGS 5.1

Media Vault

Software Library

Restoration Projects

Artifacts Sought

pfill_area3(3g)  —  Subroutines

Name

pfill_area3 − Defines a 3D fill area primitive. 

 
Operating States: PHOP, ∗, STOP, ∗
PHIGS standard function
Creates a structure element

Syntax

void pfill_area3 (
  const Ppoint_list3  ∗points   /∗ (I) List of modeling coordinate points
                                       that specifies the fill area ∗/
)

Data Structures

typedef struct {
    Pint       num_points;   /∗ number of Ppoint3s in the list ∗/
    Ppoint3   ∗points;       /∗ list of points ∗/
} Ppoint_list3;
    typedef struct {
        Pfloat    x;    /∗ x coordinate ∗/
        Pfloat    y;    /∗ y coordinate ∗/
        Pfloat    z;    /∗ z coordinate ∗/
    } Ppoint3;

Description

pfill_area3 uses a list of points to define a three-dimensional fill area primitive.  Depending on the current edit mode, this function either inserts the new structure element directly after the element indicated by the pointer or replaces the element indicated by the pointer.  The pointer then points to the new fill area 3 element. 

The pfill_area3 function, with its bound attributes, defines a polygon interior in three-dimensional (x, y, and z) form.  The polygon may be filled but does not have edges. (Compare this function to the fill area set functions, which define polygon interiors and edges.) 

A call to this function has the following effects during structure traversal:

•Digital PHIGS generates a three-dimensional polygon interior. 

•Digital PHIGS closes an unclosed polygon, implicitly. 

•Digital PHIGS binds the current values of the fill area interior attributes, as defined in the PHIGS traversal state list, to the fill area 3 primitive. 

If Digital PHIGS clips an area, it generates new boundaries for the area as part of the displayed interior.  Whether Digital PHIGS actually displays these boundaries depends on the current HLHSR mode.  The pset_int_rep interior style setting (for example, HOLLOW) also affects boundary representation. 

The interior of a fill area primitive is defined as follows:

•For a specified point, a straight line is created starting at that point and continuing 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 area, use the pe_fill_area3_wshape function instead of this function for increased performance.

All vertices of a fill area 3 element must be coplanar. 

See Also

padd_names_set
pfill_area_set
pfill_area_set3_data
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_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

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026