Functions | |
template<class Real > | |
Real | areaProduct (const sofa::type::Vec< 3, Real > &a, const sofa::type::Vec< 3, Real > &b) |
Cross product for 3-elements Vectors. More... | |
template<class Real > | |
Real | areaProduct (const type::Vec< 2, Real > &a, const type::Vec< 2, Real > &b) |
area for 2-elements sofa::type::vectors. More... | |
template<class Real > | |
Real | areaProduct (const type::Vec< 1, Real > &, const type::Vec< 1, Real > &) |
area invalid for 1-elements sofa::type::vectors. More... | |
template<class Real > | |
type::Vec< 2, Real > | ortho (const type::Vec< 2, Real > &in) |
orthogonal of a 2D vector More... | |
template<class Real > | |
type::Vec< 2, Real > | cross (const type::Vec< 2, Real > &, const type::Vec< 2, Real > &) |
cross product for 2-elements sofa::type::vectors. More... | |
template<class Real > | |
type::Vec< 1, Real > | cross (const type::Vec< 1, Real > &, const type::Vec< 1, Real > &) |
cross product for 1-elements sofa::type::vectors. More... | |
template<typename real > | |
real | tripleProduct (const sofa::type::Vec< 3, real > &a, const sofa::type::Vec< 3, real > &b, const sofa::type::Vec< 3, real > &c) |
Volume (triple product) for 3-elements sofa::type::vectors. More... | |
template<typename real > | |
real | tripleProduct (const sofa::type::Vec< 2, real > &, const sofa::type::Vec< 2, real > &, const sofa::type::Vec< 2, real > &) |
Volume invalid for 2-elements sofa::type::vectors. More... | |
template<typename real > | |
real | tripleProduct (const sofa::type::Vec< 1, real > &, const sofa::type::Vec< 1, real > &, const sofa::type::Vec< 1, real > &) |
Volume invalid for 1-elements sofa::type::vectors. More... | |
size_t | lfactorial (size_t n) |
this function is only valid for small value of n which should be sufficient for a regular use. More... | |
template<class Real > | |
Real | binomial (const size_t p, const size_t q) |
template<class Real > | |
Real | multinomial (const size_t n, type::vector< unsigned char > valArray) |
template<size_t N, class Real > | |
Real | multinomial (const size_t n, const sofa::type::Vec< N, unsigned char > tbi) |
template<size_t N, class Real > | |
Real | multinomialVector (const sofa::type::vector< sofa::type::Vec< N, unsigned char > > tbiArray) |
template<size_t N, class Real > | |
Real | binomialVector (const sofa::type::Vec< N, unsigned char > tbi1, const sofa::type::Vec< N, unsigned char > tbi2) |
void | registerDynamicSparseGridGeometryAlgorithms (sofa::core::ObjectFactory *factory) |
void | registerDynamicSparseGridTopologyContainer (sofa::core::ObjectFactory *factory) |
void | registerDynamicSparseGridTopologyModifier (sofa::core::ObjectFactory *factory) |
void | registerEdgeSetGeometryAlgorithms (sofa::core::ObjectFactory *factory) |
void | registerEdgeSetTopologyContainer (sofa::core::ObjectFactory *factory) |
void | registerEdgeSetTopologyModifier (sofa::core::ObjectFactory *factory) |
SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API std::ostream & | operator<< (std::ostream &out, const TetrahedronSetTopologyContainer &t) |
SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API std::istream & | operator>> (std::istream &in, TetrahedronSetTopologyContainer &t) |
void | registerHexahedronSetGeometryAlgorithms (sofa::core::ObjectFactory *factory) |
void | registerHexahedronSetTopologyContainer (sofa::core::ObjectFactory *factory) |
void | registerHexahedronSetTopologyModifier (sofa::core::ObjectFactory *factory) |
void | registerMultilevelHexahedronSetTopologyContainer (sofa::core::ObjectFactory *factory) |
void | registerPointSetGeometryAlgorithms (sofa::core::ObjectFactory *factory) |
void | registerPointSetTopologyContainer (sofa::core::ObjectFactory *factory) |
void | registerPointSetTopologyModifier (sofa::core::ObjectFactory *factory) |
void | registerQuadSetGeometryAlgorithms (sofa::core::ObjectFactory *factory) |
void | registerQuadSetTopologyContainer (sofa::core::ObjectFactory *factory) |
void | registerQuadSetTopologyModifier (sofa::core::ObjectFactory *factory) |
void | registerTetrahedronSetGeometryAlgorithms (sofa::core::ObjectFactory *factory) |
void | registerTetrahedronSetTopologyContainer (sofa::core::ObjectFactory *factory) |
void | registerTetrahedronSetTopologyModifier (sofa::core::ObjectFactory *factory) |
void | registerTriangleSetGeometryAlgorithms (sofa::core::ObjectFactory *factory) |
void | registerTriangleSetTopologyContainer (sofa::core::ObjectFactory *factory) |
void | registerTriangleSetTopologyModifier (sofa::core::ObjectFactory *factory) |
SOFA_EXPORT_DYNAMIC_LIBRARY void | initExternalModule () |
SOFA_EXPORT_DYNAMIC_LIBRARY const char * | getModuleName () |
SOFA_EXPORT_DYNAMIC_LIBRARY const char * | getModuleVersion () |
SOFA_EXPORT_DYNAMIC_LIBRARY void | registerObjects (sofa::core::ObjectFactory *factory) |
void | init () |
template<class Coord > | |
bool | is_point_in_quad (const Coord &p, const Coord &a, const Coord &b, const Coord &c, const Coord &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) |
void SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | snapping_test_triangle (SReal epsilon, SReal alpha0, SReal alpha1, SReal alpha2, bool &is_snap_0, bool &is_snap_1, bool &is_snap_2) |
void SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | snapping_test_edge (SReal epsilon, SReal alpha0, SReal alpha1, bool &is_snap_0, bool &is_snap_1) |
template<class Real > | |
bool | is_point_in_triangle (const sofa::type::Vec< 3, Real > &p, const sofa::type::Vec< 3, Real > &a, const sofa::type::Vec< 3, Real > &b, const sofa::type::Vec< 3, Real > &c) |
template<class Real > | |
bool | is_point_in_halfplane (const sofa::type::Vec< 3, Real > &p, unsigned int e0, unsigned int e1, const sofa::type::Vec< 3, Real > &a, const sofa::type::Vec< 3, Real > &b, const sofa::type::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. More... | |
Variables | |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | DynamicSparseGridGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | DynamicSparseGridGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | EdgeSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | EdgeSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | EdgeSetGeometryAlgorithms< Vec1Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | EdgeSetGeometryAlgorithms< Rigid3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | EdgeSetGeometryAlgorithms< Rigid2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | HexahedronSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | HexahedronSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | NumericalIntegrationDescriptor< SReal, 4 > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | NumericalIntegrationDescriptor< SReal, 3 > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | NumericalIntegrationDescriptor< SReal, 1 > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | PointSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | PointSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | PointSetGeometryAlgorithms< Vec1Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | PointSetGeometryAlgorithms< Rigid3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | PointSetGeometryAlgorithms< Rigid2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | QuadSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | QuadSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | TetrahedronSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | TetrahedronSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | TriangleSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API | TriangleSetGeometryAlgorithms< Vec2Types > |
const size_t | permutation3 [6][3] ={{0,1,2},{0,2,1},{1,0,2},{1,2,0},{2,0,1},{2,1,0}} |
|
inline |
Cross product for 3-elements Vectors.
|
inline |
area invalid for 1-elements sofa::type::vectors.
|
inline |
area for 2-elements sofa::type::vectors.
Real sofa::component::topology::container::dynamic::binomial | ( | const size_t | p, |
const size_t | q | ||
) |
Real sofa::component::topology::container::dynamic::binomialVector | ( | const sofa::type::Vec< N, unsigned char > | tbi1, |
const sofa::type::Vec< N, unsigned char > | tbi2 | ||
) |
type::Vec<1,Real> sofa::component::topology::container::dynamic::cross | ( | const type::Vec< 1, Real > & | , |
const type::Vec< 1, Real > & | |||
) |
cross product for 1-elements sofa::type::vectors.
type::Vec<2,Real> sofa::component::topology::container::dynamic::cross | ( | const type::Vec< 2, Real > & | , |
const type::Vec< 2, Real > & | |||
) |
cross product for 2-elements sofa::type::vectors.
const char * sofa::component::topology::container::dynamic::getModuleName | ( | ) |
const char * sofa::component::topology::container::dynamic::getModuleVersion | ( | ) |
SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API void sofa::component::topology::container::dynamic::init | ( | ) |
void sofa::component::topology::container::dynamic::initExternalModule | ( | ) |
bool sofa::component::topology::container::dynamic::is_point_in_halfplane | ( | const sofa::type::Vec< 3, Real > & | p, |
unsigned int | e0, | ||
unsigned int | e1, | ||
const sofa::type::Vec< 3, Real > & | a, | ||
const sofa::type::Vec< 3, Real > & | b, | ||
const sofa::type::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.
bool sofa::component::topology::container::dynamic::is_point_in_quad | ( | const Coord & | p, |
const Coord & | a, | ||
const Coord & | b, | ||
const Coord & | c, | ||
const Coord & | d | ||
) |
bool sofa::component::topology::container::dynamic::is_point_in_triangle | ( | const sofa::type::Vec< 3, Real > & | p, |
const sofa::type::Vec< 3, Real > & | a, | ||
const sofa::type::Vec< 3, Real > & | b, | ||
const sofa::type::Vec< 3, Real > & | c | ||
) |
|
inline |
this function is only valid for small value of n which should be sufficient for a regular use.
Real sofa::component::topology::container::dynamic::multinomial | ( | const size_t | n, |
const sofa::type::Vec< N, unsigned char > | tbi | ||
) |
Real sofa::component::topology::container::dynamic::multinomial | ( | const size_t | n, |
type::vector< unsigned char > | valArray | ||
) |
Real sofa::component::topology::container::dynamic::multinomialVector | ( | const sofa::type::vector< sofa::type::Vec< N, unsigned char > > | tbiArray | ) |
std::ostream & sofa::component::topology::container::dynamic::operator<< | ( | std::ostream & | out, |
const TetrahedronSetTopologyContainer & | t | ||
) |
std::istream & sofa::component::topology::container::dynamic::operator>> | ( | std::istream & | in, |
TetrahedronSetTopologyContainer & | t | ||
) |
type::Vec<2,Real> sofa::component::topology::container::dynamic::ortho | ( | const type::Vec< 2, Real > & | in | ) |
orthogonal of a 2D vector
void sofa::component::topology::container::dynamic::registerDynamicSparseGridGeometryAlgorithms | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerDynamicSparseGridTopologyContainer | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerDynamicSparseGridTopologyModifier | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerEdgeSetGeometryAlgorithms | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerEdgeSetTopologyContainer | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerEdgeSetTopologyModifier | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerHexahedronSetGeometryAlgorithms | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerHexahedronSetTopologyContainer | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerHexahedronSetTopologyModifier | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerMultilevelHexahedronSetTopologyContainer | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerObjects | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerPointSetGeometryAlgorithms | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerPointSetTopologyContainer | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerPointSetTopologyModifier | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerQuadSetGeometryAlgorithms | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerQuadSetTopologyContainer | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerQuadSetTopologyModifier | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerTetrahedronSetGeometryAlgorithms | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerTetrahedronSetTopologyContainer | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerTetrahedronSetTopologyModifier | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerTriangleSetGeometryAlgorithms | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerTriangleSetTopologyContainer | ( | sofa::core::ObjectFactory * | factory | ) |
void sofa::component::topology::container::dynamic::registerTriangleSetTopologyModifier | ( | sofa::core::ObjectFactory * | factory | ) |
void SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::snapping_test_edge | ( | SReal | epsilon, |
SReal | alpha0, | ||
SReal | alpha1, | ||
bool & | is_snap_0, | ||
bool & | is_snap_1 | ||
) |
void sofa::component::topology::container::dynamic::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_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::snapping_test_triangle | ( | SReal | epsilon, |
SReal | alpha0, | ||
SReal | alpha1, | ||
SReal | alpha2, | ||
bool & | is_snap_0, | ||
bool & | is_snap_1, | ||
bool & | is_snap_2 | ||
) |
|
inline |
Volume invalid for 1-elements sofa::type::vectors.
|
inline |
Volume invalid for 2-elements sofa::type::vectors.
|
inline |
Volume (triple product) for 3-elements sofa::type::vectors.
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::DynamicSparseGridGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::DynamicSparseGridGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::EdgeSetGeometryAlgorithms< Rigid2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::EdgeSetGeometryAlgorithms< Rigid3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::EdgeSetGeometryAlgorithms< Vec1Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::EdgeSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::EdgeSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::HexahedronSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::HexahedronSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::NumericalIntegrationDescriptor< SReal, 1 > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::NumericalIntegrationDescriptor< SReal, 3 > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::NumericalIntegrationDescriptor< SReal, 4 > |
const size_t sofa::component::topology::container::dynamic::permutation3[6][3] ={{0,1,2},{0,2,1},{1,0,2},{1,2,0},{2,0,1},{2,1,0}} |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::PointSetGeometryAlgorithms< Rigid2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::PointSetGeometryAlgorithms< Rigid3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::PointSetGeometryAlgorithms< Vec1Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::PointSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::PointSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::QuadSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::QuadSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::TetrahedronSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::TetrahedronSetGeometryAlgorithms< Vec3Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::TriangleSetGeometryAlgorithms< Vec2Types > |
template class SOFA_COMPONENT_TOPOLOGY_CONTAINER_DYNAMIC_API sofa::component::topology::container::dynamic::TriangleSetGeometryAlgorithms< Vec3Types > |