Call this method to load an XspFile. 
- Parameters
- 
  
    | filename | the name of the file in the RessourceRepository to read data from. |  | data | pass a object of this type (or inherit one) to load the file in caller's data structures |  
 
- Returns
- whether the loading succeeded.
class MyXspLoader : public XspLoaderDataHook { std::vector<double> mx; public: void addMass(SReal px, SReal py, SReal pz, SReal, SReal, SReal, SReal, SReal, bool, bool) override { mx.push_back(px); } void finalizeLoading(bool isOk) override { if(!isOk) mx.clear(); } };
MyXspLoader loadedData; XspLoader::Load("myfile.xs3", loadedData);
#ifndef SOFA_HELPER_IO_XSPLOADER_H
#define SOFA_HELPER_IO_XSPLOADER_H
 
#include <cstddef>                  
#include <string>                   
#include <sofa/helper/config.h>     
 
 
{
 
class SOFA_HELPER_API XspLoaderDataHook
{
public:
    virtual ~XspLoaderDataHook();
 
    virtual void finalizeLoading(bool isOk) { SOFA_UNUSED(isOk); }
 
    virtual void setNumMasses(size_t ) {}
 
    virtual void setNumSprings(size_t ) {}
 
    virtual void setGravity(SReal , SReal , SReal ) {}
 
    virtual void setViscosity(SReal ) {}
 
    virtual void addMass(SReal , SReal , SReal , SReal , SReal , SReal , SReal , SReal , bool , bool ) {}
 
    virtual void addSpring(size_t , size_t , SReal , SReal , SReal ) {}
 
    virtual void addVectorSpring(size_t m1, size_t m2, SReal ks, SReal kd, SReal initpos, SReal , SReal , SReal ) { addSpring(m1, m2, ks, kd, initpos); }
};
 
class SOFA_HELPER_API XspLoader
{
public:
    static bool Load(const std::string& filename,
                     XspLoaderDataHook& data);
 
private:
    static bool ReadXspContent(std::ifstream &file,
                               bool hasVectorSpring,
                               XspLoaderDataHook& data);
 
};
 
} 
 
 
#endif
This allow MeshTrian to interact with the messaging system.
Definition: MeshLoader.h:31