SOFA plugin: SofaAssimp  master
Open source framework for multi-physics simuation
sofa::component::loader::AssimpLoader Class Reference

#include <AssimpLoader.h>

Inheritance diagram for sofa::component::loader::AssimpLoader:

Detailed Description

AssimpLoader class interfaces Assimp library reader with SOFA loader components. For more information about the class API see doc: http://assimp.sourceforge.net/lib_html/usage.html

Created on: February 28th 2018 Author: epernod

Public Member Functions

 SOFA_CLASS (AssimpLoader, sofa::core::loader::MeshLoader)
 
virtual bool doLoad () override
 Main Load method inherites from. More...
 
virtual void doClearBuffers () override
 
int getpPreprocessing ()
 
void setpPreprocessing (int p)
 
aiScene * getScene ()
 
- Public Member Functions inherited from sofa::core::loader::MeshLoader
 SOFA_ABSTRACT_CLASS (MeshLoader, BaseLoader)
 
bool canLoad () override
 
void parse (sofa::core::objectmodel::BaseObjectDescription *arg) override
 
void init () override
 
void reinit () override
 
virtual bool load () final
 
virtual void applyTransformation (sofa::type::Matrix4 const &T)
 
virtual void updateMesh ()
 
virtual void updateElements ()
 
virtual void updatePoints ()
 
virtual void updateNormals ()
 
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
 
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
 
- Public Member Functions inherited from sofa::core::loader::BaseLoader
 SOFA_ABSTRACT_CLASS (BaseLoader, objectmodel::BaseObject)
 
void setFilename (std::string f)
 
const std::string & getFilename ()
 
- Public Member Functions inherited from sofa::core::objectmodel::BaseObject
 SOFA_CLASS (BaseObject, Base)
 
virtual void draw (const core::visual::VisualParams *)
 
virtual void computeBBox (const core::ExecParams *, bool=false)
 
void setSrc (const std::string &v, std::vector< std::string > *attributeList=nullptr)
 
void setSrc (const std::string &v, const BaseObject *loader, std::vector< std::string > *attributeList=nullptr)
 
BasefindLinkDestClass (const BaseClass *destType, const std::string &path, const BaseLink *link) override
 
virtual std::string getPathName () const override
 
virtual bool insertInNode (BaseNode *)
 
virtual bool removeInNode (BaseNode *)
 
SReal getTime () const
 
const BaseContextgetContext () const
 
BaseContextgetContext ()
 
const BaseObjectgetMaster () const
 
BaseObjectgetMaster ()
 
const VecSlavesgetSlaves () const
 
BaseObjectgetSlave (const std::string &name) const
 
virtual void addSlave (BaseObject::SPtr s)
 
virtual void removeSlave (BaseObject::SPtr s)
 
virtual void handleEvent (Event *)
 
virtual void handleTopologyChange ()
 
virtual void handleTopologyChange (core::topology::Topology *t)
 
void parse (BaseObjectDescription *arg) override
 
virtual void bwdInit ()
 
void updateInternal ()
 
virtual void storeResetState ()
 
virtual void reset ()
 
virtual void cleanup ()
 
SReal getTime () const
 
- Public Member Functions inherited from sofa::core::objectmodel::Base
virtual const BaseClassgetClass () 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
 
void setName (const std::string &n)
 
void setName (const std::string &n, int counter)
 
std::string getTypeName () const
 
virtual std::string getClassName () const
 
virtual std::string getTemplateName () const final
 
std::string getNameSpaceName () const
 
void setDefinitionSourceFileName (const std::string &sourceFileName)
 
const std::string & getDefinitionSourceFileName () const
 
void setDefinitionSourceFilePos (const int)
 
int getDefinitionSourceFilePos () const
 
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::TagSetgetTags () const
 
bool hasTag (Tag t) const
 
void addTag (Tag t)
 
void removeTag (Tag t)
 
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)
 
virtual bool hasField (const std::string &attribute) const
 
void parseFields (const std::list< std::string > &str)
 
virtual void parseFields (const std::map< std::string, std::string * > &str)
 
void writeDatas (std::map< std::string, std::string * > &str)=delete
 
void writeDatas (std::ostream &out, const std::string &separator=" ")
 
BaseDatafindData (const std::string &name) const
 
std::vector< BaseData * > findGlobalField (const std::string &name) const
 
BaseLinkfindLink (const std::string &name) const
 
std::vector< BaseLink * > findLinks (const std::string &name) const
 
virtual void updateLinks (bool logErrors=true)
 
BaseData::BaseInitData initData (::sofa::core::objectmodel::Data< T > *field, const char *name, const char *help, ::sofa::core::objectmodel::BaseData::DataFlags dataflags)
 
BaseData::BaseInitData initData (Data< T > *field, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false)
 
Data< T >::InitData initData (Data< T > *field, const T &value, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false)
 
void addData (BaseData *f, const std::string &name)
 
void addData (BaseData *f)
 
void removeData (BaseData *f)
 
void addAlias (BaseData *field, const char *alias)
 
void addLink (BaseLink *l)
 
void addAlias (BaseLink *link, const char *alias)
 
const VecDatagetDataFields () const
 
const MapDatagetDataAliases () const
 
const VecLinkgetLinks () const
 
const MapLinkgetLinkAliases () const
 
virtual bool findDataLinkDest (BaseData *&ptr, const std::string &path, const BaseLink *link)
 
bool findLinkDest (T *&ptr, const std::string &path, const BaseLink *link)
 
const sofa::core::objectmodel::TagSetgetTags () const
 
bool hasTag (Tag t) const
 
void addTag (Tag t)
 
void removeTag (Tag t)
 
ComponentState getComponentState () const
 
bool isComponentStateValid () const
 
bool isComponentStateInvalid () const
 
 SOFA_ATTRIBUTE_DEPRECATED__TOBASECONSTRAINT () virtual const behavior
 

Protected Member Functions

 AssimpLoader ()
 Default constructor of the component. More...
 
virtual ~AssimpLoader ()
 
bool convertAssimpScene ()
 Main internal method, implement the loading of OpenCTM mesh file. More...
 
- Protected Member Functions inherited from sofa::core::loader::MeshLoader
 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, Topology::EdgeID p0, Topology::EdgeID p1)
 
void addTriangle (type::vector< Triangle > &pTriangles, const Triangle &p)
 
void addTriangle (type::vector< Triangle > &pTriangles, Topology::TriangleID p0, Topology::TriangleID p1, Topology::TriangleID p2)
 
void addQuad (type::vector< Quad > &pQuads, const Quad &p)
 
void addQuad (type::vector< Quad > &pQuads, Topology::QuadID p0, Topology::QuadID p1, Topology::QuadID p2, Topology::QuadID p3)
 
void addPolygon (type::vector< type::vector< Topology::ElemID > > &pPolygons, const type::vector< Topology::ElemID > &p)
 
void addTetrahedron (type::vector< Tetrahedron > &pTetrahedra, const Tetrahedron &p)
 
void addTetrahedron (type::vector< Tetrahedron > &pTetrahedra, Topology::TetrahedronID p0, Topology::TetrahedronID p1, Topology::TetrahedronID p2, Topology::TetrahedronID p3)
 
void addHexahedron (type::vector< Hexahedron > &pHexahedra, const Hexahedron &p)
 
void addHexahedron (type::vector< Hexahedron > &pHexahedra, Topology::HexahedronID p0, Topology::HexahedronID p1, Topology::HexahedronID p2, Topology::HexahedronID p3, Topology::HexahedronID p4, Topology::HexahedronID p5, Topology::HexahedronID p6, Topology::HexahedronID p7)
 
void addPentahedron (type::vector< Pentahedron > &pPentahedra, const Pentahedron &p)
 
void addPentahedron (type::vector< Pentahedron > &pPentahedra, Topology::ElemID p0, Topology::ElemID p1, Topology::ElemID p2, Topology::ElemID p3, Topology::ElemID p4, Topology::ElemID p5)
 
void addPyramid (type::vector< Pyramid > &pPyramids, const Pyramid &p)
 
void addPyramid (type::vector< Pyramid > &pPyramids, Topology::ElemID p0, Topology::ElemID p1, Topology::ElemID p2, Topology::ElemID p3, Topology::ElemID p4)
 
void copyMeshToData (helper::io::Mesh &_mesh)
 
- Protected Member Functions inherited from sofa::core::loader::BaseLoader
 BaseLoader ()
 
 ~BaseLoader () override
 
- Protected Member Functions inherited from sofa::core::objectmodel::BaseObject
 BaseObject ()
 
 ~BaseObject () override
 
virtual void doUpdateInternal ()
 
void changeContextLink (BaseContext *before, BaseContext *&after)
 
void changeSlavesLink (BaseObject::SPtr ptr, std::size_t, bool add)
 
void trackInternalData (const BaseData &data)
 
void cleanTracker ()
 
bool hasDataChanged (const BaseData &data)
 
- Protected Member Functions inherited from sofa::core::objectmodel::Base
 Base ()
 
virtual ~Base ()
 
void initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, bool isDisplayed=true, bool isReadOnly=false)
 
void initData0 (BaseData *field, BaseData::BaseInitData &res, const char *name, const char *help, BaseData::DataFlags dataFlags)
 
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)
 
- Protected Member Functions inherited from sofa::core::IntrusiveObject
virtual ~IntrusiveObject ()=default
 

Additional Inherited Members

- Public Attributes inherited from sofa::core::loader::MeshLoader
Data< type::vector< Vec3 > > d_positions
 
Data< type::vector< Polyline > > d_polylines
 
Data< type::vector< Edge > > d_edges
 
Data< type::vector< Triangle > > d_triangles
 
Data< type::vector< Quad > > d_quads
 
Data< type::vector< type::vector< Topology::ElemID > > > d_polygons
 
Data< type::vector< HighOrderEdgePosition > > d_highOrderEdgePositions
 
Data< type::vector< HighOrderTrianglePosition > > d_highOrderTrianglePositions
 
Data< type::vector< HighOrderQuadPosition > > d_highOrderQuadPositions
 
Data< type::vector< Tetrahedron > > d_tetrahedra
 
Data< type::vector< Hexahedron > > d_hexahedra
 
Data< type::vector< Pentahedron > > d_pentahedra
 
Data< type::vector< HighOrderTetrahedronPosition > > d_highOrderTetrahedronPositions
 
Data< type::vector< HighOrderHexahedronPosition > > d_highOrderHexahedronPositions
 
Data< type::vector< Pyramid > > d_pyramids
 
Data< type::vector< sofa::type::Vec3 > > d_normals
 
Data< type::vector< PrimitiveGroup > > d_edgesGroups
 
Data< type::vector< PrimitiveGroup > > d_trianglesGroups
 
Data< type::vector< PrimitiveGroup > > d_quadsGroups
 
Data< type::vector< PrimitiveGroup > > d_polygonsGroups
 
Data< type::vector< PrimitiveGroup > > d_tetrahedraGroups
 
Data< type::vector< PrimitiveGroup > > d_hexahedraGroups
 
Data< type::vector< PrimitiveGroup > > d_pentahedraGroups
 
Data< type::vector< PrimitiveGroup > > d_pyramidsGroups
 
Data< bool > d_flipNormals
 
Data< bool > d_triangulate
 
Data< bool > d_createSubelements
 
Data< bool > d_onlyAttachedPoints
 
Data< Vec3 > d_translation
 
Data< Vec3 > d_rotation
 
Data< Vec3 > d_scale
 
Data< type::Matrix4d_transformation
 
- Public Attributes inherited from sofa::core::loader::BaseLoader
objectmodel::DataFileName d_filename
 
- Public Attributes inherited from sofa::core::objectmodel::BaseObject
Data< bool > f_listening
 
- Public Attributes inherited from sofa::core::objectmodel::Base
std::vector< lifecycle::DeprecatedData * > m_oldAttributes
 
Data< int > d_messageLogCount
 
Data< std::string > name
 
Data< bool > f_printLog
 
Data< sofa::core::objectmodel::TagSetf_tags
 
Data< sofa::type::BoundingBoxf_bbox
 
Data< sofa::core::objectmodel::ComponentStated_componentState
 
std::string m_definitionSourceFileName
 
int m_definitionSourceFilePos
 
std::string m_instanciationSourceFileName
 
int m_instanciationSourceFilePos
 
- Protected Attributes inherited from sofa::core::loader::MeshLoader
type::Matrix4 d_previousTransformation
 
- Protected Attributes inherited from sofa::core::objectmodel::BaseObject
SingleLink< BaseObject, BaseContext, BaseLink::FLAG_DOUBLELINK > l_context
 
LinkSlaves l_slaves
 
SingleLink< BaseObject, BaseObject, BaseLink::FLAG_DOUBLELINK > l_master
 
- Protected Attributes inherited from sofa::core::objectmodel::Base
std::map< std::string, sofa::core::DataTrackerCallbackm_internalEngine
 
VecData m_vecData
 
MapData m_aliasData
 
VecLink m_vecLink
 
MapLink m_aliasLink
 
- Static Public Member Functions inherited from sofa::core::objectmodel::BaseObject
static bool canCreate (T *, BaseContext *, BaseObjectDescription *)
 
static T::SPtr create (T *, BaseContext *context, BaseObjectDescription *arg)
 
- Static Public Member Functions inherited from sofa::core::objectmodel::Base
static const BaseClassGetClass ()
 
static std::string shortName (const T *ptr=nullptr, BaseObjectDescription *=nullptr)
 
- Static Protected Member Functions inherited from sofa::core::loader::BaseLoader
static void skipToEOL (FILE *f)
 
static bool readLine (char *buf, int size, FILE *f)
 

Constructor details

◆ AssimpLoader()

sofa::component::loader::AssimpLoader::AssimpLoader ( )
protected

Default constructor of the component.

◆ ~AssimpLoader()

sofa::component::loader::AssimpLoader::~AssimpLoader ( )
protectedvirtual

Function details

◆ convertAssimpScene()

bool sofa::component::loader::AssimpLoader::convertAssimpScene ( )
protected

Main internal method, implement the loading of OpenCTM mesh file.

◆ doClearBuffers()

virtual void sofa::component::loader::AssimpLoader::doClearBuffers ( )
inlineoverridevirtual

◆ doLoad()

bool sofa::component::loader::AssimpLoader::doLoad ( )
overridevirtual

Main Load method inherites from.

See also
sofa::core::loader::MeshLoader::load()

◆ getpPreprocessing()

int sofa::component::loader::AssimpLoader::getpPreprocessing ( )
inline

◆ getScene()

aiScene* sofa::component::loader::AssimpLoader::getScene ( )
inline

◆ setpPreprocessing()

void sofa::component::loader::AssimpLoader::setpPreprocessing ( int  p)
inline

◆ SOFA_CLASS()

sofa::component::loader::AssimpLoader::SOFA_CLASS ( AssimpLoader  ,
sofa::core::loader::MeshLoader   
)