-- About the scale ... int. tests...
for g in geometry do print g.scale
-- return totaly identical value for all: [39.3701,39.3701,39.3701]
for g in geometry do print g.transform.scale
-- same result as above
for g in geometry do print (in coordsys local g.scale)
-- return totaly identical value for all: [1,1,1]
for g in geometry do print (in coordsys local g.transform.scale)
-- [39.3701,39.3701,39.3701]
-- [*] so the scale test not helps here (may bounding box instead?)
-- [*] my idea in brief: vertex local position test
for t in $Teapot* do ( -- check 1st vertex
print (in coordsys local (getVert t 1))
)
-- result (only 2 identical objects)
[10.6324,0,18.227]
[-9.94782,2e-006,18.227]
[-9.94782,-1e-006,8.27726]
[10.6324,0,18.227]
[10.6324,3.39876,16.8191]
[10.6324,0,19.9546] -- Teapot06
[10.6324,0,19.9546] -- Teapot07
-- of course can test all verts pos.:
m1 = $Teapot06
m2 = $Teapot07
t06 = for v = 1 to m1.numVerts collect (
in coordsys local (getVert m1 v)
)
t07 = for v = 1 to m2.numVerts collect (
in coordsys local (getVert m2 v)
)
t06 as string == t07 as string -- true
-- note: "as atring" is fast way to compare arrays (instead of check each pair items)
/*
Conclusion: verts pos check come as very STRICT comparator.
It's cool in itself but not applicable to your work.
But if you pack this method as function with some Tolerance argument...
Just an idea ;-) no more time to spend on this (soon).
I hope it help.
Best regards,
Anubis
*/
--// eof [2010-03-02]