sofa::component::topology Namespace Reference


Data Structures

class  CubeTopology
class  CylinderGridTopology
class  Edge2QuadTopologicalMapping
 This class, called Edge2QuadTopologicalMapping, is a specific implementation of the interface TopologicalMapping where :. More...
class  EdgeData
 A class for storing Edge related data. More...
class  BasicArrayInterface
 A class used as an interface with an array : Useful to compute geometric information on each edge in an efficient way. More...
class  EdgeSetGeometryAlgorithms
 A class that provides geometry information on an EdgeSet. More...
class  EdgeSetTopologyAlgorithms
 A class that performs topology algorithms on an EdgeSet. More...
class  EdgesAdded
 indicates that some edges were added More...
class  EdgesRemoved
 indicates that some edges are about to be removed More...
class  EdgeSetTopologyContainer
 a class that stores a set of edges and provides access to the adjacency between points and edges More...
class  EdgeSetTopologyModifier
 A class that can apply basic transformations on a set of edges. More...
class  EdgeSubsetData
 A class for storing Edge related data. More...
class  GridTopology
class  Hexa2QuadTopologicalMapping
 This class, called Hexa2QuadTopologicalMapping, is a specific implementation of the interface TopologicalMapping where :. More...
class  HexahedronData
 A class for storing Hexahedron related data. More...
class  HexahedronSetGeometryAlgorithms
 A class that provides geometry information on an HexahedronSet. More...
class  HexahedronSetTopologyAlgorithms
 A class that performs topology algorithms on an HexahedronSet. More...
class  HexahedraAdded
 indicates that some hexahedra were added More...
class  HexahedraRemoved
 indicates that some hexahedra are about to be removed More...
class  HexahedronSetTopologyContainer
 a class that stores a set of hexahedra and provides access with adjacent quads, edges and vertices More...
class  HexahedronSetTopologyModifier
 A class that modifies the topology by adding and removing hexahedra. More...
class  ManifoldEdgeSetGeometryAlgorithms
 A class that provides geometry information on an ManifoldEdgeSet. More...
class  ManifoldEdgeSetTopologyAlgorithms
 A class that performs topology algorithms on an ManifoldEdgeSet. More...
class  ManifoldEdgeSetTopologyContainer
 a class that stores a set of edges and provides access to the adjacency between points and edges. More...
class  ManifoldEdgeSetTopologyModifier
 A class that can apply basic transformations on a set of points. More...
class  MeshTopology
class  MultiResSparseGridTopology
class  PointData
 A class for storing point related data. More...
class  PointSetGeometryAlgorithms
 A class that can perform some geometric computation on a set of points. More...
class  PointSetTopologyAlgorithms
 A class that performs complex algorithms on a PointSet. More...
class  PointsIndicesSwap
 indicates that the indices of two points are being swapped More...
class  PointsAdded
 indicates that some points were added More...
class  PointsRemoved
 indicates that some points are about to be removed More...
class  PointsRenumbering
 indicates that the indices of all points have been renumbered More...
class  PointSetTopologyContainer
 The container class that stores a set of points and provides access to each point. More...
class  PointSetTopologyModifier
 A class that can apply basic topology transformations on a set of points. More...
class  PointSubset
 A class for storing indices of points as to define a subset of the DOFs. More...
class  Quad2TriangleTopologicalMapping
 This class, called Quad2TriangleTopologicalMapping, is a specific implementation of the interface TopologicalMapping where :. More...
class  QuadData
 A class for storing Quad related data. More...
class  QuadSetGeometryAlgorithms
 A class that provides geometry information on an QuadSet. More...
class  QuadSetTopologyAlgorithms
 A class that performs topology algorithms on an QuadSet. More...
class  QuadsAdded
 indicates that some quads were added More...
class  QuadsRemoved
 indicates that some quads are about to be removed More...
class  QuadSetTopologyContainer
 Object that stores a set of quads and provides access to each quad and its edges and vertices. More...
class  QuadSetTopologyModifier
 A class that modifies the topology by adding and removing quads. More...
class  RegularGridTopology
class  SparseGridTopology
 A sparse grid topology. More...
class  Tetra2TriangleTopologicalMapping
 This class, called Tetra2TriangleTopologicalMapping, is a specific implementation of the interface TopologicalMapping where :. More...
class  TetrahedronData
 A class for storing Tetrahedron related data. More...
class  TetrahedronSetGeometryAlgorithms
 A class that provides geometry information on an TetrahedronSet. More...
class  TetrahedronSetTopologyAlgorithms
 A class that performs topology algorithms on an TetrahedronSet. More...
class  TetrahedraAdded
 indicates that some tetrahedra were added More...
class  TetrahedraRemoved
 indicates that some tetrahedra are about to be removed More...
class  TetrahedronSetTopologyContainer
 a class that stores a set of tetrahedra and provides access with adjacent triangles, edges and vertices More...
class  TetrahedronSetTopologyModifier
 A class that modifies the topology by adding and removing tetrahedra. More...
class  TopologyChangedEvent
class  Triangle2EdgeTopologicalMapping
 This class, called Triangle2EdgeTopologicalMapping, is a specific implementation of the interface TopologicalMapping where :. More...
class  TriangleData
 A class for storing Triangle related data. More...
class  TriangleSetGeometryAlgorithms
 A class that provides geometry information on an TriangleSet. More...
class  TriangleSetTopologyAlgorithms
 A class that performs topology algorithms on an TriangleSet. More...
class  TrianglesAdded
 indicates that some triangles were added More...
class  TrianglesRemoved
 indicates that some triangles are about to be removed More...
class  TriangleSetTopologyContainer
 Object that stores a set of triangles and provides access to each triangle and its edges and vertices. More...
class  TriangleSetTopologyModifier
 A class that modifies the topology by adding and removing triangles. More...
class  TriangleSubsetData
 A class for storing Triangle related data. More...

Typedefs

typedef
core::componentmodel::topology::BaseMeshTopology::Triangle 
Triangle
typedef BaseMeshTopology::Edge Edge
typedef BaseMeshTopology::EdgeID EdgeID
typedef BaseMeshTopology::SeqEdges SeqEdges
typedef
BaseMeshTopology::VertexEdges 
VertexEdges
typedef BaseMeshTopology::PointID PointID
typedef BaseMeshTopology::Hexa Hexa
typedef Hexa Hexahedron
typedef BaseMeshTopology::HexaID HexaID
typedef BaseMeshTopology::SeqHexas SeqHexas
typedef
BaseMeshTopology::VertexHexas 
VertexHexas
typedef BaseMeshTopology::EdgeHexas EdgeHexas
typedef BaseMeshTopology::QuadHexas QuadHexas
typedef BaseMeshTopology::HexaEdges HexaEdges
typedef BaseMeshTopology::HexaQuads HexaQuads
typedef HexaEdges HexahedronEdges
typedef HexaQuads HexahedronQuads
typedef
BaseMeshTopology::TriangleID 
QuadID
typedef BaseMeshTopology::Quad Quad
typedef BaseMeshTopology In
 Input Topology.
typedef BaseMeshTopology Out
 Output Topology.
typedef BaseMeshTopology::SeqQuads SeqQuads
typedef
BaseMeshTopology::VertexQuads 
VertexQuads
typedef BaseMeshTopology::EdgeQuads EdgeQuads
typedef BaseMeshTopology::QuadEdges QuadEdges
typedef BaseMeshTopology::Tetra Tetra
typedef Tetra Tetrahedron
typedef BaseMeshTopology::TetraID TetraID
typedef BaseMeshTopology::SeqTetras SeqTetras
typedef
BaseMeshTopology::VertexTetras 
VertexTetras
typedef
BaseMeshTopology::EdgeTetras 
EdgeTetras
typedef
BaseMeshTopology::TriangleTetras 
TriangleTetras
typedef
BaseMeshTopology::TetraEdges 
TetraEdges
typedef
BaseMeshTopology::TetraTriangles 
TetraTriangles
typedef TetraEdges TetrahedronEdges
typedef TetraTriangles TetrahedronTriangles
typedef
BaseMeshTopology::TriangleID 
TriangleID
typedef
BaseMeshTopology::SeqTriangles 
SeqTriangles
typedef
BaseMeshTopology::VertexTriangles 
VertexTriangles
typedef
BaseMeshTopology::EdgeTriangles 
EdgeTriangles
typedef
BaseMeshTopology::TriangleEdges 
TriangleEdges

Functions

template<typename T >
void ed_basicCreateFunc (int, void *, T &t, const Edge &, const sofa::helper::vector< unsigned int > &, const sofa::helper::vector< double > &)
 Basic creation function for element of type T : simply calls default constructor.
template<typename T >
void ed_basicDestroyFunc (int, void *, T &)
 Basic destruction function for element of type T : does nothing.
template<typename T >
void ed_basicCreateFunc (unsigned int, void *, T &t, const Edge &, const std::vector< unsigned int > &, const std::vector< double > &)
 Basic creation function for element of type T : simply calls default constructor.
template<typename T >
void ed_basicDestroyFunc (unsigned int, void *, T &)
 Basic destruction function for element of type T : does nothing.
template<typename T >
void td_basicCreateFunc (int, void *, T &t, const Hexahedron &, const sofa::helper::vector< unsigned int > &, const sofa::helper::vector< double > &)
 Basic creation function for element of type T : simply calls default constructor.
template<typename T >
void hd_basicDestroyFunc (int, void *, T &)
 Basic destruction function for element of type T : does nothing.
template<typename real >
real tripleProduct (const Vec< 3, real > &a, const Vec< 3, real > &b, const Vec< 3, real > &c)
 Cross product for 3-elements vectors.
template<typename real >
real tripleProduct (const Vec< 2, real > &, const Vec< 2, real > &, const Vec< 2, real > &)
 area from 2-elements vectors.
template<typename real >
real tripleProduct (const Vec< 1, real > &, const Vec< 1, real > &, const Vec< 1, real > &)
 area for 1-elements vectors.
void create (MultiResSparseGridTopology *&obj, simulation::tree::xml::ObjectDescription *arg)
template<typename T >
void pd_basicCreateFunc (int, void *, T &t, const sofa::helper::vector< unsigned int > &, const sofa::helper::vector< double > &)
 Basic creation function for element of type T : simply calls default constructor.
template<typename T >
void pd_basicDestroyFunc (int, void *, T &)
 Basic destruction function for element of type T : does nothing.
std::ostream & operator<< (std::ostream &os, const PointSubset &pointSubset)
 Needed to be compliant with Data.
std::istream & operator>> (std::istream &i, PointSubset &pointSubset)
 Needed to be compliant with Data.
bool ps_testNewPointFunc (int, void *, const sofa::helper::vector< unsigned int > &, const sofa::helper::vector< double > &)
 Basic test function for a new element in the point subset : do not accept any new point by returning false.
void ps_removeFunc (int, void *)
 Basic removal function for a point in the array : do nothing.
template<typename T >
void trd_basicCreateFunc (int, void *, T &t, const Quad &, const sofa::helper::vector< unsigned int > &, const sofa::helper::vector< double > &)
 Basic creation function for element of type T : simply calls default constructor.
template<typename T >
void qd_basicDestroyFunc (int, void *, T &)
 Basic destruction function for element of type T : does nothing.
template<class Real >
bool is_point_in_quad (const defaulttype::Vec< 3, Real > &p, const defaulttype::Vec< 3, Real > &a, const defaulttype::Vec< 3, Real > &b, const defaulttype::Vec< 3, Real > &c, const defaulttype::Vec< 3, Real > &d)
void snapping_test_quad (double epsilon, double alpha0, double alpha1, double alpha2, double alpha3, bool &is_snap_0, bool &is_snap_1, bool &is_snap_2, bool &is_snap_3)
template<class Real >
Real areaProduct (const Vec< 3, Real > &a, const Vec< 3, Real > &b)
 Cross product for 3-elements vectors.
template<class Real >
Real areaProduct (const defaulttype::Vec< 2, Real > &a, const defaulttype::Vec< 2, Real > &b)
 area from 2-elements vectors.
template<class Real >
Real areaProduct (const defaulttype::Vec< 1, Real > &, const defaulttype::Vec< 1, Real > &)
 area for 1-elements vectors.
template<typename T >
void td_basicDestroyFunc (int, void *, T &)
 Basic destruction function for element of type T : does nothing.
template<typename T >
void trd_basicDestroyFunc (int, void *, T &)
 Basic destruction function for element of type T : does nothing.
template<class Real >
bool is_point_in_triangle (const Vec< 3, Real > &p, const Vec< 3, Real > &a, const Vec< 3, Real > &b, const Vec< 3, Real > &c)
 Test for REAL if a point p is in a triangle indexed by (a,b,c).
template<class Real >
bool is_point_in_halfplane (const Vec< 3, Real > &p, unsigned int e0, unsigned int e1, const Vec< 3, Real > &a, const Vec< 3, Real > &b, const Vec< 3, Real > &c, unsigned int ind_p0, unsigned int ind_p1, unsigned int ind_p2)
 Test if a point p is in the right halfplane.
void snapping_test_triangle (double epsilon, double alpha0, double alpha1, double alpha2, bool &is_snap_0, bool &is_snap_1, bool &is_snap_2)
void snapping_test_edge (double epsilon, double alpha0, double alpha1, bool &is_snap_0, bool &is_snap_1)
template<typename T >
void tsd_basicCreateFunc (unsigned int, void *, T &t, const Triangle &, const std::vector< unsigned int > &, const std::vector< double > &)
 Basic creation function for element of type T : simply calls default constructor.
template<typename T >
void tsd_basicDestroyFunc (unsigned int, void *, T &)
 Basic destruction function for element of type T : does nothing.

Variables

int CubeTopologyClass
int CylinderGridTopologyClass
int Edge2QuadTopologicalMappingClass
int EdgeSetGeometryAlgorithmsClass
int EdgeSetTopologyAlgorithmsClass
int EdgeSetTopologyContainerClass
int EdgeSetTopologyModifierClass
int GridTopologyClass
int Hexa2QuadTopologicalMappingClass
int HexahedronSetGeometryAlgorithmsClass
int HexahedronSetTopologyAlgorithmsClass
int HexahedronSetTopologyContainerClass
const unsigned int hexahedronEdgeArray [12][2] = {{0,1},{0,3},{0,4},{1,2},{1,5},{2,3},{2,6},{3,7},{4,5},{4,7},{5,6},{6,7}}
int HexahedronSetTopologyModifierClass
int ManifoldEdgeSetGeometryAlgorithmsClass
int ManifoldEdgeSetTopologyAlgorithmsClass
int ManifoldEdgeSetTopologyContainerClass
int ManifoldEdgeSetTopologyModifierClass
int MeshTopologyClass
helper::Creator
< simulation::tree::xml::ObjectFactory,
MultiResSparseGridTopology > 
MultiResSparseGridTopologyClass ("MultiResSparseGridTopology")
int PointSetGeometryAlgorithmsClass
int PointSetTopologyAlgorithmsClass
int PointSetTopologyContainerClass
int PointSetTopologyModifierClass
int Quad2TriangleTopologicalMappingClass
int QuadSetGeometryAlgorithmsClass
int QuadSetTopologyAlgorithmsClass
int QuadSetTopologyContainerClass
int QuadSetTopologyModifierClass
int RegularGridTopologyClass
int SparseGridTopologyClass
int Tetra2TriangleTopologicalMappingClass
int TetrahedronSetGeometryAlgorithmsClass
int TetrahedronSetTopologyAlgorithmsClass
int TetrahedronSetTopologyContainerClass
const unsigned int tetrahedronEdgeArray [6][2] = {{0,1}, {0,2}, {0,3}, {1,2}, {1,3}, {2,3}}
int TetrahedronSetTopologyModifierClass
int Triangle2EdgeTopologicalMappingClass
int TriangleSetGeometryAlgorithmsClass
int TriangleSetTopologyAlgorithmsClass
int TriangleSetTopologyContainerClass
int TriangleSetTopologyModifierClass

Typedef Documentation

Definition at line 40 of file EdgeData.h.

Definition at line 41 of file HexahedronSetGeometryAlgorithms.h.

Definition at line 52 of file EdgeSetGeometryAlgorithms.h.

Definition at line 41 of file QuadSetGeometryAlgorithms.h.

Definition at line 43 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 43 of file TriangleSetGeometryAlgorithms.h.

Definition at line 41 of file HexahedronData.h.

Definition at line 43 of file HexahedronSetGeometryAlgorithms.h.

Definition at line 42 of file HexahedronData.h.

Definition at line 47 of file HexahedronSetGeometryAlgorithms.h.

Definition at line 48 of file HexahedronSetGeometryAlgorithms.h.

Definition at line 37 of file HexahedronSetGeometryAlgorithms.h.

Definition at line 44 of file HexahedronSetGeometryAlgorithms.h.

Input Topology.

Definition at line 59 of file Quad2TriangleTopologicalMapping.cpp.

Output Topology.

Definition at line 61 of file Quad2TriangleTopologicalMapping.cpp.

Definition at line 40 of file EdgeSetTopologyContainer.h.

Definition at line 61 of file HexahedronSetTopologyContainer.h.

Definition at line 42 of file QuadSetGeometryAlgorithms.h.

Definition at line 42 of file HexahedronSetGeometryAlgorithms.h.

Definition at line 58 of file HexahedronSetTopologyContainer.h.

Definition at line 54 of file EdgeSetGeometryAlgorithms.h.

Definition at line 39 of file HexahedronSetGeometryAlgorithms.h.

Definition at line 39 of file QuadSetGeometryAlgorithms.h.

Definition at line 41 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 41 of file TriangleSetGeometryAlgorithms.h.

Definition at line 40 of file TetrahedronData.h.

Definition at line 45 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 41 of file TetrahedronData.h.

Definition at line 49 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 50 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 39 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 46 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 45 of file TriangleOctreeModel.cpp.

Definition at line 44 of file TriangleSetGeometryAlgorithms.h.

Definition at line 44 of file TetrahedronSetTopologyContainer.h.

Definition at line 44 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 55 of file EdgeSetGeometryAlgorithms.h.

Definition at line 40 of file HexahedronSetGeometryAlgorithms.h.

Definition at line 40 of file QuadSetGeometryAlgorithms.h.

Definition at line 42 of file TetrahedronSetGeometryAlgorithms.h.

Definition at line 42 of file TriangleSetGeometryAlgorithms.h.


Function Documentation

template<class Real >
Real sofa::component::topology::areaProduct ( const defaulttype::Vec< 1, Real > &  ,
const defaulttype::Vec< 1, Real > &   
) [inline]

area for 1-elements vectors.

Definition at line 220 of file QuadSetGeometryAlgorithms.inl.

template<class Real >
Real sofa::component::topology::areaProduct ( const defaulttype::Vec< 2, Real > &  a,
const defaulttype::Vec< 2, Real > &  b 
) [inline]

area from 2-elements vectors.

Definition at line 213 of file QuadSetGeometryAlgorithms.inl.

template<class Real >
Real sofa::component::topology::areaProduct ( const defaulttype::Vec< 3, Real > &  a,
const defaulttype::Vec< 3, Real > &  b 
) [inline]

void sofa::component::topology::create ( MultiResSparseGridTopology *&  obj,
simulation::tree::xml::ObjectDescription *  arg 
)

template<typename T >
void sofa::component::topology::ed_basicCreateFunc ( unsigned  int,
void *  ,
T &  t,
const Edge &  ,
const std::vector< unsigned int > &  ,
const std::vector< double > &   
) [inline]

Basic creation function for element of type T : simply calls default constructor.

Definition at line 46 of file EdgeSubsetData.h.

template<typename T >
void sofa::component::topology::ed_basicCreateFunc ( int  ,
void *  ,
T &  t,
const Edge &  ,
const sofa::helper::vector< unsigned int > &  ,
const sofa::helper::vector< double > &   
) [inline]

Basic creation function for element of type T : simply calls default constructor.

Definition at line 46 of file EdgeData.h.

template<typename T >
void sofa::component::topology::ed_basicDestroyFunc ( unsigned  int,
void *  ,
T &   
) [inline]

Basic destruction function for element of type T : does nothing.

Definition at line 60 of file EdgeSubsetData.h.

template<typename T >
void sofa::component::topology::ed_basicDestroyFunc ( int  ,
void *  ,
T &   
) [inline]

Basic destruction function for element of type T : does nothing.

Definition at line 60 of file EdgeData.h.

template<typename T >
void sofa::component::topology::hd_basicDestroyFunc ( int  ,
void *  ,
T &   
) [inline]

Basic destruction function for element of type T : does nothing.

Definition at line 62 of file HexahedronData.h.

template<class Real >
bool sofa::component::topology::is_point_in_halfplane ( const sofa::defaulttype::Vec< 3, Real > &  p,
unsigned int  e0,
unsigned int  e1,
const sofa::defaulttype::Vec< 3, Real > &  a,
const sofa::defaulttype::Vec< 3, Real > &  b,
const sofa::defaulttype::Vec< 3, Real > &  c,
unsigned int  ind_p0,
unsigned int  ind_p1,
unsigned int  ind_p2 
) [inline]

Test if a point p is in the right halfplane.

Definition at line 1448 of file TriangleSetGeometryAlgorithms.inl.

References cross().

template<class Real >
bool sofa::component::topology::is_point_in_quad ( const defaulttype::Vec< 3, Real > &  p,
const defaulttype::Vec< 3, Real > &  a,
const defaulttype::Vec< 3, Real > &  b,
const defaulttype::Vec< 3, Real > &  c,
const defaulttype::Vec< 3, Real > &  d 
) [inline]

template<class Real >
bool sofa::component::topology::is_point_in_triangle ( const sofa::defaulttype::Vec< 3, Real > &  p,
const sofa::defaulttype::Vec< 3, Real > &  a,
const sofa::defaulttype::Vec< 3, Real > &  b,
const sofa::defaulttype::Vec< 3, Real > &  c 
) [inline]

Test for REAL if a point p is in a triangle indexed by (a,b,c).

Definition at line 1406 of file TriangleSetGeometryAlgorithms.inl.

References cross().

std::ostream & sofa::component::topology::operator<< ( std::ostream &  os,
const PointSubset &  pointSubset 
)

Needed to be compliant with Data.

Needed to be compliant with Datas.

Definition at line 199 of file PointSubset.cpp.

References sofa::component::topology::PointSubset::m_subset, and sofa::helper::vector< T, Alloc >::write().

std::istream & sofa::component::topology::operator>> ( std::istream &  i,
PointSubset &  pointSubset 
)

Needed to be compliant with Data.

Needed to be compliant with Datas.

Definition at line 205 of file PointSubset.cpp.

References sofa::component::topology::PointSubset::m_subset, and sofa::helper::vector< T, Alloc >::read().

template<typename T >
void sofa::component::topology::pd_basicCreateFunc ( int  ,
void *  ,
T &  t,
const sofa::helper::vector< unsigned int > &  ,
const sofa::helper::vector< double > &   
) [inline]

Basic creation function for element of type T : simply calls default constructor.

Definition at line 46 of file PointData.h.

template<typename T >
void sofa::component::topology::pd_basicDestroyFunc ( int  ,
void *  ,
T &   
) [inline]

Basic destruction function for element of type T : does nothing.

Definition at line 58 of file PointData.h.

void sofa::component::topology::ps_removeFunc ( int  ,
void *   
) [inline]

Basic removal function for a point in the array : do nothing.

Definition at line 55 of file PointSubset.h.

bool sofa::component::topology::ps_testNewPointFunc ( int  ,
void *  ,
const sofa::helper::vector< unsigned int > &  ,
const sofa::helper::vector< double > &   
) [inline]

Basic test function for a new element in the point subset : do not accept any new point by returning false.

Definition at line 45 of file PointSubset.h.

template<typename T >
void sofa::component::topology::qd_basicDestroyFunc ( int  ,
void *  ,
T &   
) [inline]

Basic destruction function for element of type T : does nothing.

Definition at line 60 of file QuadData.h.

void sofa::component::topology::snapping_test_edge ( double  epsilon,
double  alpha0,
double  alpha1,
bool &  is_snap_0,
bool &  is_snap_1 
)

void sofa::component::topology::snapping_test_quad ( double  epsilon,
double  alpha0,
double  alpha1,
double  alpha2,
double  alpha3,
bool &  is_snap_0,
bool &  is_snap_1,
bool &  is_snap_2,
bool &  is_snap_3 
)

void sofa::component::topology::snapping_test_triangle ( double  epsilon,
double  alpha0,
double  alpha1,
double  alpha2,
bool &  is_snap_0,
bool &  is_snap_1,
bool &  is_snap_2 
)

template<typename T >
void sofa::component::topology::td_basicCreateFunc ( int  ,
void *  ,
T &  t,
const Hexahedron &  ,
const sofa::helper::vector< unsigned int > &  ,
const sofa::helper::vector< double > &   
) [inline]

Basic creation function for element of type T : simply calls default constructor.

Definition at line 48 of file HexahedronData.h.

template<typename T >
void sofa::component::topology::td_basicDestroyFunc ( int  ,
void *  ,
T &   
) [inline]

Basic destruction function for element of type T : does nothing.

Definition at line 61 of file TetrahedronData.h.

template<typename T >
void sofa::component::topology::trd_basicCreateFunc ( int  ,
void *  ,
T &  t,
const Quad &  ,
const sofa::helper::vector< unsigned int > &  ,
const sofa::helper::vector< double > &   
) [inline]

Basic creation function for element of type T : simply calls default constructor.

Definition at line 46 of file QuadData.h.

template<typename T >
void sofa::component::topology::trd_basicDestroyFunc ( int  ,
void *  ,
T &   
) [inline]

Basic destruction function for element of type T : does nothing.

Definition at line 60 of file TriangleData.h.

template<typename real >
real sofa::component::topology::tripleProduct ( const Vec< 1, real > &  ,
const Vec< 1, real > &  ,
const Vec< 1, real > &   
) [inline]

area for 1-elements vectors.

Definition at line 130 of file HexahedronSetGeometryAlgorithms.inl.

References real.

template<typename real >
real sofa::component::topology::tripleProduct ( const Vec< 2, real > &  ,
const Vec< 2, real > &  ,
const Vec< 2, real > &   
) [inline]

area from 2-elements vectors.

Definition at line 122 of file HexahedronSetGeometryAlgorithms.inl.

References real.

template<typename real >
real sofa::component::topology::tripleProduct ( const Vec< 3, real > &  a,
const Vec< 3, real > &  b,
const Vec< 3, real > &  c 
) [inline]

template<typename T >
void sofa::component::topology::tsd_basicCreateFunc ( unsigned  int,
void *  ,
T &  t,
const Triangle &  ,
const std::vector< unsigned int > &  ,
const std::vector< double > &   
) [inline]

Basic creation function for element of type T : simply calls default constructor.

Definition at line 46 of file TriangleSubsetData.h.

template<typename T >
void sofa::component::topology::tsd_basicDestroyFunc ( unsigned  int,
void *  ,
T &   
) [inline]

Basic destruction function for element of type T : does nothing.

Definition at line 60 of file TriangleSubsetData.h.


Variable Documentation

Initial value:

 core::RegisterObject("Surface of a cube in 3D")
.add< CubeTopology >()

Definition at line 70 of file CubeTopology.cpp.

Initial value:

 core::RegisterObject("Cylinder grid in 3D")
.addAlias("CylinderGrid")
.add< CylinderGridTopology >()

Definition at line 44 of file CylinderGridTopology.cpp.

Initial value:

 core::RegisterObject("Special case of mapping where EdgeSetTopology is converted to QuadSetTopology")
.add< Edge2QuadTopologicalMapping >()

Definition at line 66 of file Edge2QuadTopologicalMapping.cpp.

Initial value:

 core::RegisterObject("Edge set geometry algorithms")




    .add< EdgeSetGeometryAlgorithms<Vec3dTypes> >(true) 

    .add< EdgeSetGeometryAlgorithms<Vec3fTypes> >() 



    .add< EdgeSetGeometryAlgorithms<Vec2dTypes> >()
    .add< EdgeSetGeometryAlgorithms<Vec1dTypes> >()
    .add< EdgeSetGeometryAlgorithms<Rigid3dTypes> >()
    .add< EdgeSetGeometryAlgorithms<Rigid2dTypes> >()


    .add< EdgeSetGeometryAlgorithms<Vec2fTypes> >()
    .add< EdgeSetGeometryAlgorithms<Vec1fTypes> >()
    .add< EdgeSetGeometryAlgorithms<Rigid3fTypes> >()
    .add< EdgeSetGeometryAlgorithms<Rigid2fTypes> >()

Definition at line 41 of file EdgeSetGeometryAlgorithms.cpp.

Initial value:

 core::RegisterObject("Edge set topology algorithms")



    .add< EdgeSetTopologyAlgorithms<Vec3dTypes> >(true) 

    .add< EdgeSetTopologyAlgorithms<Vec3fTypes> >() 



    .add< EdgeSetTopologyAlgorithms<Vec2dTypes> >()
    .add< EdgeSetTopologyAlgorithms<Vec1dTypes> >()
    .add< EdgeSetTopologyAlgorithms<Rigid3dTypes> >()
    .add< EdgeSetTopologyAlgorithms<Rigid2dTypes> >()


    .add< EdgeSetTopologyAlgorithms<Vec2fTypes> >()
    .add< EdgeSetTopologyAlgorithms<Vec1fTypes> >()
    .add< EdgeSetTopologyAlgorithms<Rigid3fTypes> >()
    .add< EdgeSetTopologyAlgorithms<Rigid2fTypes> >()

Definition at line 43 of file EdgeSetTopologyAlgorithms.cpp.

Initial value:

 core::RegisterObject("Edge set topology container")
      .add< EdgeSetTopologyContainer >()

Definition at line 55 of file EdgeSetTopologyContainer.cpp.

Initial value:

 core::RegisterObject("Edge set topology modifier")
      .add< EdgeSetTopologyModifier >()

Definition at line 57 of file EdgeSetTopologyModifier.cpp.

Initial value:

 core::RegisterObject("Base class fo a regular grid in 3D")
.addAlias("Grid")
.add< GridTopology >()

Definition at line 39 of file GridTopology.cpp.

Initial value:

 core::RegisterObject("Special case of mapping where HexahedronSetTopology is converted to QuadSetTopology")
.add< Hexa2QuadTopologicalMapping >()

Definition at line 60 of file Hexa2QuadTopologicalMapping.cpp.

const unsigned int sofa::component::topology::hexahedronEdgeArray = {{0,1},{0,3},{0,4},{1,2},{1,5},{2,3},{2,6},{3,7},{4,5},{4,7},{5,6},{6,7}}

Initial value:

 core::RegisterObject("Hexahedron set geometry algorithms")



    .add< HexahedronSetGeometryAlgorithms<Vec3dTypes> >(true) 

    .add< HexahedronSetGeometryAlgorithms<Vec3fTypes> >() 



    .add< HexahedronSetGeometryAlgorithms<Vec2dTypes> >()
    .add< HexahedronSetGeometryAlgorithms<Vec1dTypes> >()


    .add< HexahedronSetGeometryAlgorithms<Vec2fTypes> >()
    .add< HexahedronSetGeometryAlgorithms<Vec1fTypes> >()

Definition at line 40 of file HexahedronSetGeometryAlgorithms.cpp.

Initial value:

 core::RegisterObject("Hexahedron set topology algorithms")



    .add< HexahedronSetTopologyAlgorithms<Vec3dTypes> >(true) 

    .add< HexahedronSetTopologyAlgorithms<Vec3fTypes> >() 



    .add< HexahedronSetTopologyAlgorithms<Vec2dTypes> >()
    .add< HexahedronSetTopologyAlgorithms<Vec1dTypes> >()


    .add< HexahedronSetTopologyAlgorithms<Vec2fTypes> >()
    .add< HexahedronSetTopologyAlgorithms<Vec1fTypes> >()

Definition at line 39 of file HexahedronSetTopologyAlgorithms.cpp.

Initial value:

 core::RegisterObject("Hexahedron set topology container")
    .add< HexahedronSetTopologyContainer >()

Definition at line 41 of file HexahedronSetTopologyContainer.cpp.

Initial value:

 core::RegisterObject("Hexahedron set topology modifier")   
    .add< HexahedronSetTopologyModifier >()

Definition at line 40 of file HexahedronSetTopologyModifier.cpp.

Initial value:

 core::RegisterObject("ManifoldEdge set geometry algorithms")



    .add< ManifoldEdgeSetGeometryAlgorithms<Vec3dTypes> >(true) 

    .add< ManifoldEdgeSetGeometryAlgorithms<Vec3fTypes> >() 



    .add< ManifoldEdgeSetGeometryAlgorithms<Vec2dTypes> >()
    .add< ManifoldEdgeSetGeometryAlgorithms<Vec1dTypes> >()
    .add< ManifoldEdgeSetGeometryAlgorithms<Rigid3dTypes> >()
    .add< ManifoldEdgeSetGeometryAlgorithms<Rigid2dTypes> >()


    .add< ManifoldEdgeSetGeometryAlgorithms<Vec2fTypes> >()
    .add< ManifoldEdgeSetGeometryAlgorithms<Vec1fTypes> >()
    .add< ManifoldEdgeSetGeometryAlgorithms<Rigid3fTypes> >()
    .add< ManifoldEdgeSetGeometryAlgorithms<Rigid2fTypes> >()

Definition at line 41 of file ManifoldEdgeSetGeometryAlgorithms.cpp.

Initial value:

 core::RegisterObject("ManifoldEdge set topology algorithms")



    .add< ManifoldEdgeSetTopologyAlgorithms<Vec3dTypes> >(true) 

    .add< ManifoldEdgeSetTopologyAlgorithms<Vec3fTypes> >() 



    .add< ManifoldEdgeSetTopologyAlgorithms<Vec2dTypes> >()
    .add< ManifoldEdgeSetTopologyAlgorithms<Vec1dTypes> >()
    .add< ManifoldEdgeSetTopologyAlgorithms<Rigid3dTypes> >()
    .add< ManifoldEdgeSetTopologyAlgorithms<Rigid2dTypes> >()


    .add< ManifoldEdgeSetTopologyAlgorithms<Vec2fTypes> >()
    .add< ManifoldEdgeSetTopologyAlgorithms<Vec1fTypes> >()
    .add< ManifoldEdgeSetTopologyAlgorithms<Rigid3fTypes> >()
    .add< ManifoldEdgeSetTopologyAlgorithms<Rigid2fTypes> >()

Definition at line 42 of file ManifoldEdgeSetTopologyAlgorithms.cpp.

Initial value:

 core::RegisterObject("ManifoldEdge set topology container")
    .add< ManifoldEdgeSetTopologyContainer >()

Definition at line 55 of file ManifoldEdgeSetTopologyContainer.cpp.

Initial value:

 core::RegisterObject("ManifoldEdge set topology modifier") 
    .add< ManifoldEdgeSetTopologyModifier >()

Definition at line 43 of file ManifoldEdgeSetTopologyModifier.cpp.

Initial value:

 core::RegisterObject("Generic mesh topology")
.addAlias("Mesh")
.add< MeshTopology >()

Definition at line 51 of file MeshTopology.cpp.

Initial value:

 core::RegisterObject("Point set geometry algorithms")



    .add< PointSetGeometryAlgorithms<Vec3dTypes> >(true) 

    .add< PointSetGeometryAlgorithms<Vec3fTypes> >() 



    .add< PointSetGeometryAlgorithms<Vec2dTypes> >()
    .add< PointSetGeometryAlgorithms<Vec1dTypes> >()


    .add< PointSetGeometryAlgorithms<Vec2fTypes> >()
    .add< PointSetGeometryAlgorithms<Vec1fTypes> >()

Definition at line 38 of file PointSetGeometryAlgorithms.cpp.

Initial value:

 core::RegisterObject("Point set topology algorithms")



    .add< PointSetTopologyAlgorithms<Vec3dTypes> >(true) 

    .add< PointSetTopologyAlgorithms<Vec3fTypes> >() 



    .add< PointSetTopologyAlgorithms<Vec2dTypes> >()
    .add< PointSetTopologyAlgorithms<Vec1dTypes> >()


    .add< PointSetTopologyAlgorithms<Vec2fTypes> >()
    .add< PointSetTopologyAlgorithms<Vec1fTypes> >()

Definition at line 40 of file PointSetTopologyAlgorithms.cpp.

Initial value:

 core::RegisterObject("Point set topology container")
.add< PointSetTopologyContainer >()

Definition at line 43 of file PointSetTopologyContainer.cpp.

Initial value:

 core::RegisterObject("Point set topology modifier")    
    .add< PointSetTopologyModifier >()

Definition at line 41 of file PointSetTopologyModifier.cpp.

Initial value:

 core::RegisterObject("Special case of mapping where QuadSetTopology is converted to TriangleSetTopology")
.add< Quad2TriangleTopologicalMapping >()

Definition at line 66 of file Quad2TriangleTopologicalMapping.cpp.

Initial value:

 core::RegisterObject("Quad set geometry algorithms")



    .add< QuadSetGeometryAlgorithms<Vec3dTypes> >(true) 

    .add< QuadSetGeometryAlgorithms<Vec3fTypes> >() 



    .add< QuadSetGeometryAlgorithms<Vec2dTypes> >()
    .add< QuadSetGeometryAlgorithms<Vec1dTypes> >()


    .add< QuadSetGeometryAlgorithms<Vec2fTypes> >()
    .add< QuadSetGeometryAlgorithms<Vec1fTypes> >()

Definition at line 40 of file QuadSetGeometryAlgorithms.cpp.

Initial value:

 core::RegisterObject("Quad set topology algorithms")



    .add< QuadSetTopologyAlgorithms<Vec3dTypes> >(true) 

    .add< QuadSetTopologyAlgorithms<Vec3fTypes> >() 



    .add< QuadSetTopologyAlgorithms<Vec2dTypes> >()
    .add< QuadSetTopologyAlgorithms<Vec1dTypes> >()


    .add< QuadSetTopologyAlgorithms<Vec2fTypes> >()
    .add< QuadSetTopologyAlgorithms<Vec1fTypes> >()

Definition at line 40 of file QuadSetTopologyAlgorithms.cpp.

Initial value:

 core::RegisterObject("Quad set topology container")
    .add< QuadSetTopologyContainer >()

Definition at line 42 of file QuadSetTopologyContainer.cpp.

Initial value:

 core::RegisterObject("Quad set topology modifier") 
    .add< QuadSetTopologyModifier >()

Definition at line 40 of file QuadSetTopologyModifier.cpp.

Initial value:

 core::RegisterObject("Regular grid in 3D")
.addAlias("RegularGrid")
.add< RegularGridTopology >()

Definition at line 71 of file RegularGridTopology.cpp.

Initial value:

 core::RegisterObject("Sparse grid in 3D")
                                    .addAlias("SparseGrid")
                                    .add< SparseGridTopology >()

Definition at line 55 of file SparseGridTopology.cpp.

Initial value:

 core::RegisterObject("Special case of mapping where TetrahedronSetTopology is converted to TriangleSetTopology")
.add< Tetra2TriangleTopologicalMapping >()

Definition at line 60 of file Tetra2TriangleTopologicalMapping.cpp.

const unsigned int sofa::component::topology::tetrahedronEdgeArray = {{0,1}, {0,2}, {0,3}, {1,2}, {1,3}, {2,3}}

Initial value:

 core::RegisterObject("Tetrahedron set geometry algorithms")



    .add< TetrahedronSetGeometryAlgorithms<Vec3dTypes> >(true) 

    .add< TetrahedronSetGeometryAlgorithms<Vec3fTypes> >() 



    .add< TetrahedronSetGeometryAlgorithms<Vec2dTypes> >()
    .add< TetrahedronSetGeometryAlgorithms<Vec1dTypes> >()


    .add< TetrahedronSetGeometryAlgorithms<Vec2fTypes> >()
    .add< TetrahedronSetGeometryAlgorithms<Vec1fTypes> >()

Definition at line 40 of file TetrahedronSetGeometryAlgorithms.cpp.

Initial value:

 core::RegisterObject("Tetrahedron set topology algorithms")



    .add< TetrahedronSetTopologyAlgorithms<Vec3dTypes> >(true) 

    .add< TetrahedronSetTopologyAlgorithms<Vec3fTypes> >() 



    .add< TetrahedronSetTopologyAlgorithms<Vec2dTypes> >()
    .add< TetrahedronSetTopologyAlgorithms<Vec1dTypes> >()


    .add< TetrahedronSetTopologyAlgorithms<Vec2fTypes> >()
    .add< TetrahedronSetTopologyAlgorithms<Vec1fTypes> >()

Definition at line 42 of file TetrahedronSetTopologyAlgorithms.cpp.

Initial value:

 core::RegisterObject("Tetrahedron set topology container")
    .add< TetrahedronSetTopologyContainer >()

Definition at line 43 of file TetrahedronSetTopologyContainer.cpp.

Initial value:

 core::RegisterObject("Tetrahedron set topology modifier")  
    .add< TetrahedronSetTopologyModifier >()

Definition at line 42 of file TetrahedronSetTopologyModifier.cpp.

Initial value:

 core::RegisterObject("Special case of mapping where TriangleSetTopology is converted to EdgeSetTopology")
.add< Triangle2EdgeTopologicalMapping >()

Definition at line 60 of file Triangle2EdgeTopologicalMapping.cpp.

Initial value:

 core::RegisterObject("Triangle set geometry algorithms")



    .add< TriangleSetGeometryAlgorithms<Vec3dTypes> >(true) 

    .add< TriangleSetGeometryAlgorithms<Vec3fTypes> >() 



    .add< TriangleSetGeometryAlgorithms<Vec2dTypes> >()
    .add< TriangleSetGeometryAlgorithms<Vec1dTypes> >()


    .add< TriangleSetGeometryAlgorithms<Vec2fTypes> >()
    .add< TriangleSetGeometryAlgorithms<Vec1fTypes> >()

Definition at line 40 of file TriangleSetGeometryAlgorithms.cpp.

Initial value:

 core::RegisterObject("Triangle set topology algorithms")



    .add< TriangleSetTopologyAlgorithms<Vec3dTypes> >(true) 

    .add< TriangleSetTopologyAlgorithms<Vec3fTypes> >() 



    .add< TriangleSetTopologyAlgorithms<Vec2dTypes> >()
    .add< TriangleSetTopologyAlgorithms<Vec1dTypes> >()


    .add< TriangleSetTopologyAlgorithms<Vec2fTypes> >()
    .add< TriangleSetTopologyAlgorithms<Vec1fTypes> >()

Definition at line 41 of file TriangleSetTopologyAlgorithms.cpp.

Initial value:

 core::RegisterObject("Triangle set topology container")
    .add< TriangleSetTopologyContainer >()

Definition at line 44 of file TriangleSetTopologyContainer.cpp.

Initial value:

 core::RegisterObject("Triangle set topology modifier") 
    .add< TriangleSetTopologyModifier >()

Definition at line 42 of file TriangleSetTopologyModifier.cpp.


Generated on Sun Nov 23 04:21:21 2008 for Sofa by  doxygen 1.5.7.1