.\"## .\" $XConsortium: p291,v 5.2 94/04/17 20:57:49 rws Exp $ .\"## .\"## $XMCOPY .\"## Copyright (c) 1990, 1991 by Sun Microsystems, Inc. .\"## .\"## All Rights Reserved .\"## .\"## Permission to use, copy, modify, and distribute this software and its .\"## documentation for any purpose and without fee is hereby granted, .\"## provided that the above copyright notice appear in all copies and that .\"## both that copyright notice and this permission notice appear in .\"## supporting documentation, and that the name of Sun Microsystems, .\"## not be used in advertising or publicity .\"## pertaining to distribution of the software without specific, written .\"## prior permission. .\"## .\"## SUN MICROSYSTEMS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, .\"## INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO .\"## EVENT SHALL SUN MICROSYSTEMS BE LIABLE FOR ANY SPECIAL, INDIRECT OR .\"## CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF .\"## USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR .\"## OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR .\"## PERFORMANCE OF THIS SOFTWARE. .ds f \s-2SET BACK REFLECTANCE PROPERTIES\s+2 .TH "SET BACK REFLECTANCE PROPERTIES" 3P+ "29 February 1991" .SH NAME SET BACK REFLECTANCE PROPERTIES \- create a structure element to set the back area properties .IX "PHIGS Extension Functions" "SET BACK REFLECTANCE PROPERTIES" .IX "Filled Area Interior Attributes" "SET BACK REFLECTANCE PROPERTIES" .IX "Aspect Source Flags" "SET BACK REFLECTANCE PROPERTIES" .IX "Attributes, Filled Area Interior Attributes" "SET BACK REFLECTANCE PROPERTIES" .SH SYNOPSIS .SS C Syntax .ft B .ta 1.25i 3i .nf void pset_back_refl_props ( properties ) Prefl_props *properties; \fIback surface area properties\fP .fi .ft R .SS Required PHIGS Operating States (PHOP, *, STOP, *) .SH DESCRIPTION .SS Purpose \s-2SET BACK REFLECTANCE PROPERTIES\s+2 creates a structure element to set the back area properties. .LP When the current back area properties \s-2ASF\s+2 is set to \s-2INDIVIDUAL\s+2, the current value of this attribute applies to the following output primitives: .RS .LP \(bu .SM "FILL AREA" .LP \(bu .SM "FILL AREA 3" .LP \(bu .SM "FILL AREA SET" .LP \(bu .SM "FILL AREA SET 3" .LP \(bu .SM "FILL AREA SET 3 WITH DATA" .LP \(bu .SM "GENERALIZED DRAWING PRIMITIVE (\fIFill Area Primitives\fP)" .LP \(bu .SM "GENERALIZED DRAWING PRIMITIVE 3 (\fIFill Area Primitives\fP)" .LP \(bu .SM "SET OF FILL AREA SET 3 WITH DATA" .LP \(bu .SM "NON-UNIFORM B-SPLINE SURFACE" .LP \(bu .SM "QUADRILATERAL MESH 3 WITH DATA" .LP \(bu .SM "TRIANGLE STRIP 3 WITH DATA" .RE .LP .SS C Input Parameters .IP \fIproperties\fR A pointer to a Prefl_props structure that specifies the back area properties. Prefl_props is defined in phigs.h as follows: .sp .2 .nf .ta .5i +\w'Pfloat 'u +\w'specular_colr; 'u .sp .2 typedef struct { .sp .2 Pfloat ambient_coef; /* ambient reflectance coefficient */ Pfloat diffuse_coef; /* diffuse reflectance coefficient */ Pfloat specular_coef; /* specular reflectance coefficient */ Pgcolr specular_colr; /* specular colour */ Pfloat specular_exp; /* specular exponent */ Pfloat transpar_coef; /* transparency coefficient */ .sp .2 } Prefl_props; .IP .fi Pgcolr is defined as: .ta .5i +\w'union 'u +\w'struct 'u +\w'Pfloat 'u +\w'type; 'u +w\'x; 'u .nf .sp .4 typedef struct { .sp .2 Pint type; /* indirect, RGB, CIE, HSV, HLS */ union { Pint ind; /* colour table index */ struct { Pfloat x; /* red, hue, etc. */ Pfloat y; /* green, saturation, lightness, etc. */ Pfloat z; /* blue, value, saturation, etc. */ } general; } val; } Pgcolr; .fi .IP The color type is one of the following: .sp .2 .ta .5i +1i .nf 0 PINDIRECT 1 PMODEL_RGB 2 PMODEL_CIELUV 3 PMODEL_HSV 4 PMODEL_HLS .fi .SS Execution Depending on the edit mode, a \s-2SET BACK REFLECTANCE PROPERTIES\s+2 element is inserted into the open structure after the element pointer or replaces the element pointed at by the element pointer. The element pointer is then updated to point to this \s-2SET BACK REFLECTANCE PROPERTIES\s+2 element. .LP Back face attributes (such as back area properties, back interior colour, back reflectance characteristics, back interior shading method, back interior style, and back interior style index) are used only when the face distinguishing mode has the value \fIYes\fP and are applied to only the back facing portion of area defining primitives. See \s-2SET FACE DISTINGUISHING MODE (3P+)\s+2 for details on front and back face determination. .LP When the current back area properties \s-2ASF\s+2 is set to \s-2INDIVIDUAL\s+2, area-defining output primitives, which follow in the structure network and are subject to back face attributes, are filled using the current back area properties. .LP When the current back area properties \s-2ASF\s+2 is set to \s-2BUNDLED\s+2, the back area properties are taken from the workstation extended representation indicated by the current interior index. In this case, the back area properties set with \s-2SET BACK REFLECTANCE PROPERTIES\s+2 has no effect. .sp .2 .SH ERRORS .IP 005 Ignoring function, function requires state (\s-2PHOP\s+2, \s-2*\s+2, \s-2STOP\s+2, \s-2*\s+2) .SH SEE ALSO .nf .IP .ta 0.5i .SM "SET REFLECTANCE PROPERTIES (3P+)" .SM "SET FACE DISTINGUISHING MODE (3P+)" .SM "SET INDIVIDUAL ASF (3P)" .SM "SET INTERIOR REPRESENTATION PLUS (3P+)" .SM "SET FACE CULLING MODE (3P+)" .SM "FILL AREA (3P)" .SM "FILL AREA 3 (3P)" .SM "FILL AREA SET (3P)" .SM "FILL AREA SET 3 (3P)" .SM "FILL AREA SET 3 WITH DATA (3P+)" .SM "SET OF FILL AREA SET 3 WITH DATA (3P+)" .SM "QUADRILATERAL MESH 3 WITH DATA (3P+)" .SM "TRIANGLE STRIP 3 WITH DATA (3P+)" .fi