Comments (6)
Problem demonstrated in the failing tests DataFileNameVector_test.
from sofa.
In fact the problem is there for any Data<vector>.
For such vectors, the string-serialization could(should) separate strings with a specific character that cannot be on a path, but it would break existing scenes.
from sofa.
There was a SVector class added in sofa::helper simply to change the stream operators to use commas to delimit values and [ ] to delimit the vector itself (allowing for vectors inside vectors), but I don't like this design because the type itself is different affecting all the code that uses it...
from sofa.
A solution could be to replace the concerned Data with new Data with different names using SVector.
The backward compatibility could be ensure by having a specific "parse" function, looking for the old data names, and filling the new SVector by splitting at every spaces (the old way). W/o forgetting the deprecated message.
A similar process has been done in RigidMapping (Data 'rigidIndexPerPoint' replacing 'repartition').
from sofa.
The approach proposed by matthieu sounds ok to me.
I strongly support the "W/o forgetting the deprecated message".
from sofa.
Fixed in a99443a.
I finally changed DataFileNameVector that is now a SVector, so be aware its string serialization changed.
I made this choice because only OglShader is using DataFileNameVector in sofa-public, so the consequences of this change are small, and at least future usage of DataFileNameVector will be ok.
Of course if your private code is using DataFileNameVector, you have to update it.
from sofa.
Related Issues (20)
- support jpeg-xl in sofa
- Confirm choices of selected plugins
- Problem including SofaCUDA plugin - compilation errors HOT 2
- Divergent behavior of FastTetrahedralCorotationalForceField
- HexahedronCompositeFEMForceFieldAndMass Solver HOT 3
- Update fetch mechanism for plugins using cmake 3.24
- Inconsistency in the tests on hyperelastic materials HOT 1
- Enhancing Collision Physics in Unity with Sofa Framework Integration
- CMake Error Metis
- How to add new plugin in windows?
- How to make a beam collide with other objects
- Documentation for reference to find all information
- Sofa compilation in provided docker HOT 4
- Delete useless repository
- Refactor performer API
- LCPForceFeedback test
- SOFA is compatible with only x86_64, not arm64. HOT 2
- How to reset the simulation
- Multimaterial hyperelasticity using sub-topologies HOT 6
- How to change the local coordinate system of an object?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sofa.