# IBM Visualization Data Explorer Programmer's Reference

[ Bottom of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]

### DXAddFaceNormal, DXAddFaceNormals

Function Adds connection-dependent normals to a Field.

Syntax

    #include <dx/dx.h>
    Field DXAddFaceNormal(Field f, int id, Vector v)
    Field DXAddFaceNormals(Field f, int start, int n, Vector *v)

.

Functional Details A Field may contain connection-dependent normals that can be used to flat-shade a polygonal object. If so, the normals component is expected to have the same size as the "connections" component, as indicated by its having a "dep" attribute of "connections." Both routines aid in constructing such a component.

`DXAddFaceNormal` | Adds one normal (`v`) to `f` with the specified zero-based `id`. If `f` does not contain a "normals" component, one is added.
`DXAddFaceNormals` | Adds `n` normals (`*v`) to `f`. Identifiers begin with `start`. If `f` does not contain a "normals" component, one is added.

Note: | Both routines are suitable for adding a small number of face normals and for rapid prototyping, but they are included here mainly for backward compatibility. For better performance, see DXAddArrayData and "Irregular Arrays".

Normals are specified as `Vectors` and defined as follows:

    typedef struct point {
        float x, y, z;
    } Point, Vector;

Note: | These routines do not check the "dep" attribute of the "normals" component. Thus, if a "normals" component that is "dep" on "positions" already exists in `f`, the routine adds one or more normals to the normals component, leaving the attribute unchanged. The result may be a component with the wrong number of items for "dep."

Return Value Returns `f` or returns `NULL` and sets an error code.

See Also `DXAddArrayData, DXAddPoint, ...Color, ...FrontColor, ...BackColor, ...Opacity, ...Normal,`

"Points and Dependent Data".

[ Top of Page | Previous Page | Next Page | Table of Contents | Partial Table of Contents | Index ]
[Data Explorer Documentation | QuickStart Guide | User's Guide | User's Reference | Programmer's Reference | Installation and Configuration Guide ]

[Data Explorer Home Page]

[IBM Home Page | Order | Search | Contact IBM | Legal ]