Fix vfs load for mesh gmeshs type
This commit is contained in:
@@ -99,7 +99,7 @@ mjCFlexcomp::mjCFlexcomp(void) {
|
||||
|
||||
|
||||
// make flexcomp object
|
||||
bool mjCFlexcomp::Make(mjsBody* body, char* error, int error_sz) {
|
||||
bool mjCFlexcomp::Make(mjsBody* body, char* error, int error_sz, const mjVFS* vfs) {
|
||||
mjCModel* model = static_cast<mjCBody*>(body->element)->model;
|
||||
mjsCompiler* compiler = static_cast<mjCBody*>(body->element)->compiler;
|
||||
mjsFlex* dflex = def.spec.flex;
|
||||
@@ -170,11 +170,11 @@ bool mjCFlexcomp::Make(mjsBody* body, char* error, int error_sz) {
|
||||
break;
|
||||
|
||||
case mjFCOMPTYPE_MESH:
|
||||
res = MakeMesh(model, compiler, error, error_sz);
|
||||
res = MakeMesh(model, compiler, error, error_sz, vfs);
|
||||
break;
|
||||
|
||||
case mjFCOMPTYPE_GMSH:
|
||||
res = MakeGMSH(model, compiler, error, error_sz);
|
||||
res = MakeGMSH(model, compiler, error, error_sz, vfs);
|
||||
break;
|
||||
|
||||
case mjFCOMPTYPE_DIRECT:
|
||||
@@ -1129,7 +1129,7 @@ template <typename T> static T* VecToArray(std::vector<T>& vector, bool clear =
|
||||
|
||||
|
||||
// make mesh
|
||||
bool mjCFlexcomp::MakeMesh(mjCModel* model, mjsCompiler* compiler, char* error, int error_sz) {
|
||||
bool mjCFlexcomp::MakeMesh(mjCModel* model, mjsCompiler* compiler, char* error, int error_sz, const mjVFS* vfs) {
|
||||
// strip path
|
||||
if (!file.empty() && model->spec.strippath) {
|
||||
file = mjuu_strippath(file);
|
||||
@@ -1156,7 +1156,7 @@ bool mjCFlexcomp::MakeMesh(mjCModel* model, mjsCompiler* compiler, char* error,
|
||||
|
||||
try {
|
||||
resource = mjCBase::LoadResource(mjs_getString(model->spec.modelfiledir),
|
||||
filename, 0);
|
||||
filename, vfs);
|
||||
} catch (mjCError err) {
|
||||
return comperr(error, err.message, error_sz);
|
||||
}
|
||||
@@ -1248,7 +1248,7 @@ static int findstring(const char* buffer, int buffer_sz, const char* str) {
|
||||
|
||||
|
||||
// load points and elements from GMSH file
|
||||
bool mjCFlexcomp::MakeGMSH(mjCModel* model, mjsCompiler* compiler, char* error, int error_sz) {
|
||||
bool mjCFlexcomp::MakeGMSH(mjCModel* model, mjsCompiler* compiler, char* error, int error_sz, const mjVFS* vfs) {
|
||||
// strip path
|
||||
if (!file.empty() && model->spec.strippath) {
|
||||
file = mjuu_strippath(file);
|
||||
@@ -1264,7 +1264,7 @@ bool mjCFlexcomp::MakeGMSH(mjCModel* model, mjsCompiler* compiler, char* error,
|
||||
try {
|
||||
std::string filename = mjuu_combinePaths(mjs_getString(compiler->meshdir), file);
|
||||
resource = mjCBase::LoadResource(mjs_getString(model->spec.modelfiledir),
|
||||
filename, 0);
|
||||
filename, vfs);
|
||||
} catch (mjCError err) {
|
||||
return comperr(error, err.message, error_sz);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user