Source code for mm.convert

import mmapi;

[docs]def vectori_to_list(vi): """convert a SWIG vectori object to a Python list""" sz = vi.size() lst = [] for i in xrange(0,sz): lst.append( vi[i] ) return lst
[docs]def vectorub_to_string(vub): """convert a SWIG vectorub object to a Python string""" sz = vub.size() lst = [] for i in xrange(0,sz-1): # skip trailing null lst.append( vub[i] ) return str(bytearray(lst));
[docs]def to_world_xyz(remote, x,y,z): """convert a 3D point from Scene space to World space""" vScene = mmapi.floatArray(3) vScene[0] = x vScene[1] = y vScene[2] = z cmd2 = mmapi.StoredCommands() ckey = cmd2.AppendQueryCommand_ConvertPointToWorld(vScene) remote.runCommand(cmd2); vWorld = mmapi.floatArray(3) cmd2.GetQueryResult_ConvertPointToWorld(ckey, vWorld) return (vWorld[0],vWorld[1],vWorld[2])
[docs]def to_world_f(remote, f): """convert a scalar dimension from Scene space to World space""" cmd2 = mmapi.StoredCommands() ckey = cmd2.AppendQueryCommand_ConvertScalarToWorld(f) remote.runCommand(cmd2); vWorld = mmapi.floatArray(1) cmd2.GetQueryResult_ConvertScalarToWorld(ckey, vWorld) return vWorld[0]
[docs]def to_world(remote, v): """convert input from Scene space to World space (dimension or 3D point)""" if ( isinstance(v,float) ): return to_world_f(remote, v) else: return to_world_xyz(remote, v[0],v[1],v[2])
[docs]def toW(remote, v): """same as to_world(), but shorter""" return to_world(remote,v)
[docs]def to_scene_xyz(remote, x,y,z): """convert a 3D point from World space to Scene space""" vWorld = mmapi.floatArray(3) vWorld[0] = x vWorld[1] = y vWorld[2] = z cmd2 = mmapi.StoredCommands() ckey = cmd2.AppendQueryCommand_ConvertPointToScene(vWorld) remote.runCommand(cmd2); vScene = mmapi.floatArray(3) cmd2.GetQueryResult_ConvertPointToScene(ckey, vScene) return (vScene[0],vScene[1],vScene[2])
[docs]def to_scene_f(remote, f): """convert a scalar dimension from World space to Scene space""" cmd2 = mmapi.StoredCommands() ckey = cmd2.AppendQueryCommand_ConvertScalarToScene(f) remote.runCommand(cmd2); vScene = mmapi.floatArray(1) cmd2.GetQueryResult_ConvertScalarToScene(ckey, vScene) return vScene[0]
[docs]def to_scene(remote, v): """convert input from World space to Scene space (dimension or 3D point)""" if ( isinstance(v,float) ): return to_scene_f(remote, v) else: return to_scene_xyz(remote, v[0],v[1],v[2])
[docs]def toS(remote, v): """same as to_scene(), but shorter""" return to_scene(remote,v)