Add some comments

c++11
scrawl 10 years ago
parent 10644544ab
commit 102eadf91c

@ -10,6 +10,9 @@ namespace SceneUtil
class Skeleton;
class Bone;
/// @brief Mesh skinning implementation.
/// @note A RigGeometry may be attached directly to a Skeleton, or somewhere below a Skeleton.
/// Note though that the RigGeometry ignores any transforms below the Skeleton, so the attachment point is not that important.
class RigGeometry : public osg::Geometry
{
public:
@ -25,7 +28,6 @@ namespace SceneUtil
std::map<short, float> mWeights;
};
struct InfluenceMap : public osg::Referenced
{
std::map<std::string, BoneInfluence> mMap;

@ -8,8 +8,8 @@
namespace SceneUtil
{
// Defines a Bone hierarchy, used for updating of skeleton-space bone matrices.
// To prevent unnecessary updates, only bones that are used for skinning will be added to this hierarchy.
/// @brief Defines a Bone hierarchy, used for updating of skeleton-space bone matrices.
/// @note To prevent unnecessary updates, only bones that are used for skinning will be added to this hierarchy.
class Bone
{
public:
@ -22,6 +22,7 @@ namespace SceneUtil
std::vector<Bone*> mChildren;
/// Update the skeleton-space matrix of this bone and all its children.
void update(const osg::Matrixf* parentMatrixInSkeletonSpace);
private:
@ -29,16 +30,21 @@ namespace SceneUtil
void operator=(const Bone&);
};
/// @brief Handles the bone matrices for any number of child RigGeometries.
/// @par Bones should be created as osg::MatrixTransform children of the skeleton.
/// To be a referenced by a RigGeometry, a bone needs to have a unique name.
class Skeleton : public osg::Group
{
public:
Skeleton();
Skeleton(const Skeleton& copy, const osg::CopyOp& copyop);
Bone* getBone(const std::string& name);
META_Node(NifOsg, Skeleton)
/// Retrieve a bone by name.
Bone* getBone(const std::string& name);
/// Request an update of bone matrices. May be a no-op if already updated in this frame.
void updateBoneMatrices(osg::NodeVisitor* nv);
private:

Loading…
Cancel
Save