Commit Graph

16 Commits

Author SHA1 Message Date
Erwin Coumans
d2ffab8905 fix previous leak fix 2020-04-01 18:32:58 -07:00
Erwin Coumans
762c21601f cache zipfile, and also allow to read zipfile from memory
this allows zipfiles to be stored anywhere in already registed fileIO (such as zipfiles inside other zipfiles)
see Bullet/examples/pybullet/examples/fileIOPlugin.py
enable vhacd, fileIO and zipFileIO in premake version of PyBullet
fix potential memory leak in mtl loading
2020-03-30 14:24:20 -07:00
Erwin Coumans
72c6ed9abe fix file caching issue 2019-04-25 07:04:22 -07:00
erwincoumans
1bac759a43
Update fileIOPlugin.cpp
fix check for (zip) file filename
2019-03-01 07:43:06 -08:00
erwincoumans
f9f8d0fbb0 example for fileIOPlugin.py loading SDF and its assets from a single zipfile,
also show how to disable file caching (used in the fileIOPlugin)
2018-11-17 14:11:01 -08:00
erwincoumans
35790c36c2 fix renamed variable m_rootPath->m_pathPrefix 2018-10-29 10:56:55 -07:00
erwincoumans
078887c4d7 PyBullet fileIOPlugin: don't add equal fileIO interface twice (based on identical fileIOType and pathPrefix)
loadBullet goes through fileIOPlugin
2018-10-29 10:25:40 -07:00
Erwin Coumans
9a9386b6a7 allow empty filename in CNS fileIO 2018-10-20 14:16:31 -07:00
erwincoumans
399ff55153 fix typo in previous commit 2018-10-16 19:02:12 -07:00
erwincoumans
8825b39f6c fix potential memory leak in previous commit related to InMemoryFileIO class. 2018-10-16 18:31:17 -07:00
erwincoumans
b0a3b1b962 add missing header <string.h> 2018-10-14 15:12:53 -07:00
erwincoumans
c1e20c448f Implement InMemoryFile for memory caching for fileIO plugin.
Support SDF loading through fileIO plugin.
Replace strcspn by C code (not crossplatform)
Add flag for loadURDF to use color from MTL file (instead from URDF link material)
pybullet.URDF_USE_MATERIAL_COLORS_FROM_MTL and pybullet.URDF_USE_MATERIAL_TRANSPARANCY_FROM_MTL
2018-10-14 12:54:34 -07:00
erwincoumans
ad10da57c5 more initial work on fileIOPlugin 2018-10-11 17:00:17 -07:00
erwincoumans
a24c1436af state 2 of FileIO plugin: adding/removing FileIO types, search through all registered FileIO types.
(not enabled by default yet)
Example:
fileIO = p.loadPlugin("fileIOPlugin")
print("fileIO=",fileIO)
p.executePluginCommand(fileIO,"e:/develop/bullet3/data/plane.zip", [p.AddFileIOAction,p.ZipFileIO])
p.executePluginCommand(fileIO,"e:/develop/bullet3/data/test2.zip", [p.AddFileIOAction,p.ZipFileIO])
planeId = p.loadURDF("plane.urdf")
duckId = p.loadURDF("duck_vhacd.urdf",[0,0,1])
2018-10-11 14:39:31 -07:00
erwincoumans
f792a5951a move zipfFileIO into own header
route loadTextureFile from fileIO plugin
fix B3_ENABLE_FILEIO_PLUGIN logic
2018-10-11 10:58:14 -07:00
erwincoumans
dba239fe8d First pass of load files through an interface (to allow loading from memory, zip file etc). So instead of posix fopen/fread, using CommonFileIOInterface.
A fileIO plugin can override custom file IO operations. As a small test, load files from a zipfile in memory.
Default fileIO implementation is in examples/Utils/b3BulletDefaultFileIO.h
Affects URDF, SDF, MJCF, Wavefront OBJ, STL, DAE, images.
2018-10-08 21:27:08 -07:00