SOFA API  e18b59ce
Open source framework for multi-physics simuation
sofa::core::topology Namespace Reference

Classes

class  BaseMeshTopology
 
class  BaseTopologyData
 
class  BaseTopologyObject
 
class  DefaultMeshTopologyLoader
 
class  EdgesAdded
 
class  EdgesIndicesSwap
 
class  EdgesMoved_Adding
 
class  EdgesMoved_Removing
 
class  EdgesRemoved
 
class  EdgesRenumbering
 
struct  ElemAncestorElem
 Topology change informations related to the ancestor topology element of an edge. More...
 
class  EndingEvent
 
class  HexahedraAdded
 
class  HexahedraIndicesSwap
 
class  HexahedraMoved_Adding
 
class  HexahedraMoved_Removing
 
class  HexahedraRemoved
 
class  HexahedraRenumbering
 
struct  PointAncestorElem
 Topology change informations related to the ancestor topology element of a point. More...
 
class  PointsAdded
 
class  PointsIndicesSwap
 
class  PointsMoved
 
class  PointsRemoved
 
class  PointsRenumbering
 
class  QuadsAdded
 
class  QuadsIndicesSwap
 
class  QuadsMoved_Adding
 
class  QuadsMoved_Removing
 
class  QuadsRemoved
 
class  QuadsRenumbering
 
class  TetrahedraAdded
 
class  TetrahedraIndicesSwap
 
class  TetrahedraMoved_Adding
 
class  TetrahedraMoved_Removing
 
class  TetrahedraRemoved
 
class  TetrahedraRenumbering
 
class  TopologicalMapping
 This Interface is a new kind of Mapping, called TopologicalMapping, which converts an INPUT TOPOLOGY to an OUTPUT TOPOLOGY (both topologies are of type BaseTopology) More...
 
class  Topology
 
class  TopologyChange
 Base class to indicate a topology change occurred. More...
 
struct  TopologyChangeElementInfo
 
struct  TopologyChangeElementInfo< Topology::Edge >
 
struct  TopologyChangeElementInfo< Topology::Hexahedron >
 
struct  TopologyChangeElementInfo< Topology::Point >
 
struct  TopologyChangeElementInfo< Topology::Quad >
 
struct  TopologyChangeElementInfo< Topology::Tetrahedron >
 
struct  TopologyChangeElementInfo< Topology::Triangle >
 
class  TopologyElementHandler
 A class for storing Edge related data. Automatically manages topology changes. More...
 
struct  TopologyElementInfo
 
struct  TopologyElementInfo< Topology::Edge >
 
struct  TopologyElementInfo< Topology::Hexahedron >
 
struct  TopologyElementInfo< Topology::Pentahedron >
 
struct  TopologyElementInfo< Topology::Point >
 
struct  TopologyElementInfo< Topology::Pyramid >
 
struct  TopologyElementInfo< Topology::Quad >
 
struct  TopologyElementInfo< Topology::Tetrahedron >
 
struct  TopologyElementInfo< Topology::Triangle >
 
struct  TopologyElemID
 Topology identification of a primitive element. More...
 
class  TopologyEngine
 
class  TopologyHandler
 
class  TrianglesAdded
 
class  TrianglesIndicesSwap
 
class  TrianglesMoved_Adding
 
class  TrianglesMoved_Removing
 
class  TrianglesRemoved
 
class  TrianglesRenumbering
 

Typedefs

typedef ElemAncestorElem< 2 > EdgeAncestorElem
 
typedef ElemAncestorElem< 3 > TriangleAncestorElem
 
typedef ElemAncestorElem< 4 > QuadAncestorElem
 
typedef ElemAncestorElem< 4 > TetrahedronAncestorElem
 
typedef ElemAncestorElem< 8 > HexahedronAncestorElem
 
typedef Topology::Point Point
 
typedef Topology::Edge Edge
 
typedef Topology::Triangle Triangle
 
typedef Topology::Quad Quad
 
typedef Topology::Tetrahedron Tetrahedron
 
typedef Topology::Hexahedron Hexahedron
 

Enumerations

enum  TopologyObjectType {
  POINT, EDGE, TRIANGLE, QUAD,
  TETRAHEDRON, HEXAHEDRON, PENTAHEDRON, PYRAMID
}
 The enumeration used to give unique identifiers to Topological objects. More...
 
enum  TopologyChangeType {
  BASE, ENDING_EVENT, POINTSINDICESSWAP, POINTSADDED,
  POINTSREMOVED, POINTSMOVED, POINTSRENUMBERING, EDGESINDICESSWAP,
  EDGESADDED, EDGESREMOVED, EDGESMOVED_REMOVING, EDGESMOVED_ADDING,
  EDGESRENUMBERING, TRIANGLESINDICESSWAP, TRIANGLESADDED, TRIANGLESREMOVED,
  TRIANGLESMOVED_REMOVING, TRIANGLESMOVED_ADDING, TRIANGLESRENUMBERING, TETRAHEDRAINDICESSWAP,
  TETRAHEDRAADDED, TETRAHEDRAREMOVED, TETRAHEDRAMOVED_REMOVING, TETRAHEDRAMOVED_ADDING,
  TETRAHEDRARENUMBERING, QUADSINDICESSWAP, QUADSADDED, QUADSREMOVED,
  QUADSMOVED_REMOVING, QUADSMOVED_ADDING, QUADSRENUMBERING, HEXAHEDRAINDICESSWAP,
  HEXAHEDRAADDED, HEXAHEDRAREMOVED, HEXAHEDRAMOVED_REMOVING, HEXAHEDRAMOVED_ADDING,
  HEXAHEDRARENUMBERING, TOPOLOGYCHANGE_LASTID
}
 The enumeration used to give unique identifiers to TopologyChange objects. More...
 

Functions

int initStaticStructures ()
 
SOFA_CORE_API TopologyObjectType parseTopologyObjectTypeFromString (const std::string &s)
 
SOFA_CORE_API std::string parseTopologyObjectTypeToString (TopologyObjectType t)
 
SOFA_CORE_API TopologyChangeType parseTopologyChangeTypeFromString (const std::string &s)
 
SOFA_CORE_API std::string parseTopologyChangeTypeToString (TopologyChangeType t)
 
SOFA_CORE_API std::ostream & operator<< (std::ostream &out, const TopologyElemID &d)
 
SOFA_CORE_API std::istream & operator>> (std::istream &in, TopologyElemID &)
 
SOFA_CORE_API std::ostream & operator<< (std::ostream &out, const PointAncestorElem &d)
 
SOFA_CORE_API std::istream & operator>> (std::istream &in, PointAncestorElem &)
 
template<int NV>
SOFA_CORE_API std::ostream & operator<< (std::ostream &out, const ElemAncestorElem< NV > &d)
 
template<int NV>
SOFA_CORE_API std::istream & operator>> (std::istream &in, ElemAncestorElem< NV > &)
 
template SOFA_CORE_API std::ostream & operator<< (std::ostream &out, const ElemAncestorElem< 2 > &d)
 
template SOFA_CORE_API std::ostream & operator<< (std::ostream &out, const ElemAncestorElem< 3 > &d)
 
template SOFA_CORE_API std::ostream & operator<< (std::ostream &out, const ElemAncestorElem< 4 > &d)
 
template SOFA_CORE_API std::ostream & operator<< (std::ostream &out, const ElemAncestorElem< 8 > &d)
 

Variables

class SOFA_CORE_API TopologyChange
 
class SOFA_CORE_API EndingEvent
 
class SOFA_CORE_API PointsIndicesSwap
 
class SOFA_CORE_API PointsAdded
 
class SOFA_CORE_API PointsRemoved
 
class SOFA_CORE_API PointsMoved
 
class SOFA_CORE_API PointsRenumbering
 
class SOFA_CORE_API EdgesIndicesSwap
 
class SOFA_CORE_API EdgesAdded
 
class SOFA_CORE_API EdgesRemoved
 
class SOFA_CORE_API EdgesMoved_Removing
 
class SOFA_CORE_API EdgesMoved_Adding
 
class SOFA_CORE_API EdgesRenumbering
 
class SOFA_CORE_API TrianglesIndicesSwap
 
class SOFA_CORE_API TrianglesAdded
 
class SOFA_CORE_API TrianglesRemoved
 
class SOFA_CORE_API TrianglesMoved_Removing
 
class SOFA_CORE_API TrianglesMoved_Adding
 
class SOFA_CORE_API TrianglesRenumbering
 
class SOFA_CORE_API TetrahedraIndicesSwap
 
class SOFA_CORE_API TetrahedraAdded
 
class SOFA_CORE_API TetrahedraRemoved
 
class SOFA_CORE_API TetrahedraMoved_Removing
 
class SOFA_CORE_API TetrahedraMoved_Adding
 
class SOFA_CORE_API TetrahedraRenumbering
 
class SOFA_CORE_API QuadsIndicesSwap
 
class SOFA_CORE_API QuadsAdded
 
class SOFA_CORE_API QuadsRemoved
 
class SOFA_CORE_API QuadsMoved_Removing
 
class SOFA_CORE_API QuadsMoved_Adding
 
class SOFA_CORE_API QuadsRenumbering
 
class SOFA_CORE_API HexahedraIndicesSwap
 
class SOFA_CORE_API HexahedraAdded
 
class SOFA_CORE_API HexahedraRemoved
 
class SOFA_CORE_API HexahedraMoved_Removing
 
class SOFA_CORE_API HexahedraMoved_Adding
 
class SOFA_CORE_API HexahedraRenumbering
 
template class SOFA_CORE_API TopologyElementHandler< Point >
 
template class SOFA_CORE_API TopologyElementHandler< Edge >
 
template class SOFA_CORE_API TopologyElementHandler< Triangle >
 
template class SOFA_CORE_API TopologyElementHandler< Quad >
 
template class SOFA_CORE_API TopologyElementHandler< Tetrahedron >
 
template class SOFA_CORE_API TopologyElementHandler< Hexahedron >
 

Typedef Documentation

Enumeration Type Documentation

The enumeration used to give unique identifiers to TopologyChange objects.

Enumerator
BASE 

For TopologyChange class, should never be used.

ENDING_EVENT 

To notify the end for the current sequence of topological change events.

POINTSINDICESSWAP 

For PointsIndicesSwap class.

POINTSADDED 

For PointsAdded class.

POINTSREMOVED 

For PointsRemoved class.

POINTSMOVED 

For PointsMoved class.

POINTSRENUMBERING 

For PointsRenumbering class.

EDGESINDICESSWAP 

For EdgesIndicesSwap class.

EDGESADDED 

For EdgesAdded class.

EDGESREMOVED 

For EdgesRemoved class.

EDGESMOVED_REMOVING 

For EdgesMoved class (event before changing state).

EDGESMOVED_ADDING 

For EdgesMoved class.

EDGESRENUMBERING 

For EdgesRenumbering class.

TRIANGLESINDICESSWAP 

For TrianglesIndicesSwap class.

TRIANGLESADDED 

For TrianglesAdded class.

TRIANGLESREMOVED 

For TrianglesRemoved class.

TRIANGLESMOVED_REMOVING 

For TrianglesMoved class (event before changing state).

TRIANGLESMOVED_ADDING 

For TrianglesMoved class.

TRIANGLESRENUMBERING 

For TrianglesRenumbering class.

TETRAHEDRAINDICESSWAP 

For TetrahedraIndicesSwap class.

TETRAHEDRAADDED 

For TetrahedraAdded class.

TETRAHEDRAREMOVED 

For TetrahedraRemoved class.

TETRAHEDRAMOVED_REMOVING 

For TetrahedraMoved class (event before changing state).

TETRAHEDRAMOVED_ADDING 

For TetrahedraMoved class.

TETRAHEDRARENUMBERING 

For TetrahedraRenumbering class.

QUADSINDICESSWAP 

For QuadsIndicesSwap class.

QUADSADDED 

For QuadsAdded class.

QUADSREMOVED 

For QuadsRemoved class.

QUADSMOVED_REMOVING 

For QuadsMoved class (event before changing state).

QUADSMOVED_ADDING 

For QuadsMoved class.

QUADSRENUMBERING 

For QuadsRenumbering class.

HEXAHEDRAINDICESSWAP 

For HexahedraIndicesSwap class.

HEXAHEDRAADDED 

For HexahedraAdded class.

HEXAHEDRAREMOVED 

For HexahedraRemoved class.

HEXAHEDRAMOVED_REMOVING 

For HexahedraMoved class (event before changing state).

HEXAHEDRAMOVED_ADDING 

For HexahedraMoved class.

HEXAHEDRARENUMBERING 

For HexahedraRenumbering class.

TOPOLOGYCHANGE_LASTID 

user defined topology changes can start here

The enumeration used to give unique identifiers to Topological objects.

Enumerator
POINT 
EDGE 
TRIANGLE 
QUAD 
TETRAHEDRON 
HEXAHEDRON 
PENTAHEDRON 
PYRAMID 

Function Documentation

int sofa::core::topology::initStaticStructures ( )
SOFA_CORE_API std::ostream & sofa::core::topology::operator<< ( std::ostream &  out,
const TopologyElemID d 
)
SOFA_CORE_API std::ostream & sofa::core::topology::operator<< ( std::ostream &  out,
const PointAncestorElem d 
)
template<int NV>
SOFA_CORE_API std::ostream & sofa::core::topology::operator<< ( std::ostream &  out,
const ElemAncestorElem< NV > &  d 
)
template SOFA_CORE_API std::ostream& sofa::core::topology::operator<< ( std::ostream &  out,
const ElemAncestorElem< 2 > &  d 
)
template SOFA_CORE_API std::ostream& sofa::core::topology::operator<< ( std::ostream &  out,
const ElemAncestorElem< 3 > &  d 
)
template SOFA_CORE_API std::ostream& sofa::core::topology::operator<< ( std::ostream &  out,
const ElemAncestorElem< 4 > &  d 
)
template SOFA_CORE_API std::ostream& sofa::core::topology::operator<< ( std::ostream &  out,
const ElemAncestorElem< 8 > &  d 
)
SOFA_CORE_API std::istream & sofa::core::topology::operator>> ( std::istream &  in,
TopologyElemID  
)
SOFA_CORE_API std::istream & sofa::core::topology::operator>> ( std::istream &  in,
PointAncestorElem  
)
template<int NV>
SOFA_CORE_API std::istream & sofa::core::topology::operator>> ( std::istream &  in,
ElemAncestorElem< NV > &   
)
SOFA_CORE_API TopologyChangeType sofa::core::topology::parseTopologyChangeTypeFromString ( const std::string &  s)
SOFA_CORE_API std::string sofa::core::topology::parseTopologyChangeTypeToString ( TopologyChangeType  t)
SOFA_CORE_API TopologyObjectType sofa::core::topology::parseTopologyObjectTypeFromString ( const std::string &  s)
SOFA_CORE_API std::string sofa::core::topology::parseTopologyObjectTypeToString ( TopologyObjectType  t)

Variable Documentation

class SOFA_CORE_API sofa::core::topology::EdgesAdded
class SOFA_CORE_API sofa::core::topology::EndingEvent
class SOFA_CORE_API sofa::core::topology::PointsAdded
class SOFA_CORE_API sofa::core::topology::PointsMoved
class SOFA_CORE_API sofa::core::topology::QuadsAdded
template class SOFA_CORE_API sofa::core::topology::TopologyElementHandler< Edge >
template class SOFA_CORE_API sofa::core::topology::TopologyElementHandler< Point >
template class SOFA_CORE_API sofa::core::topology::TopologyElementHandler< Quad >
template class SOFA_CORE_API sofa::core::topology::TopologyElementHandler< Triangle >