openscenegraph
osgAnimation::RigTransformHardware Class Reference

This class manage format for hardware skinning. More...

#include <RigTransformHardware>

Inheritance diagram for osgAnimation::RigTransformHardware:
osgAnimation::RigTransform osg::Object osg::Referenced

Public Types

typedef std::vector< osg::ref_ptr< osg::Vec4Array > > BoneWeightAttribList
typedef std::vector< osg::ref_ptr< Bone > > BonePalette
typedef std::map< std::string, unsigned int > BoneNamePaletteIndex
typedef std::vector< osg::Matrix > MatrixPalette
Public Types inherited from osg::Object
enum  DataVariance { DYNAMIC , STATIC , UNSPECIFIED }

Public Member Functions

 RigTransformHardware ()
 RigTransformHardware (const RigTransformHardware &rth, const osg::CopyOp &copyop)
 META_Object (osgAnimation, RigTransformHardware)
void setFirstVertexAttributeTarget (unsigned int i)
 set the first Vertex Attribute Array index of the rig generated by this technic (default:11)
unsigned int getFirstVertexAttributeTarget () const
void setShader (osg::Shader *shader)
const osg::Shader * getShader () const
osg::Shader * getShader ()
osg::Vec4Array * getVertexAttrib (unsigned int index)
unsigned int getNumVertexAttrib () const
const unsigned int & getNumBonesPerVertex () const
const unsigned int & getNumVertexes () const
const BoneNamePaletteIndex & getBoneNameToPalette ()
const BonePalette & getBonePalette ()
osg::Uniform * getMatrixPaletteUniform ()
void computeMatrixPaletteUniform (const osg::Matrix &transformFromSkeletonToGeometry, const osg::Matrix &invTransformFromSkeletonToGeometry)
virtual void operator() (RigGeometry &)
virtual bool prepareData (RigGeometry &)
Public Member Functions inherited from osgAnimation::RigTransform
 RigTransform ()
 RigTransform (const RigTransform &org, const osg::CopyOp &copyop)
 META_Object (osgAnimation, RigTransform) virtual void operator()(RigGeometry &)
Public Member Functions inherited from osg::Object
 Object ()
 Object (bool threadSafeRefUnref)
 Object (const Object &, const CopyOp &copyop=CopyOp::SHALLOW_COPY)
virtual Object * cloneType () const =0
virtual Object * clone (const CopyOp &) const =0
virtual bool isSameKindAs (const Object *) const
virtual const char * libraryName () const =0
virtual const char * className () const =0
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 StateAttribute * asStateAttribute ()
virtual const StateAttribute * asStateAttribute () 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)
virtual void resizeGLObjectBuffers (unsigned int)
virtual void releaseGLObjects (osg::State *=0) const
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

bool buildPalette (const BoneMap &boneMap, const RigGeometry &rig)
virtual bool init (RigGeometry &)
Protected Member Functions inherited from osgAnimation::RigTransform
virtual ~RigTransform ()
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

unsigned int _bonesPerVertex
unsigned int _nbVertices
BonePalette _bonePalette
BoneNamePaletteIndex _boneNameToPalette
BoneWeightAttribList _boneWeightAttribArrays
osg::ref_ptr< osg::Uniform > _uniformMatrixPalette
osg::ref_ptr< osg::Shader > _shader
bool _needInit
unsigned int _minAttribIndex
std::vector< IndexWeightList > _perVertexInfluences
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

Static Public Member Functions inherited from osg::Referenced
static OpenThreads::Mutex * getGlobalReferencedMutex ()
static void setDeleteHandler (DeleteHandler *handler)
static DeleteHandler * getDeleteHandler ()

Detailed Description

This class manage format for hardware skinning.

Member Typedef Documentation

◆ BoneNamePaletteIndex

typedef std::map<std::string, unsigned int> osgAnimation::RigTransformHardware::BoneNamePaletteIndex

◆ BonePalette

◆ BoneWeightAttribList

◆ MatrixPalette

Constructor & Destructor Documentation

◆ RigTransformHardware() [1/2]

osgAnimation::RigTransformHardware::RigTransformHardware ( )

◆ RigTransformHardware() [2/2]

osgAnimation::RigTransformHardware::RigTransformHardware ( const RigTransformHardware & rth,
const osg::CopyOp & copyop )

Member Function Documentation

◆ buildPalette()

bool osgAnimation::RigTransformHardware::buildPalette ( const BoneMap & boneMap,
const RigGeometry & rig )
protected

◆ computeMatrixPaletteUniform()

void osgAnimation::RigTransformHardware::computeMatrixPaletteUniform ( const osg::Matrix & transformFromSkeletonToGeometry,
const osg::Matrix & invTransformFromSkeletonToGeometry )

◆ getBoneNameToPalette()

const BoneNamePaletteIndex & osgAnimation::RigTransformHardware::getBoneNameToPalette ( )
inline

References _boneNameToPalette.

◆ getBonePalette()

const BonePalette & osgAnimation::RigTransformHardware::getBonePalette ( )
inline

References _bonePalette.

◆ getFirstVertexAttributeTarget()

unsigned int osgAnimation::RigTransformHardware::getFirstVertexAttributeTarget ( ) const
inline

References _minAttribIndex.

◆ getMatrixPaletteUniform()

osg::Uniform * osgAnimation::RigTransformHardware::getMatrixPaletteUniform ( )
inline

References _uniformMatrixPalette.

◆ getNumBonesPerVertex()

const unsigned int & osgAnimation::RigTransformHardware::getNumBonesPerVertex ( ) const
inline

References _bonesPerVertex.

◆ getNumVertexAttrib()

unsigned int osgAnimation::RigTransformHardware::getNumVertexAttrib ( ) const
inline

◆ getNumVertexes()

const unsigned int & osgAnimation::RigTransformHardware::getNumVertexes ( ) const
inline

References _nbVertices.

◆ getShader() [1/2]

osg::Shader * osgAnimation::RigTransformHardware::getShader ( )
inline

References _shader.

◆ getShader() [2/2]

const osg::Shader * osgAnimation::RigTransformHardware::getShader ( ) const
inline

References _shader.

◆ getVertexAttrib()

osg::Vec4Array * osgAnimation::RigTransformHardware::getVertexAttrib ( unsigned int index)

◆ init()

virtual bool osgAnimation::RigTransformHardware::init ( RigGeometry & )
protectedvirtual

◆ META_Object()

osgAnimation::RigTransformHardware::META_Object ( osgAnimation ,
RigTransformHardware  )

◆ operator()()

virtual void osgAnimation::RigTransformHardware::operator() ( RigGeometry & )
virtual

◆ prepareData()

virtual bool osgAnimation::RigTransformHardware::prepareData ( RigGeometry & )
virtual

to call manually when a skeleton is reacheable from the rig in order to prepare technic data before rendering

Reimplemented from osgAnimation::RigTransform.

◆ setFirstVertexAttributeTarget()

void osgAnimation::RigTransformHardware::setFirstVertexAttributeTarget ( unsigned int i)
inline

set the first Vertex Attribute Array index of the rig generated by this technic (default:11)

References _minAttribIndex.

◆ setShader()

void osgAnimation::RigTransformHardware::setShader ( osg::Shader * shader)
inline

References _shader.

Member Data Documentation

◆ _boneNameToPalette

BoneNamePaletteIndex osgAnimation::RigTransformHardware::_boneNameToPalette
protected

Referenced by getBoneNameToPalette().

◆ _bonePalette

BonePalette osgAnimation::RigTransformHardware::_bonePalette
protected

Referenced by getBonePalette().

◆ _bonesPerVertex

unsigned int osgAnimation::RigTransformHardware::_bonesPerVertex
protected

Referenced by getNumBonesPerVertex().

◆ _boneWeightAttribArrays

BoneWeightAttribList osgAnimation::RigTransformHardware::_boneWeightAttribArrays
protected

Referenced by getNumVertexAttrib().

◆ _minAttribIndex

unsigned int osgAnimation::RigTransformHardware::_minAttribIndex
protected

◆ _nbVertices

unsigned int osgAnimation::RigTransformHardware::_nbVertices
protected

Referenced by getNumVertexes().

◆ _needInit

bool osgAnimation::RigTransformHardware::_needInit
protected

◆ _perVertexInfluences

std::vector<IndexWeightList> osgAnimation::RigTransformHardware::_perVertexInfluences
protected

◆ _shader

osg::ref_ptr<osg::Shader> osgAnimation::RigTransformHardware::_shader
protected

Referenced by getShader(), getShader(), and setShader().

◆ _uniformMatrixPalette

osg::ref_ptr<osg::Uniform> osgAnimation::RigTransformHardware::_uniformMatrixPalette
protected

Referenced by getMatrixPaletteUniform().


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