Provided by: inventor-doc_2.1.5-10-18_all bug

NAME

       SoNormal — node that defines surface normals for shapes

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoNormal

SYNOPSIS

       #include <Inventor/nodes/SoNormal.h>

          Fields from class SoNormal:

     SoMFVec3f           vector

          Methods from class SoNormal:

                         SoNormal()
     static SoType       getClassTypeId()

          Methods from class SoNode:

     void                setOverride(SbBool state)
     SbBool              isOverride() const
     SoNode *            copy(SbBool copyConnections = FALSE) const
     virtual SbBool      affectsState() const
     static SoNode *     getByName(const SbName &name)
     static int          getByName(const SbName &name, SoNodeList &list)

          Methods from class SoFieldContainer:

     void                setToDefaults()
     SbBool              hasDefaultValues() const
     SbBool              fieldsAreEqual(const SoFieldContainer *fc) const
     void                copyFieldValues(const  SoFieldContainer  *fc,  SbBool  copyConnections =
                              FALSE)
     SbBool              set(const char *fieldDataString)
     void                get(SbString &fieldDataString)
     virtual int         getFields(SoFieldList &resultList) const
     virtual SoField *   getField(const SbName &fieldName) const
     SbBool              getFieldName(const SoField *field, SbName &fieldName) const
     SbBool              isNotifyEnabled() const
     SbBool              enableNotify(SbBool flag)

          Methods from class SoBase:

     void                ref()
     void                unref() const
     void                unrefNoDelete() const
     void                touch()
     virtual SoType      getTypeId() const
     SbBool              isOfType(SoType type) const
     virtual void        setName(const SbName &name)
     virtual SbName      getName() const

DESCRIPTION

       This node defines a set of 3D surface normal vectors to  be  used  by  vertex-based  shape
       nodes  that  follow  it  in  the  scene graph. This node does not produce a visible result
       during rendering; it simply replaces the  current  normals  in  the  rendering  state  for
       subsequent  nodes  to  use. This node contains one multiple-valued field that contains the
       normal vectors.

       Surface normals are needed to compute lighting when the Phong lighting model is used. Most
       vertex-based  shapes  that  use normals can compute default normals if none are specified,
       depending on the current normal binding.

FIELDS

     SoMFVec3f           vector
          Surface normal vectors.

METHODS

                         SoNormal()
          Creates a surface normal node with default settings.

     static SoType       getClassTypeId()
          Returns type identifier for this class.

ACTION BEHAVIOR

       SoGLRenderAction, SoCallbackAction, SoRayPickAction
          Sets the current normals in the traversal state.

FILE FORMAT/DEFAULTS

       Normal {
          vector  [  ]
     }

SEE ALSO

       SoCoordinate3, SoLightModel, SoNormalBinding, SoVertexShape

                                                                                  SoNormal(3IV)()