SOFA plugin: SofaImplicitField  master
Open source framework for multi-physics simuation
sofa::component::mapping::ImplicitSurfaceMapping< In, Out > Class Template Reference

#include <ImplicitSurfaceMapping.h>

Inheritance diagram for sofa::component::mapping::ImplicitSurfaceMapping< In, Out >:

Classes

struct  CubeData
 For each cube, store the vertex indices on each 3 first edges, and the data value. More...
 

Protected Attributes

Data< double > mStep
 Step. More...
 
Data< double > mRadius
 Radius. More...
 
Data< double > mIsoValue
 Iso Value. More...
 
Data< InCoordmGridMin
 Grid Min. More...
 
Data< InCoordmGridMax
 Grid Max. More...
 
Data< sofa::type::vector< CubeData > > planes
 
sofa::type::vector< CubeData >::iterator P0
 
sofa::type::vector< CubeData >::iterator P1
 Pointer to first plane. More...
 
- Protected Attributes inherited from sofa::core::Mapping< class, class >
SingleLink< Mapping< In, Out >, State< In >, BaseLink::FLAG_STOREPATH|BaseLink::FLAG_STRONGLINK > fromModel
 
SingleLink< Mapping< In, Out >, State< Out >, BaseLink::FLAG_STOREPATH|BaseLink::FLAG_STRONGLINK > toModel
 
- 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
 
- Protected Attributes inherited from sofa::component::topology::container::constant::MeshTopology
Size nbPoints
 
bool validTetrahedra
 
bool validHexahedra
 
type::vector< EdgesAroundVertexm_edgesAroundVertex
 
type::vector< EdgesAroundVertexm_orientedEdgesAroundVertex
 
type::vector< EdgesInTrianglem_edgesInTriangle
 
type::vector< EdgesInQuadm_edgesInQuad
 
type::vector< EdgesInTetrahedronm_edgesInTetrahedron
 
type::vector< EdgesInHexahedronm_edgesInHexahedron
 
type::vector< TrianglesAroundVertexm_trianglesAroundVertex
 
type::vector< TrianglesAroundVertexm_orientedTrianglesAroundVertex
 
type::vector< TrianglesAroundEdgem_trianglesAroundEdge
 
type::vector< TrianglesInTetrahedronm_trianglesInTetrahedron
 
type::vector< QuadsAroundVertexm_quadsAroundVertex
 
type::vector< QuadsAroundVertexm_orientedQuadsAroundVertex
 
type::vector< QuadsAroundEdgem_quadsAroundEdge
 
type::vector< QuadsInHexahedronm_quadsInHexahedron
 
type::vector< TetrahedraAroundVertexm_tetrahedraAroundVertex
 
type::vector< TetrahedraAroundEdgem_tetrahedraAroundEdge
 
type::vector< TetrahedraAroundTrianglem_tetrahedraAroundTriangle
 
type::vector< HexahedraAroundVertexm_hexahedraAroundVertex
 
type::vector< HexahedraAroundEdgem_hexahedraAroundEdge
 
type::vector< HexahedraAroundQuadm_hexahedraAroundQuad
 
sofa::geometry::ElementType m_upperElementType
 
- Protected Attributes inherited from sofa::core::topology::BaseMeshTopology
sofa::core::objectmodel::DataFileName fileTopology
 

Public Member Functions

 SOFA_CLASS2 (SOFA_TEMPLATE2(ImplicitSurfaceMapping, In, Out), SOFA_TEMPLATE2(core::Mapping, In, Out), topology::container::constant::MeshTopology)
 
void init () override
 
void parse (core::objectmodel::BaseObjectDescription *arg) override
 
double getStep () const
 
void setStep (double val)
 
double getRadius () const
 
void setRadius (double val)
 
double getIsoValue () const
 
void setIsoValue (double val)
 
const InCoordgetGridMin () const
 
void setGridMin (const InCoord &val)
 
void setGridMin (double x, double y, double z)
 
const InCoordgetGridMax () const
 
void setGridMax (const InCoord &val)
 
void setGridMax (double x, double y, double z)
 
void apply (const core::MechanicalParams *mparams, Data< OutVecCoord > &out, const Data< InVecCoord > &in) override
 
void applyJ (const core::MechanicalParams *mparams, Data< OutVecDeriv > &out, const Data< InVecDeriv > &in) override
 
void applyJT (const sofa::core::MechanicalParams *, InDataVecDeriv &, const OutDataVecDeriv &) override
 
void applyJT (const sofa::core::ConstraintParams *, InDataMatrixDeriv &, const OutDataMatrixDeriv &) override
 
bool insertInNode (core::objectmodel::BaseNode *node) override
 
bool removeInNode (core::objectmodel::BaseNode *node) override
 
- Public Member Functions inherited from sofa::core::Mapping< class, class >
 SOFA_ABSTRACT_CLASS (SOFA_TEMPLATE2(Mapping, TIn, TOut), BaseMapping)
 
virtual void setModels (State< In > *from, State< Out > *to)
 
bool setFrom (BaseState *from) override
 
bool setTo (BaseState *to) override
 
void setPathInputObject (const std::string &o)
 
void setPathOutputObject (const std::string &o)
 
State< In > * getFromModel ()
 
State< Out > * getToModel ()
 
type::vector< BaseState * > getFrom () override
 
type::vector< BaseState * > getTo () override
 
void apply (const MechanicalParams *mparams, MultiVecCoordId outPos, ConstMultiVecCoordId inPos) override
 
virtual void apply (const MechanicalParams *mparams, OutDataVecCoord &out, const InDataVecCoord &in)=0
 
void applyJ (const MechanicalParams *mparams, MultiVecDerivId outVel, ConstMultiVecDerivId inVel) override
 
virtual void applyJ (const MechanicalParams *mparams, OutDataVecDeriv &out, const InDataVecDeriv &in)=0
 
void applyJT (const MechanicalParams *mparams, MultiVecDerivId inForce, ConstMultiVecDerivId outForce) override
 
virtual void applyJT (const MechanicalParams *mparams, InDataVecDeriv &out, const OutDataVecDeriv &in)=0
 
void applyDJT (const MechanicalParams *, MultiVecDerivId, ConstMultiVecDerivId) override
 
void applyJT (const ConstraintParams *cparams, MultiMatrixDerivId inConst, ConstMultiMatrixDerivId outConst) override
 
virtual void applyJT (const ConstraintParams *, InDataMatrixDeriv &, const OutDataMatrixDeriv &)
 
void computeAccFromMapping (const MechanicalParams *mparams, MultiVecDerivId outAcc, ConstMultiVecDerivId inVel, ConstMultiVecDerivId inAcc) override
 
virtual void computeAccFromMapping (const MechanicalParams *, OutDataVecDeriv &, const InDataVecDeriv &, const InDataVecDeriv &)
 
virtual type::vector< behavior::BaseMechanicalState * > getMechFrom () override
 
virtual type::vector< behavior::BaseMechanicalState * > getMechTo () override
 
sofa::linearalgebra::BaseMatrixcreateMappedMatrix (const behavior::BaseMechanicalState *state1, const behavior::BaseMechanicalState *state2, func_createMappedMatrix) override
 
void disable () override
 
- Public Member Functions inherited from sofa::core::BaseMapping
 SOFA_ABSTRACT_CLASS (BaseMapping, objectmodel::BaseObject)
 
virtual bool isLinear () const
 
virtual bool isMechanical () const
 
virtual bool sameTopology () const
 
virtual const sofa::linearalgebra::BaseMatrixgetJ (const MechanicalParams *)
 
virtual const sofa::linearalgebra::BaseMatrixgetJ ()
 
virtual bool areForcesMapped () const
 
virtual bool areConstraintsMapped () const
 
virtual bool areMassesMapped () const
 
virtual bool areMatricesMapped () const
 
virtual void setForcesMapped (bool b)
 
virtual void setConstraintsMapped (bool b)
 
virtual void setMassesMapped (bool b)
 
virtual void setMatricesMapped (bool b)
 
virtual void setNonMechanical ()
 
virtual const type::vector< sofa::linearalgebra::BaseMatrix * > * getJs ()
 
virtual void updateK (const MechanicalParams *, ConstMultiVecDerivId)
 
virtual const linearalgebra::BaseMatrixgetK ()
 
virtual void buildGeometricStiffnessMatrix (sofa::core::GeometricStiffnessMatrix *matrices)
 
virtual bool areForcesMapped () const
 
virtual bool areConstraintsMapped () const
 
virtual bool areMassesMapped () const
 
virtual bool areMatricesMapped () const
 
virtual void setForcesMapped (bool b)
 
virtual void setConstraintsMapped (bool b)
 
virtual void setMassesMapped (bool b)
 
virtual void setMatricesMapped (bool b)
 
virtual void setNonMechanical ()
 
virtual const type::vector< sofa::linearalgebra::BaseMatrix * > * getJs ()
 
virtual void updateK (const MechanicalParams *, ConstMultiVecDerivId)
 
virtual const linearalgebra::BaseMatrixgetK ()
 
virtual void buildGeometricStiffnessMatrix (sofa::core::GeometricStiffnessMatrix *matrices)
 
- Public Member Functions inherited from sofa::core::objectmodel::BaseObject
 SOFA_CLASS (BaseObject, Base)
 
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
 
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)
 
virtual void bwdInit ()
 
virtual void reinit ()
 
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
 
- Public Member Functions inherited from sofa::component::topology::container::constant::MeshTopology
 SOFA_CLASS (MeshTopology, core::topology::BaseMeshTopology)
 
void computeCrossElementBuffers () override
 
Size getNbPoints () const override
 
void setNbPoints (Size n) override
 
const SeqEdges & getEdges () override
 
const SeqTriangles & getTriangles () override
 
const SeqQuads & getQuads () override
 
const SeqTetrahedra & getTetrahedra () override
 
const SeqHexahedra & getHexahedra () override
 
Size getNbEdges () override
 
Size getNbTriangles () override
 
Size getNbQuads () override
 
Size getNbTetrahedra () override
 
Size getNbHexahedra () override
 
const Edge getEdge (EdgeID i) override
 
const Triangle getTriangle (TriangleID i) override
 
const Quad getQuad (QuadID i) override
 
const Tetra getTetrahedron (TetraID i) override
 
const Hexa getHexahedron (HexaID i) override
 
virtual const SeqUV & getUVs ()
 
virtual Size getNbUVs ()
 
virtual const UV getUV (UVID i)
 
void addUV (SReal u, SReal v)
 
SReal getPosX (Index i) const
 
SReal getPosY (Index i) const
 
SReal getPosZ (Index i) const
 
bool hasPos () const override
 
SReal getPX (Index i) const override
 
SReal getPY (Index i) const override
 
SReal getPZ (Index i) const override
 
void clear () override
 
void addPoint (SReal px, SReal py, SReal pz) override
 
void addEdge (Index a, Index b) override
 
void addTriangle (Index a, Index b, Index c) override
 
void addQuad (Index a, Index b, Index c, Index d) override
 
void addTetra (Index a, Index b, Index c, Index d) override
 
void addHexa (Index a, Index b, Index c, Index d, Index e, Index f, Index g, Index h) override
 
int getRevision () const override
 
void draw (const core::visual::VisualParams *vparams) override
 
virtual bool hasVolume ()
 
virtual bool hasSurface ()
 
virtual bool hasLines ()
 
virtual bool isVolume ()
 
virtual bool isSurface ()
 
virtual bool isLines ()
 
virtual const EdgesAroundVertexgetOrientedEdgesAroundVertex (PointID i)
 
virtual const TrianglesAroundVertexgetOrientedTrianglesAroundVertex (PointID i)
 
virtual const QuadsAroundVertexgetOrientedQuadsAroundVertex (PointID i)
 
int computeRelativeOrientationInTri (const PointID ind_p0, const PointID ind_p1, const PointID ind_t)
 
int computeRelativeOrientationInQuad (const PointID ind_p0, const PointID ind_p1, const PointID ind_q)
 
void reOrientateTriangle (TriangleID id) override
 
EdgeID getEdgeIndex (PointID v1, PointID v2) override
 
TriangleID getTriangleIndex (PointID v1, PointID v2, PointID v3) override
 
QuadID getQuadIndex (PointID v1, PointID v2, PointID v3, PointID v4) override
 
TetrahedronID getTetrahedronIndex (PointID v1, PointID v2, PointID v3, PointID v4) override
 
HexahedronID getHexahedronIndex (PointID v1, PointID v2, PointID v3, PointID v4, PointID v5, PointID v6, PointID v7, PointID v8) override
 
int getVertexIndexInTriangle (const Triangle &t, PointID vertexIndex) const override
 
int getEdgeIndexInTriangle (const EdgesInTriangle &t, EdgeID edgeIndex) const override
 
int getVertexIndexInQuad (const Quad &t, PointID vertexIndex) const override
 
int getEdgeIndexInQuad (const EdgesInQuad &t, EdgeID edgeIndex) const override
 
int getVertexIndexInTetrahedron (const Tetra &t, PointID vertexIndex) const override
 
int getEdgeIndexInTetrahedron (const EdgesInTetrahedron &t, EdgeID edgeIndex) const override
 
int getTriangleIndexInTetrahedron (const TrianglesInTetrahedron &t, TriangleID triangleIndex) const override
 
int getVertexIndexInHexahedron (const Hexa &t, PointID vertexIndex) const override
 
int getEdgeIndexInHexahedron (const EdgesInHexahedron &t, EdgeID edgeIndex) const override
 
int getQuadIndexInHexahedron (const QuadsInHexahedron &t, QuadID quadIndex) const override
 
Edge getLocalEdgesInTetrahedron (const HexahedronID i) const override
 
Edge getLocalEdgesInHexahedron (const HexahedronID i) const override
 
sofa::geometry::ElementType getTopologyType () const override
 
void invalidate ()
 
virtual void updateTetrahedra ()
 
virtual void updateHexahedra ()
 
const EdgesAroundVertexgetEdgesAroundVertex (PointID i) override
 
const type::vector< EdgesAroundVertex > & getEdgesAroundVertexArray ()
 
const TrianglesAroundVertexgetTrianglesAroundVertex (PointID i) override
 
const type::vector< TrianglesAroundVertex > & getTrianglesAroundVertexArray ()
 
const EdgesInTrianglegetEdgesInTriangle (TriangleID i) override
 
const type::vector< EdgesInTriangle > & getEdgesInTriangleArray ()
 
const TrianglesAroundEdgegetTrianglesAroundEdge (EdgeID i) override
 
const type::vector< TrianglesAroundEdge > & getTrianglesAroundEdgeArray ()
 
const QuadsAroundVertexgetQuadsAroundVertex (PointID i) override
 
const type::vector< QuadsAroundVertex > & getQuadsAroundVertexArray ()
 
const EdgesInQuadgetEdgesInQuad (QuadID i) override
 
const type::vector< EdgesInQuad > & getEdgesInQuadArray ()
 
const QuadsAroundEdgegetQuadsAroundEdge (EdgeID i) override
 
const type::vector< QuadsAroundEdge > & getQuadsAroundEdgeArray ()
 
const TetrahedraAroundVertexgetTetrahedraAroundVertex (PointID i) override
 
const type::vector< TetrahedraAroundVertex > & getTetrahedraAroundVertexArray ()
 
const EdgesInTetrahedrongetEdgesInTetrahedron (TetraID i) override
 
const type::vector< EdgesInTetrahedron > & getEdgesInTetrahedronArray ()
 
const TetrahedraAroundEdgegetTetrahedraAroundEdge (EdgeID i) override
 
const type::vector< TetrahedraAroundEdge > & getTetrahedraAroundEdgeArray ()
 
const TrianglesInTetrahedrongetTrianglesInTetrahedron (TetraID i) override
 
const type::vector< TrianglesInTetrahedron > & getTrianglesInTetrahedronArray ()
 
const TetrahedraAroundTrianglegetTetrahedraAroundTriangle (TriangleID i) override
 
const type::vector< TetrahedraAroundTriangle > & getTetrahedraAroundTriangleArray ()
 
const HexahedraAroundVertexgetHexahedraAroundVertex (PointID i) override
 
const type::vector< HexahedraAroundVertex > & getHexahedraAroundVertexArray ()
 
const EdgesInHexahedrongetEdgesInHexahedron (HexaID i) override
 
const type::vector< EdgesInHexahedron > & getEdgesInHexahedronArray ()
 
const HexahedraAroundEdgegetHexahedraAroundEdge (EdgeID i) override
 
const type::vector< HexahedraAroundEdge > & getHexahedraAroundEdgeArray ()
 
const QuadsInHexahedrongetQuadsInHexahedron (HexaID i) override
 
const type::vector< QuadsInHexahedron > & getQuadsInHexahedronArray ()
 
const HexahedraAroundQuadgetHexahedraAroundQuad (QuadID i) override
 
const type::vector< HexahedraAroundQuad > & getHexahedraAroundQuadArray ()
 
bool checkConnexity () override
 
Size getNumberOfConnectedComponent () override
 
virtual const type::vector< Index > getConnectedElement (Index elem) override
 
virtual const type::vector< Index > getElementAroundElement (Index elem) override
 
virtual const type::vector< Index > getElementAroundElements (type::vector< Index > elems) override
 
const EdgesAroundVertexgetEdgesAroundVertex (PointID i) override
 
const type::vector< EdgesAroundVertex > & getEdgesAroundVertexArray ()
 
const TrianglesAroundVertexgetTrianglesAroundVertex (PointID i) override
 
const type::vector< TrianglesAroundVertex > & getTrianglesAroundVertexArray ()
 
const EdgesInTrianglegetEdgesInTriangle (TriangleID i) override
 
const type::vector< EdgesInTriangle > & getEdgesInTriangleArray ()
 
const TrianglesAroundEdgegetTrianglesAroundEdge (EdgeID i) override
 
const type::vector< TrianglesAroundEdge > & getTrianglesAroundEdgeArray ()
 
const QuadsAroundVertexgetQuadsAroundVertex (PointID i) override
 
const type::vector< QuadsAroundVertex > & getQuadsAroundVertexArray ()
 
const EdgesInQuadgetEdgesInQuad (QuadID i) override
 
const type::vector< EdgesInQuad > & getEdgesInQuadArray ()
 
const QuadsAroundEdgegetQuadsAroundEdge (EdgeID i) override
 
const type::vector< QuadsAroundEdge > & getQuadsAroundEdgeArray ()
 
const TetrahedraAroundVertexgetTetrahedraAroundVertex (PointID i) override
 
const type::vector< TetrahedraAroundVertex > & getTetrahedraAroundVertexArray ()
 
const EdgesInTetrahedrongetEdgesInTetrahedron (TetraID i) override
 
const type::vector< EdgesInTetrahedron > & getEdgesInTetrahedronArray ()
 
const TetrahedraAroundEdgegetTetrahedraAroundEdge (EdgeID i) override
 
const type::vector< TetrahedraAroundEdge > & getTetrahedraAroundEdgeArray ()
 
const TrianglesInTetrahedrongetTrianglesInTetrahedron (TetraID i) override
 
const type::vector< TrianglesInTetrahedron > & getTrianglesInTetrahedronArray ()
 
const TetrahedraAroundTrianglegetTetrahedraAroundTriangle (TriangleID i) override
 
const type::vector< TetrahedraAroundTriangle > & getTetrahedraAroundTriangleArray ()
 
const HexahedraAroundVertexgetHexahedraAroundVertex (PointID i) override
 
const type::vector< HexahedraAroundVertex > & getHexahedraAroundVertexArray ()
 
const EdgesInHexahedrongetEdgesInHexahedron (HexaID i) override
 
const type::vector< EdgesInHexahedron > & getEdgesInHexahedronArray ()
 
const HexahedraAroundEdgegetHexahedraAroundEdge (EdgeID i) override
 
const type::vector< HexahedraAroundEdge > & getHexahedraAroundEdgeArray ()
 
const QuadsInHexahedrongetQuadsInHexahedron (HexaID i) override
 
const type::vector< QuadsInHexahedron > & getQuadsInHexahedronArray ()
 
const HexahedraAroundQuadgetHexahedraAroundQuad (QuadID i) override
 
const type::vector< HexahedraAroundQuad > & getHexahedraAroundQuadArray ()
 
bool checkConnexity () override
 
Size getNumberOfConnectedComponent () override
 
virtual const type::vector< Index > getConnectedElement (Index elem) override
 
virtual const type::vector< Index > getElementAroundElement (Index elem) override
 
virtual const type::vector< Index > getElementAroundElements (type::vector< Index > elems) override
 
- Public Member Functions inherited from sofa::core::topology::BaseMeshTopology
 SOFA_ABSTRACT_CLASS (BaseMeshTopology, core::topology::Topology)
 
virtual bool load (const char *filename)
 
virtual std::string getFilename () const
 
virtual int getVertexIndexInTriangle (const Triangle &t, PointID vertexIndex) const
 
virtual int getVertexIndexInQuad (const Quad &t, PointID vertexIndex) const
 
virtual Edge getLocalEdgesInTetrahedron (const PointID i) const
 
virtual Triangle getLocalTrianglesInTetrahedron (const PointID i) const
 
virtual Edge getLocalEdgesInHexahedron (const PointID i) const
 
virtual Quad getLocalQuadsInHexahedron (const PointID i) const
 
virtual const sofa::type::vector< TriangleID > & getTrianglesOnBorder ()
 
virtual const sofa::type::vector< EdgeID > & getEdgesOnBorder ()
 
virtual const sofa::type::vector< PointID > & getPointsOnBorder ()
 
virtual Size getNbTetras ()
 
virtual Size getNbHexas ()
 
virtual Tetra getTetra (TetraID i)
 
virtual Hexa getHexa (HexaID i)
 
virtual const SeqTetrahedra & getTetras ()
 
virtual const SeqHexahedra & getHexas ()
 
virtual const VerticesAroundVertex getVerticesAroundVertex (PointID i)
 
const SeqLinesgetLines ()
 
Size getNbLines ()
 
Line getLine (LineID i)
 
bool hasPos () const override
 
SReal getPX (Index) const override
 
SReal getPY (Index) const override
 
SReal getPZ (Index) const override
 
void addLine (Index a, Index b)
 
virtual bool checkTopology () const
 
virtual std::list< const TopologyChange * >::const_iterator beginChange () const
 
virtual std::list< const TopologyChange * >::const_iterator endChange () const
 
virtual std::list< const TopologyChange * >::const_iterator beginStateChange () const
 
virtual std::list< const TopologyChange * >::const_iterator endStateChange () const
 
virtual Size getNbTetras ()
 
virtual Size getNbHexas ()
 
virtual Tetra getTetra (TetraID i)
 
virtual Hexa getHexa (HexaID i)
 
virtual const SeqTetrahedra & getTetras ()
 
virtual const SeqHexahedra & getHexas ()
 
virtual const VerticesAroundVertex getVerticesAroundVertex (PointID i)
 
const SeqLinesgetLines ()
 
Size getNbLines ()
 
Line getLine (LineID i)
 
bool hasPos () const override
 
SReal getPX (Index) const override
 
SReal getPY (Index) const override
 
SReal getPZ (Index) const override
 
void addLine (Index a, Index b)
 
virtual bool checkTopology () const
 
virtual std::list< const TopologyChange * >::const_iterator beginChange () const
 
virtual std::list< const TopologyChange * >::const_iterator endChange () const
 
virtual std::list< const TopologyChange * >::const_iterator beginStateChange () const
 
virtual std::list< const TopologyChange * >::const_iterator endStateChange () const
 
- Public Member Functions inherited from sofa::core::topology::Topology
 SOFA_CLASS (Topology, core::objectmodel::BaseObject)
 

Protected Member Functions

 ImplicitSurfaceMapping ()
 
 ~ImplicitSurfaceMapping () override
 
void newPlane ()
 Pointer to second plane. More...
 
template<int C>
int addPoint (OutVecCoord &out, int x, int y, int z, OutReal v0, OutReal v1, OutReal iso)
 
int addFace (int p1, int p2, int p3, int nbp)
 
- Protected Member Functions inherited from sofa::core::Mapping< class, class >
 Mapping (State< In > *from=nullptr, State< Out > *to=nullptr)
 
 ~Mapping () override
 
- Protected Member Functions inherited from sofa::core::BaseMapping
 BaseMapping ()
 
 ~BaseMapping () override
 
bool testMechanicalState (BaseState *state)
 
- 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
 
- Protected Member Functions inherited from sofa::component::topology::container::constant::MeshTopology
 MeshTopology ()
 
void createEdgesAroundVertexArray ()
 
void createEdgesInTriangleArray ()
 
void createEdgesInQuadArray ()
 
void createEdgesInTetrahedronArray ()
 
void createEdgesInHexahedronArray ()
 
void createTrianglesAroundVertexArray ()
 
void createOrientedTrianglesAroundVertexArray ()
 
void createTrianglesAroundEdgeArray ()
 
void createTrianglesInTetrahedronArray ()
 
void createQuadsAroundVertexArray ()
 
void createOrientedQuadsAroundVertexArray ()
 
void createQuadsAroundEdgeArray ()
 
void createQuadsInHexahedronArray ()
 
void createTetrahedraAroundVertexArray ()
 
void createTetrahedraAroundEdgeArray ()
 
void createTetrahedraAroundTriangleArray ()
 
void createHexahedraAroundVertexArray ()
 
void createHexahedraAroundEdgeArray ()
 
void createHexahedraAroundQuadArray ()
 
- Protected Member Functions inherited from sofa::core::topology::BaseMeshTopology
 BaseMeshTopology ()
 
- Protected Member Functions inherited from sofa::core::topology::Topology
 Topology ()
 
virtual ~Topology ()
 

Additional Inherited Members

- Public Attributes inherited from sofa::core::Mapping< class, class >
Data< bool > f_applyRestPosition
 
- Public Attributes inherited from sofa::core::BaseMapping
Data< bool > f_mapForces
 
Data< bool > f_mapConstraints
 
Data< bool > f_mapMasses
 
Data< bool > f_mapMatrices
 
- 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
 
- Public Attributes inherited from sofa::component::topology::container::constant::MeshTopology
Data< SeqPoints > d_seqPoints
 
Data< SeqEdges > d_seqEdges
 
Data< SeqTriangles > d_seqTriangles
 
Data< SeqQuads > d_seqQuads
 
Data< SeqTetrahedra > d_seqTetrahedra
 
Data< SeqHexahedra > d_seqHexahedra
 
Data< SeqUV > d_seqUVs
 
Data< bool > d_computeAllBuffers
 
int revision
 
Data< bool > d_drawEdges
 
Data< bool > d_drawTriangles
 
Data< bool > d_drawQuads
 
Data< bool > d_drawTetra
 
Data< bool > d_drawHexa
 
- Static Public Attributes inherited from sofa::core::topology::BaseMeshTopology
static constexpr EdgesInTriangle InvalidEdgesInTriangles
 
static constexpr EdgesInQuad InvalidEdgesInQuad
 
static constexpr TrianglesInTetrahedron InvalidTrianglesInTetrahedron
 
static constexpr EdgesInTetrahedron InvalidEdgesInTetrahedron
 
static constexpr QuadsInHexahedron InvalidQuadsInHexahedron
 
static constexpr EdgesInHexahedron InvalidEdgesInHexahedron
 
- Static Public Attributes inherited from sofa::core::topology::Topology
static constexpr Index InvalidID
 
static const auto InvalidSet
 
static constexpr auto InvalidEdge
 
static constexpr auto InvalidTriangle
 
static constexpr auto InvalidQuad
 
static constexpr auto InvalidTetrahedron
 
static constexpr auto InvalidPentahedron
 
static constexpr auto InvalidHexahedron
 
static constexpr auto InvalidPyramid
 
- Static Public Member Functions inherited from sofa::core::Mapping< class, class >
static bool canCreate (T *&obj, core::objectmodel::BaseContext *context, core::objectmodel::BaseObjectDescription *arg)
 
static T::SPtr create (T *, core::objectmodel::BaseContext *context, core::objectmodel::BaseObjectDescription *arg)
 
static std::string shortName (const T *ptr=nullptr, objectmodel::BaseObjectDescription *arg=nullptr)
 
- 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)
 

Attribute details

◆ mGridMax

template<class In , class Out >
Data< InCoord > sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::mGridMax
protected

Grid Max.

◆ mGridMin

template<class In , class Out >
Data< InCoord > sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::mGridMin
protected

Grid Min.

◆ mIsoValue

template<class In , class Out >
Data<double > sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::mIsoValue
protected

Iso Value.

◆ mRadius

template<class In , class Out >
Data<double > sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::mRadius
protected

Radius.

◆ mStep

template<class In , class Out >
Data<double > sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::mStep
protected

Step.

◆ P0

template<class In , class Out >
sofa::type::vector<CubeData>::iterator sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::P0
protected

◆ P1

template<class In , class Out >
sofa::type::vector<CubeData>::iterator sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::P1
protected

Pointer to first plane.

◆ planes

template<class In , class Out >
Data< sofa::type::vector<CubeData> > sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::planes
protected

Constructor details

◆ ImplicitSurfaceMapping()

template<class In , class Out >
sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::ImplicitSurfaceMapping ( )
inlineprotected

◆ ~ImplicitSurfaceMapping()

template<class In , class Out >
sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::~ImplicitSurfaceMapping ( )
inlineoverrideprotected

Function details

◆ addFace()

template<class In , class Out >
int sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::addFace ( int  p1,
int  p2,
int  p3,
int  nbp 
)
inlineprotected

◆ addPoint()

template<class In , class Out >
template<int C>
int sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::addPoint ( OutVecCoord out,
int  x,
int  y,
int  z,
OutReal  v0,
OutReal  v1,
OutReal  iso 
)
inlineprotected

◆ apply()

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::apply ( const core::MechanicalParams mparams,
Data< OutVecCoord > &  out,
const Data< InVecCoord > &  in 
)
override

◆ applyJ()

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::applyJ ( const core::MechanicalParams mparams,
Data< OutVecDeriv > &  out,
const Data< InVecDeriv > &  in 
)
override

◆ applyJT() [1/2]

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::applyJT ( const sofa::core::ConstraintParams ,
InDataMatrixDeriv ,
const OutDataMatrixDeriv  
)
inlineoverride

◆ applyJT() [2/2]

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::applyJT ( const sofa::core::MechanicalParams ,
InDataVecDeriv ,
const OutDataVecDeriv  
)
inlineoverride

◆ getGridMax()

template<class In , class Out >
const InCoord& sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::getGridMax ( ) const
inline

◆ getGridMin()

template<class In , class Out >
const InCoord& sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::getGridMin ( ) const
inline

◆ getIsoValue()

template<class In , class Out >
double sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::getIsoValue ( ) const
inline

◆ getRadius()

template<class In , class Out >
double sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::getRadius ( ) const
inline

◆ getStep()

template<class In , class Out >
double sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::getStep ( ) const
inline

◆ init()

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::init ( void  )
overridevirtual

◆ insertInNode()

template<class In , class Out >
bool sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::insertInNode ( core::objectmodel::BaseNode node)
inlineoverridevirtual

Reimplemented from sofa::core::BaseMapping.

◆ newPlane()

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::newPlane
protected

Pointer to second plane.

◆ parse()

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::parse ( core::objectmodel::BaseObjectDescription arg)
overridevirtual

◆ removeInNode()

template<class In , class Out >
bool sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::removeInNode ( core::objectmodel::BaseNode node)
inlineoverridevirtual

Reimplemented from sofa::core::BaseMapping.

◆ setGridMax() [1/2]

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::setGridMax ( const InCoord val)
inline

◆ setGridMax() [2/2]

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::setGridMax ( double  x,
double  y,
double  z 
)
inline

◆ setGridMin() [1/2]

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::setGridMin ( const InCoord val)
inline

◆ setGridMin() [2/2]

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::setGridMin ( double  x,
double  y,
double  z 
)
inline

◆ setIsoValue()

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::setIsoValue ( double  val)
inline

◆ setRadius()

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::setRadius ( double  val)
inline

◆ setStep()

template<class In , class Out >
void sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::setStep ( double  val)
inline

◆ SOFA_CLASS2()

template<class In , class Out >
sofa::component::mapping::ImplicitSurfaceMapping< In, Out >::SOFA_CLASS2 ( SOFA_TEMPLATE2(ImplicitSurfaceMapping< In, Out >, In, Out)  ,
SOFA_TEMPLATE2(core::Mapping, In, Out)  ,
topology::container::constant::MeshTopology   
)