SOFA API  1a4bb3e7
Open source framework for multi-physics simuation
/builds/workspace/generate-doxygen/master/sofa/Sofa/framework/Helper/src/sofa/helper/io/SphereLoader.h

Call this method to load a Sphere files.

Parameters
filenamethe name of the file in the RessourceRepository to read data from.
datapass a object of this type (or inherit one) to load the file in caller's data structures
Returns
wheter the loading succeded.

class MySphereData : public SphereLoaderDataHook { std::vector<double> mx; public: void addSpere(SReal px, SReal py, SReal pz, SReal r) override { mx.push_back(px); } void finalizeLoading(bool isOk) override { if(!isOk) mx.clear(); } };

MySphereData loadedData; SphereLoader::Load("myfile.sphere", loadedData);

/******************************************************************************
* SOFA, Simulation Open-Framework Architecture *
* (c) 2006 INRIA, USTL, UJF, CNRS, MGH *
* *
* This program is free software; you can redistribute it and/or modify it *
* under the terms of the GNU Lesser General Public License as published by *
* the Free Software Foundation; either version 2.1 of the License, or (at *
* your option) any later version. *
* *
* This program is distributed in the hope that it will be useful, but WITHOUT *
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or *
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License *
* for more details. *
* *
* You should have received a copy of the GNU Lesser General Public License *
* along with this program. If not, see <http://www.gnu.org/licenses/>. *
*******************************************************************************
* Authors: The SOFA Team and external contributors (see Authors.txt) *
* *
* Contact information: contact@sofa-framework.org *
******************************************************************************/
#ifndef SOFA_HELPER_IO_SPHERELOADER_H
#define SOFA_HELPER_IO_SPHERELOADER_H
#include <sofa/helper/config.h>
#include <sofa/type/Vec.h>
{
class SOFA_HELPER_API SphereLoaderDataHook
{
public:
virtual ~SphereLoaderDataHook(){}
virtual void finalizeLoading(const bool isOk){ SOFA_UNUSED(isOk); }
virtual void setNumSpheres(const int n) { SOFA_UNUSED(n); }
virtual void addSphere(const SReal /*px*/, const SReal /*py*/, const SReal /*pz*/, const SReal /*r*/) {}
};
class SOFA_HELPER_API SphereLoader
{
public:
static bool Load(const std::string& filename, SphereLoaderDataHook& data);
};
} // namespace sofa::helper::io
#endif
This allow MeshTrian to interact with the messaging system.
Definition: MeshLoader.h:31