bindings/python/pinocchio/__init__.py
Go to the documentation of this file.
1 #
2 # Copyright (c) 2015-2021 CNRS INRIA
3 #
4 
5 import numpy
6 
7 # On Windows, if pinocchio.dll is not in the same directory than
8 # the .pyd, it will not be loaded.
9 # We first try to load pinocchio, then, if it fail and we are on Windows:
10 # 1. We add all paths inside PINOCCHIO_WINDOWS_DLL_PATH to DllDirectory
11 # 2. If PINOCCHIO_WINDOWS_DLL_PATH we add the relative path from the
12 # package directory to the bin directory to DllDirectory
13 # This solution is inspired from:
14 # - https://github.com/PixarAnimationStudios/OpenUSD/pull/1511/files
15 # - https://stackoverflow.com/questions/65334494/python-c-extension-packaging-dll-along-with-pyd
16 # More resources on https://github.com/diffpy/pyobjcryst/issues/33
17 try:
18  from .pinocchio_pywrap_default import *
19  from .pinocchio_pywrap_default import __version__, __raw_version__
20 except ImportError:
21  import platform
22 
23  if platform.system() == "Windows":
24  from .windows_dll_manager import get_dll_paths, build_directory_manager
25 
26  with build_directory_manager() as dll_dir_manager:
27  for p in get_dll_paths():
28  dll_dir_manager.add_dll_directory(p)
29  from .pinocchio_pywrap_default import *
30  from .pinocchio_pywrap_default import __version__, __raw_version__
31  else:
32  raise
33 
34 from . import utils
35 from .explog import exp, log
36 
37 # Manually register submodules
38 import sys, inspect
39 
40 submodules = inspect.getmembers(pinocchio_pywrap_default, inspect.ismodule)
41 for module_info in submodules:
42  sys.modules["pinocchio." + module_info[0]] = module_info[1]
43 
44 sys.modules["pinocchio.rpy"] = rpy
45 sys.modules["pinocchio.cholesky"] = cholesky
46 
47 if WITH_HPP_FCL:
48  try:
49  import hppfcl
50  from hppfcl import (
51  Contact,
52  StdVec_Contact,
53  CollisionResult,
54  StdVec_CollisionResult,
55  DistanceResult,
56  StdVec_DistanceResult,
57  CollisionGeometry,
58  MeshLoader,
59  CachedMeshLoader,
60  )
61 
62  WITH_HPP_FCL_BINDINGS = True
63  except ImportError:
64  WITH_HPP_FCL_BINDINGS = False
65 else:
66  WITH_HPP_FCL_BINDINGS = False
67 
68 from .robot_wrapper import RobotWrapper
69 from .deprecated import *
70 from .shortcuts import *


pinocchio
Author(s):
autogenerated on Sat Jun 22 2024 02:41:42