Since it will still take some time until the new sample is done (probably after the dynamic geometry support gets improved), I will give a few hints on the presented use cases:
zoombapup wrote:
I need to modify the texture used by a given mesh within a characters scene.
To find the texture that a mesh uses, you first need to get the mesh's material using h3dGetNodeParamI with H3DMesh::MatResI. After that, you can find the desired sampler (e.g. "albedoMap") in the material by using elemIdx = h3dFindResElem( matRes, H3DMatRes::SamplerElem, H3DMatRes::SampNameStr, "albedoMap" ). The texture resource can then be retrieved with texRes = h3dGetResParamI( matRes, H3DMatRes::SamplerElem, elemIdx, SampTexResI ). You can access the texture image data by mapping it, similar to mapping geometry.
zoombapup wrote:
I need to access the vertex, face and normal data for a mesh to pass onto a navmesh generator
See code above.
zoombapup wrote:
I need to modify the head joint of the same character to do a lookat controller
Find the joint (which is a child of the model node) using the scene graph API. You can read/write the transformation using the standard transformation functions.
zoombapup wrote:
I need to clone the material used by a given mesh, alter some attribute of it, then update the mesh to use the cloned material (for highlighting a selection during picking)
You can clone a material using h3dCloneResource. The material properties are accessed as described for the first use case. Exchanging the material of a mesh is done by setting a new mesh material (setNodeParamI with H3DMesh::MatResI).
Hope that helps...