osg::TexMat Class Reference

`#include <TexMat>`

Inheritance diagram for osg::TexMat:

## Public Member Functions

| TexMat ()
| TexMat (const Matrix &matrix)
| TexMat (const TexMat &texmat, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
| META_StateAttribute (osg, TexMat, TEXMAT)
virtual bool | isTextureAttribute () const
virtual int | compare (const StateAttribute &sa) const
void | setMatrix (const Matrix &matrix)
Matrix & | getMatrix ()
const Matrix & | getMatrix () const
void | setScaleByTextureRectangleSize (bool flag)
bool | getScaleByTextureRectangleSize () const
virtual void | apply (State &state) const
Public Member Functions inherited from osg::StateAttribute
| StateAttribute ()
| StateAttribute (const StateAttribute &sa, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * | cloneType () const =0
virtual Object * | clone (const CopyOp &) const =0
virtual bool | isSameKindAs (const Object *obj) const
virtual const char * | libraryName () const
virtual const char * | className () const
virtual StateAttribute * | asStateAttribute ()
virtual const StateAttribute * | asStateAttribute () const
virtual Texture * | asTexture ()
virtual const Texture * | asTexture () const
virtual Type | getType () const =0
virtual unsigned int | getMember () const
TypeMemberPair | getTypeMemberPair () const
bool | operator< (const StateAttribute &rhs) const
bool | operator== (const StateAttribute &rhs) const
bool | operator!= (const StateAttribute &rhs) const
const ParentList & | getParents () const
StateSet * | getParent (unsigned int i)
const StateSet * | getParent (unsigned int i) const
unsigned int | getNumParents () const
void | setShaderComponent (ShaderComponent *sc)
ShaderComponent * | getShaderComponent ()
const ShaderComponent * | getShaderComponent () const
virtual bool | getModeUsage (ModeUsage &) const
virtual bool | checkValidityOfAssociatedModes (osg::State &) const
void | setUpdateCallback (StateAttributeCallback *uc)
StateAttributeCallback * | getUpdateCallback ()
const StateAttributeCallback * | getUpdateCallback () const
void | setEventCallback (StateAttributeCallback *ec)
StateAttributeCallback * | getEventCallback ()
const StateAttributeCallback * | getEventCallback () const
virtual void | compileGLObjects (State &) const
virtual void | resizeGLObjectBuffers (unsigned int)
virtual void | releaseGLObjects (State *=0) const
Public Member Functions inherited from osg::Object
| Object ()
| Object (bool threadSafeRefUnref)
| Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
std::string | getCompoundClassName () const
virtual Node * | asNode ()
virtual const Node * | asNode () const
virtual NodeVisitor * | asNodeVisitor ()
virtual const NodeVisitor * | asNodeVisitor () const
virtual StateSet * | asStateSet ()
virtual const StateSet * | asStateSet () const
virtual Uniform * | asUniform ()
virtual const Uniform * | asUniform () const
virtual Camera * | asCamera ()
virtual const Camera * | asCamera () const
virtual Drawable * | asDrawable ()
virtual const Drawable * | asDrawable () const
virtual Callback * | asCallback ()
virtual const Callback * | asCallback () const
virtual CallbackObject * | asCallbackObject ()
virtual const CallbackObject * | asCallbackObject () const
virtual UserDataContainer * | asUserDataContainer ()
virtual const UserDataContainer * | asUserDataContainer () const
virtual ValueObject * | asValueObject ()
virtual const ValueObject * | asValueObject () const
virtual Image * | asImage ()
virtual const Image * | asImage () const
virtual void | setThreadSafeRefUnref (bool threadSafe)
virtual void | setName (const std::string &name)
void | setName (const char *name)
const std::string & | getName () const
void | setDataVariance (DataVariance dv)
DataVariance | getDataVariance () const
virtual void | computeDataVariance ()
void | setUserDataContainer (osg::UserDataContainer *udc)
template<class T>
void | setUserDataContainer (const ref_ptr< T > &udc)
osg::UserDataContainer * | getUserDataContainer ()
const osg::UserDataContainer * | getUserDataContainer () const
osg::UserDataContainer * | getOrCreateUserDataContainer ()
virtual void | setUserData (Referenced *obj)
template<class T>
void | setUserData (const ref_ptr< T > &ud)
virtual Referenced * | getUserData ()
virtual const Referenced * | getUserData () const
template<typename T>
bool | getUserValue (const std::string &name, T &value) const
template<typename T>
void | setUserValue (const std::string &name, const T &value)
template<typename T>
BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const
Public Member Functions inherited from osg::Referenced
| Referenced ()
| Referenced (bool threadSafeRefUnref)
| Referenced (const Referenced &)
Referenced & | operator= (const Referenced &)
bool | getThreadSafeRefUnref () const
OpenThreads::Mutex * | getRefMutex () const
int | ref () const
int | unref () const
int | unref_nodelete () const
int | referenceCount () const
ObserverSet * | getObserverSet () const
ObserverSet * | getOrCreateObserverSet () const
void | addObserver (Observer *observer) const
void | removeObserver (Observer *observer) const

## Protected Member Functions

virtual | ~TexMat (void)
Protected Member Functions inherited from osg::StateAttribute
virtual | ~StateAttribute ()
void | addParent (osg::StateSet *object)
void | removeParent (osg::StateSet *object)
Protected Member Functions inherited from osg::Object
virtual | ~Object ()
Protected Member Functions inherited from osg::Referenced
virtual | ~Referenced ()
void | signalObserversAndDelete (bool signalDelete, bool doDelete) const
void | deleteUsingDeleteHandler () const

## Protected Attributes

Matrix | _matrix
bool | _scaleByTextureRectangleSize
Protected Attributes inherited from osg::StateAttribute
ParentList | _parents
ref_ptr< ShaderComponent > | _shaderComponent
ref_ptr< StateAttributeCallback > | _updateCallback
ref_ptr< StateAttributeCallback > | _eventCallback
Protected Attributes inherited from osg::Object
std::string | _name
DataVariance | _dataVariance
osg::UserDataContainer * | _userDataContainer
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr | _observerSet
OpenThreads::Atomic | _refCount

## Additional Inherited Members

Public Types inherited from osg::StateAttribute
enum | Values { OFF = 0x0 , ON = 0x1 , OVERRIDE = 0x2 , PROTECTED = 0x4 , INHERIT = 0x8 }

enum

Type {
TEXTURE , POLYGONMODE , POLYGONOFFSET , MATERIAL ,
ALPHAFUNC , ANTIALIAS , COLORTABLE , CULLFACE ,
FOG , FRONTFACE , LIGHT , POINT ,
LINEWIDTH , LINESTIPPLE , POLYGONSTIPPLE , SHADEMODEL ,
TEXENV , TEXENVFILTER , TEXGEN , TEXMAT ,
LIGHTMODEL , BLENDFUNC , BLENDEQUATION , LOGICOP ,
STENCIL , COLORMASK , DEPTH , VIEWPORT ,
SCISSOR , BLENDCOLOR , MULTISAMPLE , CLIPPLANE ,
COLORMATRIX , VERTEXPROGRAM , FRAGMENTPROGRAM , POINTSPRITE ,
PROGRAM , CLAMPCOLOR , HINT , SAMPLEMASKI ,
PRIMITIVERESTARTINDEX , CLIPCONTROL , VALIDATOR , VIEWMATRIXEXTRACTOR ,
OSGNV_PARAMETER_BLOCK , OSGNVEXT_TEXTURE_SHADER , OSGNVEXT_VERTEX_PROGRAM , OSGNVEXT_REGISTER_COMBINERS ,
OSGNVCG_PROGRAM , OSGNVSLANG_PROGRAM , OSGNVPARSE_PROGRAM_PARSER , UNIFORMBUFFERBINDING ,
TRANSFORMFEEDBACKBUFFERBINDING , ATOMICCOUNTERBUFFERBINDING , PATCH_PARAMETER , FRAME_BUFFER_OBJECT ,
VERTEX_ATTRIB_DIVISOR , SHADERSTORAGEBUFFERBINDING , INDIRECTDRAWBUFFERBINDING , VIEWPORTINDEXED ,
DEPTHRANGEINDEXED , SCISSORINDEXED , BINDIMAGETEXTURE , SAMPLER ,
CAPABILITY = 100
}

typedef GLenum | GLMode
typedef unsigned int | GLModeValue
typedef unsigned int | OverrideValue
typedef std::pair< Type, unsigned int > | TypeMemberPair
typedef std::vector< StateSet * > | ParentList
typedef osg::StateAttributeCallback | Callback
Public Types inherited from osg::Object
enum | DataVariance { DYNAMIC , STATIC , UNSPECIFIED }
Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * | getGlobalReferencedMutex ()
static void | setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * | getDeleteHandler ()

## Detailed Description

A texture matrix state class that encapsulates OpenGL texture matrix functionality.

## Constructor & Destructor Documentation

## TexMat() [1/3]

osg::TexMat::TexMat | ( |  | ) |

Referenced by compare(), META_StateAttribute(), and TexMat().

## TexMat() [2/3]

osg::TexMat::TexMat | ( | const Matrix & | matrix | ) |

inline

References _matrix, and _scaleByTextureRectangleSize.

## TexMat() [3/3]

osg::TexMat::TexMat | ( | const TexMat & | texmat,
|  | const CopyOp & | copyop = CopyOp::SHALLOW_COPY )

inline

Copy constructor using CopyOp to manage deep vs shallow copy.

References _matrix, _scaleByTextureRectangleSize, osg::CopyOp::SHALLOW_COPY, osg::StateAttribute::StateAttribute(), and TexMat().

## ~TexMat()

virtual osg::TexMat::~TexMat | ( | void |  | ) |

protected virtual

## Member Function Documentation

## apply()

virtual void osg::TexMat::apply | ( | State & | state | ) | const

virtual

Apply texture matrix to OpenGL state.

Reimplemented from osg::StateAttribute.

## compare()

virtual int osg::TexMat::compare | ( | const StateAttribute & | sa | ) | const

inline virtual

Return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.

Implements osg::StateAttribute.

References _matrix, COMPARE_StateAttribute_Parameter, COMPARE_StateAttribute_Types, osg::StateAttribute::StateAttribute(), and TexMat().

## getMatrix() [1/2]

Matrix & osg::TexMat::getMatrix | ( |  | ) |

inline

Get the texture matrix

References _matrix.

## getMatrix() [2/2]

const Matrix & osg::TexMat::getMatrix | ( |  | ) | const

inline

Get the const texture matrix

References _matrix.

## getScaleByTextureRectangleSize()

bool osg::TexMat::getScaleByTextureRectangleSize | ( |  | ) | const

inline

Get whether the post scaling of the TexMat matrix, by the size of the last applied texture rectangle, is switched on/off.

References _scaleByTextureRectangleSize.

## isTextureAttribute()

virtual bool osg::TexMat::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.

## META_StateAttribute()

osg::TexMat::META_StateAttribute | ( | osg | ,
|  | TexMat | ,
|  | TEXMAT | )

References osg::StateAttribute::TEXMAT, and TexMat().

## setMatrix()

void osg::TexMat::setMatrix | ( | const Matrix & | matrix | ) |

inline

Set the texture matrix

References _matrix.

## setScaleByTextureRectangleSize()

void osg::TexMat::setScaleByTextureRectangleSize | ( | bool | flag | ) |

inline

Switch on/off the post scaling of the TexMat matrix by the size of the last applied texture rectangle. Use a TexMat alongside a TextureRectangle with this scaling applied allows one to treat a TextureRectnagles texture coordinate range as if it were the usual non dimensional 0.0 to 1.0 range. Note, the TexMat matrix itself is not modified by the post scaling, its purely an operation passed to OpenGL to do the post scaling once the the TexMat matrix has been loaded.

References _scaleByTextureRectangleSize.

## Member Data Documentation

## _matrix

Matrix osg::TexMat::_matrix

protected

Referenced by compare(), getMatrix(), getMatrix(), setMatrix(), TexMat(), and TexMat().

## _scaleByTextureRectangleSize

bool osg::TexMat::_scaleByTextureRectangleSize

protected

Referenced by getScaleByTextureRectangleSize(), setScaleByTextureRectangleSize(), TexMat(), and TexMat().

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

- TexMat