hm, i make some tests and now i wrote the IMatrix3 tm = node.GetNodeTM(0, interval) values to output and it is every time 1 0 0|0 1 0|0 0 1, am i doing something wrong? I also tested GetObjectTM(...) and GetObjTMAfterWSM(...) with same result.
here is my code:
node = iface.GetSelNode(0);
List vertices = new List();
if (node.ObjectRef.SuperClassID == SClass_ID.Geomobject)
{
IMesh mesh = GetObjFromNode(node).Mesh;
IMatrix3 tm = node.GetNodeTM(0, interval);
for (int i = 0; i < mesh.Verts.Count; i++)
{
Vector3 vt = new Vector3();
Vector3 vertex = ToVector3(mesh.Verts[i]);
Log("Vertex: " + vertex.X.ToString() + " - " + vertex.Y.ToString() + " - " + vertex.Z.ToString());
Log("tm Row 0: " + tm.GetRow(0).X.ToString() + " - " + tm.GetRow(0).Y.ToString() + " - " + tm.GetRow(0).Z.ToString());
Log("tm Row 1: " + tm.GetRow(1).X.ToString() + " - " + tm.GetRow(1).Y.ToString() + " - " + tm.GetRow(1).Z.ToString());
Log("tm Row 2: " + tm.GetRow(2).X.ToString() + " - " + tm.GetRow(2).Y.ToString() + " - " + tm.GetRow(2).Z.ToString());
vt = vertex * tm;
vertices.Add(vt);
}
}