Sking source problem.

The schema said that the skin element for the control:

The source attribute contains a URI reference to the base mesh, (a static mesh or a morphed mesh).This also provides the bind-shape of the skinned mesh.

And in the colladadom implementation: CrtSceneRead.cpp line 1527

if (source_element->getElementType() != COLLADA_TYPE::GEOMETRY){ // skin source is not geometry, DO LATER
		CrtPrint("Skin=%s source is not geometry, not supported
", lib->getId());
		return NULL;

It means except for the type of geometry, it is possible to use other element as the skin source. But the current colladadom has not implemented this function.

We saw in some maya exported models, controllers are used as skin source,

<controller id="BodyGeometryShape-morph-skin" name="skinCluster7">
      <skin source="#BodyGeometryShape-morph">
        <bind_shape_matrix>1 0 0 0 0 1 0 16.8816 0 0 1 0 0 0 0 1</bind_shape_matrix>
<controller id="BodyGeometryShape-morph" name="TorsoSquashAndStretch">
      <morph method="NORMALIZED" source="#BodyGeometryShape">
        <source id="BodyGeometryShape-morph-targets">
          <IDREF_array id="BodyGeometryShape-morph-targets-array" count="26">TorsoSquashAndStretch-target0 TorsoSquashAndStretch-target1 TorsoSquashAndStretch-target2 TorsoSquashAndStretch-target3 ArmsLegsStretch-target0 ArmsLegsStretch-target1 ArmsLegsStretch-target2 ArmsLegsStretch-target3 DownRBrowShape DownLBrowShape SqueezeRBrowShape SqueezeLBrowShape UpBrowRShape UpBrowLShape SadRBrowShape SadLBrowShape AngryLBrowShape AngryRBrowShape Ee_mouthShape smile_mouthShape FV_mouthShape Oo_mouthShape sadfaceShape JawBlend-target0 ChestSquashMod-target0 MouthMPBShape</IDREF_array>

Can anybody give us some help? How to do with these controller-type skin source? What is this for?

Is that really the DOM you are talking about?

The file CrtSceneRead.cpp comes from the COLLADA RT viewer in that project. The code just means that sample viewer application doesn’t support it.