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

NAME

       SoTexture2 — texture mapping node

INHERITS FROM

       SoBase > SoFieldContainer > SoNode > SoTexture2

SYNOPSIS

       #include <Inventor/nodes/SoTexture2.h>

     enum Model {
          SoTexture2::MODULATE  The texture color is multiplied by the surface color
          SoTexture2::DECAL     The texture color replaces the surface color
          SoTexture2::BLEND     Blends between the surface color and a specified blend color
     }

     enum Wrap {
          SoTexture2::REPEAT  Repeats texture outside 0-1 texture coordinate range
          SoTexture2::CLAMP   Clamps texture coordinates to lie within 0-1 range
     }

          Fields from class SoTexture2:

     SoSFString          filename
     SoSFImage           image
     SoSFEnum            wrapS
     SoSFEnum            wrapT
     SoSFEnum            model
     SoSFColor           blendColor

          Methods from class SoTexture2:

                         SoTexture2()
     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 property node defines a texture map and parameters for that map. This map is used  to
       apply texture to subsequent shapes as they are rendered.

       The  texture  can  be read from the file specified by the filename field. Once the texture
       has been read, the image field contains the texture data. However, this field is marked so
       the  image  is  not  written  out  when the texture node is written to a file. To turn off
       texturing, set the filename field to an empty string ("").

       Textures can also be specified in memory by setting the image field to contain the texture
       data. Doing so resets the filename to the empty string.

       If the texture image's width or height is not a power of 2, or the image's width or height
       is greater than the maximum supported by OpenGL, then  the  image  will  be  automatically
       scaled  up  or down to the next power of 2 or the maximum texture size. For maximum speed,
       point-sampling is used to do the scale; if you want more accurate  resampling,  pre-filter
       images  to  a  power  of  2  smaller  than  the  maximum  texture  size  (use  the  OpenGL
       glGetIntegerv(GL_MAX_TEXTURE_SIZE...)  call to determine maximum texture  for  a  specific
       OpenGL implementation).

       The  quality  of the texturing is affected by the textureQuality field of the SoComplexity
       node. The textureQuality field affects what kind of filtering is done to the texture  when
       it  must  be minified or magnified. The mapping of a particular texture quality value to a
       particular OpenGL filtering technique is implementation dependent, and varies based on the
       texturing performance.  If mipmap filtering is required, mipmaps are automatically created
       using the simple box filter.

FIELDS

     SoSFString          filename
          Names file from which to  read  texture  image.  Currently  only  SGI  .rgb  files  are
          supported.  If  the  filename  is  not  an  absolute path name, the list of directories
          maintained by SoInput is searched. If  the  texture  is  not  found  in  any  of  those
          directories,  then  the  file  is searched for relative to the directory from which the
          SoTexture2 node was read. For example,  if  an  SoTexture2  node  with  a  filename  of
          "../tofu.rgb"      is      read      from      /usr/people/bob/models/food.iv,     then
          /usr/people/bob/tofu.rgb will be read (assuming tofu.rgb isn't found in the directories
          maintained by SoInput).

     SoSFImage           image
          Contains  an  in-memory representation of the texture map. It is either the contents of
          the file read from filename, an image read directly from an Inventor file, or an  image
          set programmatically using the methods provided by SoSFImage.

     SoSFEnum            wrapS
     SoSFEnum            wrapT
          Indicates  what  to  do  when texture coordinates in the S (horizontal) or T (vertical)
          direction lie outside the range 0-1.

     SoSFEnum            model
          Specifies how to map texture onto surface.

     SoSFColor           blendColor
          Color used for BLEND model.

METHODS

                         SoTexture2()
          Creates a texture node with default settings.

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

ACTION BEHAVIOR

       SoGLRenderAction, SoCallbackAction
          Sets current texture in state.

FILE FORMAT/DEFAULTS

       Texture2 {
          filename    ""
          image       0 0 0
          wrapS       REPEAT
          wrapT       REPEAT
          model       MODULATE
          blendColor  0 0 0
     }

SEE ALSO

       SoComplexity,        SoMaterial,        SoTexture2Transform,         SoTextureCoordinate2,
       SoTextureCoordinateBinding, SoTextureCoordinateFunction

                                                                                SoTexture2(3IV)()