# osg::TexGen Class Reference

TexGen encapsulates the OpenGL glTexGen (texture coordinate generation) state. More...

Inheritance diagram for osg::TexGen:

[legend]
List of all members.

## Public Types

enum | Mode { OBJECT_LINEAR = GL_OBJECT_LINEAR, EYE_LINEAR = GL_EYE_LINEAR, SPHERE_MAP = GL_SPHERE_MAP, NORMAL_MAP = GL_NORMAL_MAP_ARB, REFLECTION_MAP = GL_REFLECTION_MAP_ARB }
enum | Coord { S, T, R, Q }

## Public Member Functions

| TexGen ()
| TexGen (const TexGen &texgen, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| Copy constructor using CopyOp to manage deep vs shallow copy.
| META_StateAttribute (osg, TexGen, TEXGEN)
virtual bool | isTextureAttribute () const
| Return true if StateAttribute is a type which controls texturing and needs to be issued w.r.t to specific texture unit.
virtual int | compare (const StateAttribute &sa) const
| Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.
virtual bool | getModeUsage (ModeUsage &usage) const
| Return the modes associated with this StateAttribute.
virtual void | apply (State &state) const
| apply the OpenGL state attributes.
void | setMode (Mode mode)
Mode | getMode () const
void | setPlane (Coord which, const Plane &plane)
Plane & | getPlane (Coord which)
const Plane & | getPlane (Coord which) const
void | setPlanesFromMatrix (const Matrixd &matrix)
| Set the tex gen planes from specified matrix.

## Protected Member Functions

virtual | ~TexGen (void)

## Protected Attributes

Mode | _mode
Plane | _plane_s
| Additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,.
Plane | _plane_t
| Additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,.
Plane | _plane_r
| Additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,.
Plane | _plane_q
| Additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,.

## Detailed Description

TexGen encapsulates the OpenGL glTexGen (texture coordinate generation) state.

## Member Enumeration Documentation

enum osg::TexGen::Coord

Enumeration values:

  S |
  T |
  R |
  Q |

enum osg::TexGen::Mode

Enumeration values:

  OBJECT_LINEAR |
  EYE_LINEAR |
  SPHERE_MAP |
  NORMAL_MAP |
  REFLECTION_MAP |

## Constructor & Destructor Documentation

TexGen::TexGen | ( |  | ) |

osg::TexGen::TexGen | ( | const TexGen & | texgen,
|  | const CopyOp & | copyop = `CopyOp::SHALLOW_COPY`
| ) | `[inline]`

| Copy constructor using CopyOp to manage deep vs shallow copy.

TexGen::~TexGen | ( | void |  | ) | `[protected, virtual]`

## Member Function Documentation

void TexGen::apply | ( | State & | state | ) | const`[virtual]`

| apply the OpenGL state attributes. The global state for the current OpenGL context is passed in to allow the StateAttribute to obtain details on the the current context and state. Implements osg::StateAttribute.

virtual int osg::TexGen::compare | ( | const StateAttribute & | sa | ) | const`[inline, virtual]`

| Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs. Implements osg::StateAttribute.

Mode osg::TexGen::getMode | ( |  | ) | const`[inline]`

virtual bool osg::TexGen::getModeUsage | ( | ModeUsage & | usage | ) | const`[inline, virtual]`

| Return the modes associated with this StateAttribute. Reimplemented from osg::StateAttribute.

const Plane & TexGen::getPlane | ( | Coord | which | ) | const

Plane & TexGen::getPlane | ( | Coord | which | ) |

virtual bool osg::TexGen::isTextureAttribute | ( |  | ) | const`[inline, virtual]`

| Return true if StateAttribute is a type which controls texturing and needs to be issued w.r.t to specific texture unit. Reimplemented from osg::StateAttribute.

osg::TexGen::META_StateAttribute | ( | osg | ,
|  | TexGen | ,
|  | TEXGEN |
| ) |

void osg::TexGen::setMode | ( | Mode | mode | ) | `[inline]`

void TexGen::setPlane | ( | Coord | which,
|  | const Plane & | plane
| ) |

void TexGen::setPlanesFromMatrix | ( | const Matrixd & | matrix | ) |

| Set the tex gen planes from specified matrix. Typical usage would be to pass in a projection matrix to set up projective texturing.

## Member Data Documentation

Mode osg::TexGen::_mode `[protected]`

Plane osg::TexGen::_plane_q `[protected]`

| Additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,.

Plane osg::TexGen::_plane_r `[protected]`

| Additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,.

Plane osg::TexGen::_plane_s `[protected]`

| Additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,.

Plane osg::TexGen::_plane_t `[protected]`

| Additional texgen coefficents for GL_OBJECT_PLANE or GL_EYE_PLANE,.

The documentation for this class was generated from the following files:

- TexGen
- TexGen.cpp