PyInterfaceBasePtr toPyPhysicsEngine(PhysicsEngineBasePtr pPhysicsEngine, PyEnvironmentBasePtr pyenv)
{
    return !pPhysicsEngine ? PyInterfaceBasePtr() : PyInterfaceBasePtr(new PyPhysicsEngineBase(pPhysicsEngine,pyenv));
}
PyInterfaceBasePtr toPyModule(ModuleBasePtr pmodule, PyEnvironmentBasePtr pyenv)
{
    return !pmodule ? PyInterfaceBasePtr() : PyInterfaceBasePtr(new PyModuleBase(pmodule,pyenv));
}
PyInterfaceBasePtr toPyViewer(ViewerBasePtr pviewer, PyEnvironmentBasePtr pyenv)
{
    return !pviewer ? PyInterfaceBasePtr() : PyInterfaceBasePtr(new PyViewerBase(pviewer,pyenv));
}
PyInterfaceBasePtr toPyTrajectory(TrajectoryBasePtr ptrajectory, PyEnvironmentBasePtr pyenv)
{
    return !ptrajectory ? PyInterfaceBasePtr() : PyInterfaceBasePtr(new PyTrajectoryBase(ptrajectory,pyenv));
}