Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

osg::TexGen Class Reference

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

Inheritance diagram for osg::TexGen:

Inheritance graph
[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)
PlanegetPlane (Coord which)
const PlanegetPlane (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

osg::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.

virtual osg::TexGen::~TexGen void   )  [protected, virtual]
 


Member Function Documentation

virtual void osg::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& osg::TexGen::getPlane Coord  which  )  const
 

Plane& osg::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 osg::TexGen::setPlane Coord  which,
const Plane plane
 

void osg::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 file:
Generated at Thu Nov 24 16:23:53 2005 for the OpenSceneGraph by doxygen 1.3.6.