#include <MeshLoader.h>
Protected Attributes | |
type::Matrix4 | d_previousTransformation |
to be able to call reinit w/o applying several time the same transform More... | |
![]() | |
SingleLink< BaseObject, BaseContext, BaseLink::FLAG_DOUBLELINK > | l_context |
LinkSlaves | l_slaves |
SingleLink< BaseObject, BaseObject, BaseLink::FLAG_DOUBLELINK > | l_master |
![]() | |
std::map< std::string, sofa::core::DataTrackerCallback > | m_internalEngine |
VecData | m_vecData |
List of fields (Data instances) More... | |
MapData | m_aliasData |
name -> Data multi-map (includes names and aliases) More... | |
VecLink | m_vecLink |
List of links. More... | |
MapLink | m_aliasLink |
name -> Link multi-map (includes names and aliases) More... | |
Public Member Functions | |
SOFA_ABSTRACT_CLASS (MeshLoader, BaseLoader) | |
bool | canLoad () override |
void | parse (sofa::core::objectmodel::BaseObjectDescription *arg) override |
Parse the given description to assign values to this object's fields and potentially other parameters. More... | |
void | init () override |
Initialization method called at graph creation and modification, during top-down traversal. More... | |
void | reinit () override |
Update method called when variables used in precomputation are modified. More... | |
virtual bool | load () final |
virtual void | applyTransformation (sofa::type::Matrix4 const &T) |
Apply Homogeneous transformation to the positions. More... | |
virtual void | updateMesh () |
virtual void | updateElements () |
virtual void | updatePoints () |
virtual void | updateNormals () |
Initial transformations accessors. | |
void | setTranslation (SReal dx, SReal dy, SReal dz) |
void | setRotation (SReal rx, SReal ry, SReal rz) |
void | setScale (SReal sx, SReal sy, SReal sz) |
void | setTransformation (const sofa::type::Matrix4 &t) |
virtual Vec3 | getTranslation () const |
virtual Vec3 | getRotation () const |
virtual Vec3 | getScale () const |
virtual sofa::type::Matrix4 | getTransformation () const |
![]() | |
SOFA_ABSTRACT_CLASS (BaseLoader, objectmodel::BaseObject) | |
void | setFilename (std::string f) |
const std::string & | getFilename () |
![]() | |
SOFA_CLASS (BaseObject, Base) | |
virtual void | draw (const core::visual::VisualParams *) |
Render internal data of this object, for debugging purposes. More... | |
virtual void | computeBBox (const core::ExecParams *, bool=false) |
void | setSrc (const std::string &v, std::vector< std::string > *attributeList=nullptr) |
Sets a source Object and parses it to collect dependent Data. More... | |
void | setSrc (const std::string &v, const BaseObject *loader, std::vector< std::string > *attributeList=nullptr) |
Base * | findLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link) override |
virtual std::string | getPathName () const override |
Return the full path name of this object. More... | |
virtual bool | insertInNode (BaseNode *) |
virtual bool | removeInNode (BaseNode *) |
SReal | getTime () const |
Current time. More... | |
const BaseContext * | getContext () const |
BaseContext * | getContext () |
const BaseObject * | getMaster () const |
BaseObject * | getMaster () |
const VecSlaves & | getSlaves () const |
BaseObject * | getSlave (const std::string &name) const |
virtual void | addSlave (BaseObject::SPtr s) |
virtual void | removeSlave (BaseObject::SPtr s) |
virtual void | handleEvent (Event *) |
Handle an event. More... | |
virtual void | handleTopologyChange () |
virtual void | handleTopologyChange (core::topology::Topology *t) |
void | parse (BaseObjectDescription *arg) override |
Parse the given description to assign values to this object's fields and potentially other parameters. More... | |
virtual void | bwdInit () |
Initialization method called at graph creation and modification, during bottom-up traversal. More... | |
void | updateInternal () |
Update method called when variables (used to compute other internal variables) are modified. More... | |
virtual void | storeResetState () |
Save the initial state for later uses in reset() More... | |
virtual void | reset () |
Reset to initial state. More... | |
virtual void | cleanup () |
![]() | |
virtual const BaseClass * | getClass () const |
void | addDeprecatedAttribute (lifecycle::DeprecatedData *attribute) |
void | addUpdateCallback (const std::string &name, std::initializer_list< BaseData * > inputs, std::function< sofa::core::objectmodel::ComponentState(const DataTracker &)> function, std::initializer_list< BaseData * > outputs) |
void | addOutputsToCallback (const std::string &name, std::initializer_list< BaseData * > outputs) |
const std::string & | getName () const |
Accessor to the object name. More... | |
void | setName (const std::string &n) |
Set the name of this object. More... | |
void | setName (const std::string &n, int counter) |
Set the name of this object, adding an integer counter. More... | |
std::string | getTypeName () const |
Get the type name of this object (i.e. class and template types) More... | |
virtual std::string | getClassName () const |
Get the class name of this object. More... | |
virtual std::string | getTemplateName () const final |
Get the template type names (if any) used to instantiate this object. More... | |
std::string | getNameSpaceName () const |
Get the template type names (if any) used to instantiate this object. More... | |
void | setDefinitionSourceFileName (const std::string &sourceFileName) |
Set the source filename (where the component is implemented) More... | |
const std::string & | getDefinitionSourceFileName () const |
Get the source filename (where the component is implemented) More... | |
void | setDefinitionSourceFilePos (const int) |
Set the source location (where the component is implemented) More... | |
int | getDefinitionSourceFilePos () const |
Get the source location (where the component is implemented) More... | |
void | setInstanciationSourceFileName (const std::string &sourceFileName) |
const std::string & | getInstanciationSourceFileName () const |
void | setInstanciationSourceFilePos (const int) |
int | getInstanciationSourceFilePos () const |
void | addMessage (const sofa::helper::logging::Message &m) const |
size_t | countLoggedMessages (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
const std::deque< sofa::helper::logging::Message > & | getLoggedMessages () const |
const std::string | getLoggedMessagesAsString (sofa::helper::logging::Message::TypeSet t=sofa::helper::logging::Message::AnyTypes) const |
void | clearLoggedMessages () const |
bool | notMuted () const |
const sofa::core::objectmodel::TagSet & | getTags () const |
Represents the subsets the object belongs to. More... | |
bool | hasTag (Tag t) const |
Return true if the object belong to the given subset. More... | |
void | addTag (Tag t) |
Add a subset qualification to the object. More... | |
void | removeTag (Tag t) |
Remove a subset qualification to the object. More... | |
ComponentState | getComponentState () const |
bool | isComponentStateValid () const |
bool | isComponentStateInvalid () const |
SOFA_ATTRIBUTE_DEPRECATED__TOBASECONSTRAINT () virtual const behavior | |
virtual bool | parseField (const std::string &attribute, const std::string &value) |
Assign one field value (Data or Link) More... | |
virtual bool | hasField (const std::string &attribute) const |
Check if a given Data field or Link exists. More... | |
void | parseFields (const std::list< std::string > &str) |
Assign the field values stored in the given list of name + value pairs of strings. More... | |
virtual void | parseFields (const std::map< std::string, std::string * > &str) |
Assign the field values stored in the given map of name -> value pairs. More... | |
void | writeDatas (std::map< std::string, std::string * > &str)=delete |
Write the current field values to the given map of name -> value pairs. More... | |
void | writeDatas (std::ostream &out, const std::string &separator=" ") |
BaseData * | findData (const std::string &name) const |
std::vector< BaseData * > | findGlobalField (const std::string &name) const |
Find data fields given a name: several can be found as we look into the alias map. More... | |
BaseLink * | findLink (const std::string &name) const |
std::vector< BaseLink * > | findLinks (const std::string &name) const |
Find link fields given a name: several can be found as we look into the alias map. More... | |
virtual void | updateLinks (bool logErrors=true) |
Update pointers in case the pointed-to objects have appeared. More... | |
template<class T > | |
BaseData::BaseInitData | initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags) |
Helper method used to initialize a data field containing a value of type T. More... | |
template<class T > | |
BaseData::BaseInitData | initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used to initialize a data field containing a value of type T. More... | |
template<class T > | |
Data< T >::InitData | initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used to initialize a data field containing a value of type T. More... | |
void | addData (BaseData *f, const std::string &name) |
void | addData (BaseData *f) |
void | removeData (BaseData *f) |
Remove a data field. More... | |
void | addAlias (BaseData *field, const char *alias) |
Add an alias to a Data. More... | |
void | addLink (BaseLink *l) |
Add a link. More... | |
void | addAlias (BaseLink *link, const char *alias) |
Add an alias to a Link. More... | |
const VecData & | getDataFields () const |
Accessor to the vector containing all the fields of this object. More... | |
const MapData & | getDataAliases () const |
Accessor to the map containing all the aliases of this object. More... | |
const VecLink & | getLinks () const |
Accessor to the vector containing all the fields of this object. More... | |
const MapLink & | getLinkAliases () const |
Accessor to the map containing all the aliases of this object. More... | |
virtual bool | findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link) |
template<class T > | |
bool | findLinkDest (T *&ptr, const std::string &path, const BaseLink *link) |
Protected Member Functions | |
MeshLoader () | |
virtual void | clearBuffers () final |
void | addPosition (type::vector< sofa::type::Vec3 > &pPositions, const sofa::type::Vec3 &p) |
void | addPosition (type::vector< sofa::type::Vec3 > &pPositions, SReal x, SReal y, SReal z) |
void | addPolyline (type::vector< Polyline > &pPolylines, Polyline p) |
void | addEdge (type::vector< Edge > &pEdges, const Edge &p) |
void | addEdge (type::vector< Edge > &pEdges, sofa::Index p0, sofa::Index p1) |
void | addTriangle (type::vector< Triangle > &pTriangles, const Triangle &p) |
void | addTriangle (type::vector< Triangle > &pTriangles, sofa::Index p0, sofa::Index p1, sofa::Index p2) |
void | addQuad (type::vector< Quad > &pQuads, const Quad &p) |
void | addQuad (type::vector< Quad > &pQuads, sofa::Index p0, sofa::Index p1, sofa::Index p2, sofa::Index p3) |
void | addPolygon (type::vector< type::vector< sofa::Index > > &pPolygons, const type::vector< sofa::Index > &p) |
void | addTetrahedron (type::vector< Tetrahedron > &pTetrahedra, const Tetrahedron &p) |
void | addTetrahedron (type::vector< Tetrahedron > &pTetrahedra, sofa::Index p0, sofa::Index p1, sofa::Index p2, sofa::Index p3) |
void | addHexahedron (type::vector< Hexahedron > &pHexahedra, const Hexahedron &p) |
void | addHexahedron (type::vector< Hexahedron > &pHexahedra, sofa::Index p0, sofa::Index p1, sofa::Index p2, sofa::Index p3, sofa::Index p4, sofa::Index p5, sofa::Index p6, sofa::Index p7) |
void | addPentahedron (type::vector< Pentahedron > &pPentahedra, const Pentahedron &p) |
void | addPentahedron (type::vector< Pentahedron > &pPentahedra, sofa::Index p0, sofa::Index p1, sofa::Index p2, sofa::Index p3, sofa::Index p4, sofa::Index p5) |
void | addPyramid (type::vector< Pyramid > &pPyramids, const Pyramid &p) |
void | addPyramid (type::vector< Pyramid > &pPyramids, sofa::Index p0, sofa::Index p1, sofa::Index p2, sofa::Index p3, sofa::Index p4) |
void | copyMeshToData (helper::io::Mesh &_mesh) |
Temporary method that will copy all buffers from a io::Mesh into the corresponding Data. Will be removed as soon as work on unifying meshloader is finished. More... | |
![]() | |
BaseLoader () | |
~BaseLoader () override | |
![]() | |
BaseObject () | |
~BaseObject () override | |
virtual void | doUpdateInternal () |
Implementation of the internal update. More... | |
void | changeContextLink (BaseContext *before, BaseContext *&after) |
void | changeSlavesLink (BaseObject::SPtr ptr, std::size_t, bool add) |
This method insures that slaves objects have master and context links set correctly. More... | |
void | trackInternalData (const BaseData &data) |
Method called to add the Data to the DataTracker (listing the Data to track) More... | |
void | cleanTracker () |
bool | hasDataChanged (const BaseData &data) |
Method called to know if a tracked Data has changed. More... | |
![]() | |
Base () | |
virtual | ~Base () |
void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used by initData() More... | |
void | initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, BaseData::DataFlags dataFlags) |
Helper method used by initData() More... | |
template<class T > | |
void | initData0 (Data< T > *field, typename Data< T >::InitData &res, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false) |
Helper method used by initData() More... | |
![]() | |
virtual | ~IntrusiveObject ()=default |
Additional Inherited Members | |
![]() | |
template<class T > | |
static bool | canCreate (T *, BaseContext *, BaseObjectDescription *) |
Pre-construction check method called by ObjectFactory. More... | |
template<class T > | |
static T::SPtr | create (T *, BaseContext *context, BaseObjectDescription *arg) |
Construction method called by ObjectFactory. More... | |
![]() | |
static const BaseClass * | GetClass () |
template<class T > | |
static std::string | shortName (const T *ptr=nullptr, BaseObjectDescription *=nullptr) |
![]() | |
static void | skipToEOL (FILE *f) |
static bool | readLine (char *buf, int size, FILE *f) |
Divide all n-D elements into their (n-1)-D boundary elements (e.g. tetrahedra to triangles)
Data< type::vector< Edge > > sofa::core::loader::MeshLoader::d_edges |
Edges of the mesh loaded.
Data< type::vector< PrimitiveGroup > > sofa::core::loader::MeshLoader::d_edgesGroups |
Groups of Edges.
Data< type::vector< Hexahedron > > sofa::core::loader::MeshLoader::d_hexahedra |
Hexahedra of the mesh loaded.
Data< type::vector< PrimitiveGroup > > sofa::core::loader::MeshLoader::d_hexahedraGroups |
Groups of Hexahedra.
Data< type::vector< HighOrderEdgePosition > > sofa::core::loader::MeshLoader::d_highOrderEdgePositions |
High order edge points of the mesh loaded.
Data< type::vector< HighOrderHexahedronPosition > > sofa::core::loader::MeshLoader::d_highOrderHexahedronPositions |
High order hexahedron points of the mesh loaded.
Data< type::vector< HighOrderQuadPosition > > sofa::core::loader::MeshLoader::d_highOrderQuadPositions |
High order quad points of the mesh loaded.
Data< type::vector< HighOrderTetrahedronPosition > > sofa::core::loader::MeshLoader::d_highOrderTetrahedronPositions |
High order tetrahedron points of the mesh loaded.
Data< type::vector< HighOrderTrianglePosition > > sofa::core::loader::MeshLoader::d_highOrderTrianglePositions |
High order triangle points of the mesh loaded.
Data< type::vector<sofa::type::Vec3 > > sofa::core::loader::MeshLoader::d_normals |
Normals of the mesh loaded.
Only keep points attached to elements of the mesh.
Data< type::vector< Pentahedron > > sofa::core::loader::MeshLoader::d_pentahedra |
Pentahedra of the mesh loaded.
Data< type::vector< PrimitiveGroup > > sofa::core::loader::MeshLoader::d_pentahedraGroups |
Groups of Pentahedra.
Data< type::vector< type::vector<sofa::Index> > > sofa::core::loader::MeshLoader::d_polygons |
Polygons of the mesh loaded.
Data< type::vector< PrimitiveGroup > > sofa::core::loader::MeshLoader::d_polygonsGroups |
Groups of Polygons.
Data< type::vector< Polyline > > sofa::core::loader::MeshLoader::d_polylines |
Polylines of the mesh loaded.
Data< type::vector< Vec3 > > sofa::core::loader::MeshLoader::d_positions |
Vertices of the mesh loaded.
|
protected |
to be able to call reinit w/o applying several time the same transform
Data< type::vector< Pyramid > > sofa::core::loader::MeshLoader::d_pyramids |
Pyramids of the mesh loaded.
Data< type::vector< PrimitiveGroup > > sofa::core::loader::MeshLoader::d_pyramidsGroups |
Groups of Pyramids.
Data< type::vector< Quad > > sofa::core::loader::MeshLoader::d_quads |
Quads of the mesh loaded.
Data< type::vector< PrimitiveGroup > > sofa::core::loader::MeshLoader::d_quadsGroups |
Groups of Quads.
Data< type::vector< Tetrahedron > > sofa::core::loader::MeshLoader::d_tetrahedra |
Tetrahedra of the mesh loaded.
Data< type::vector< PrimitiveGroup > > sofa::core::loader::MeshLoader::d_tetrahedraGroups |
Groups of Tetrahedra.
Data< type::Matrix4 > sofa::core::loader::MeshLoader::d_transformation |
4x4 Homogeneous matrix to transform the DOFs (when present replace any)
Data< type::vector< Triangle > > sofa::core::loader::MeshLoader::d_triangles |
Triangles of the mesh loaded.
Data< type::vector< PrimitiveGroup > > sofa::core::loader::MeshLoader::d_trianglesGroups |
Groups of Triangles.
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
virtual |
Apply Homogeneous transformation to the positions.
|
overridevirtual |
Reimplemented from sofa::core::loader::BaseLoader.
|
finalprotectedvirtual |
|
protected |
Temporary method that will copy all buffers from a io::Mesh into the corresponding Data. Will be removed as soon as work on unifying meshloader is finished.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
overridevirtual |
Initialization method called at graph creation and modification, during top-down traversal.
Reimplemented from sofa::core::objectmodel::BaseObject.
|
finalvirtual |
Implements sofa::core::loader::BaseLoader.
|
overridevirtual |
Parse the given description to assign values to this object's fields and potentially other parameters.
Reimplemented from sofa::core::loader::BaseLoader.
|
overridevirtual |
Update method called when variables used in precomputation are modified.
Reimplemented from sofa::core::objectmodel::BaseObject.
|
inline |
|
inline |
|
inline |
|
inline |
sofa::core::loader::MeshLoader::SOFA_ABSTRACT_CLASS | ( | MeshLoader | , |
BaseLoader | |||
) |
|
virtual |
|
virtual |
|
virtual |
|
virtual |