◆ DirectionType
| Enumerator |
|---|
| FROM_FACE_0 | |
| FROM_FACE_1 | |
| FROM_SOURCE | |
| UNDEFINED_DIRECTION | |
1201 {
1206 };
@ FROM_FACE_1
Definition exact_geodesic.cpp:1203
@ UNDEFINED_DIRECTION
Definition exact_geodesic.cpp:1205
@ FROM_FACE_0
Definition exact_geodesic.cpp:1202
@ FROM_SOURCE
Definition exact_geodesic.cpp:1204
◆ compute_min_distance()
| void igl::geodesic::Interval::compute_min_distance |
( |
double |
stop | ) |
|
|
inlineinherited |
◆ d()
| double & igl::geodesic::Interval::d |
( |
| ) |
|
|
inlineinherited |
◆ direction()
◆ edge()
◆ find_closest_point()
| void igl::geodesic::Interval::find_closest_point |
( |
double const |
x, |
|
|
double const |
y, |
|
|
double & |
offset, |
|
|
double & |
distance |
|
) |
| |
|
inlineinherited |
1513 {
1515 {
1518 return;
1519 }
1520
1524
1526 if(std::abs(hs+hc) < local_epsilon)
1527 {
1529 {
1532 }
1533 else if(rs>=end)
1534 {
1536 d_out =
signal(end) + fabs(end - rs);
1537 }
1538 else
1539 {
1540 r = rs;
1542 }
1543 }
1544 else
1545 {
1546 double ri = (rs*hc + hs*rc)/(hs+hc);
1547
1549 {
1552 }
1553 else if(ri>end)
1554 {
1557 }
1558 else
1559 {
1560 r = ri;
1562 }
1563 }
1564 }
double & length()
Definition exact_geodesic.cpp:484
double hypotenuse(double a, double b)
Definition exact_geodesic.cpp:1290
double const SMALLEST_INTERVAL_RATIO
Definition exact_geodesic.cpp:36
S::iterator end(S &sh, const PathTag &)
Definition geometry_traits.hpp:620
References igl::geodesic::GEODESIC_INF, igl::geodesic::Interval::hypotenuse(), igl::geodesic::Edge::length(), igl::geodesic::Interval::m_d, igl::geodesic::Interval::m_edge, igl::geodesic::Interval::m_pseudo_x, igl::geodesic::Interval::m_pseudo_y, igl::geodesic::Interval::m_start, igl::geodesic::Interval::signal(), igl::geodesic::SMALLEST_INTERVAL_RATIO, and igl::geodesic::Interval::stop().
Referenced by igl::geodesic::IntervalList::find_closest_point().
◆ hypotenuse()
| double igl::geodesic::Interval::hypotenuse |
( |
double |
a, |
|
|
double |
b |
|
) |
| |
|
inlineinherited |
◆ initialize()
1570{
1572
1576
1578
1579 if(!source)
1580 {
1583 return;
1584 }
1586
1587 if(source->base_element()->type() ==
VERTEX)
1588 {
1589 if(source->base_element()->id() ==
edge->
v0()->
id())
1590 {
1594 return;
1595 }
1596 else if(source->base_element()->id() ==
edge->
v1()->
id())
1597 {
1601 return;
1602 }
1603 }
1604
1607
1609}
void local_coordinates(Point3D *point, double &x, double &y)
Definition exact_geodesic.cpp:520
vertex_pointer v1()
Definition exact_geodesic.cpp:518
vertex_pointer v0()
Definition exact_geodesic.cpp:517
unsigned & source_index()
Definition exact_geodesic.cpp:1309
edge_pointer & edge()
Definition exact_geodesic.cpp:1306
unsigned m_source_index
Definition exact_geodesic.cpp:1324
void compute_min_distance(double stop)
Definition exact_geodesic.cpp:1246
interval_pointer m_next
Definition exact_geodesic.cpp:1322
unsigned & id()
Definition exact_geodesic.cpp:350
@ VERTEX
Definition exact_geodesic.cpp:328
References igl::geodesic::SurfacePoint::base_element(), igl::geodesic::Interval::compute_min_distance(), igl::geodesic::Interval::edge(), igl::geodesic::GEODESIC_INF, igl::geodesic::MeshElementBase::id(), igl::geodesic::Edge::local_coordinates(), igl::geodesic::Interval::m_d, igl::geodesic::Interval::m_direction, igl::geodesic::Interval::m_edge, igl::geodesic::Interval::m_min, igl::geodesic::Interval::m_next, igl::geodesic::Interval::m_pseudo_x, igl::geodesic::Interval::m_pseudo_y, igl::geodesic::Interval::m_source_index, igl::geodesic::Interval::m_start, igl::geodesic::Interval::source_index(), igl::geodesic::Interval::stop(), igl::geodesic::MeshElementBase::type(), igl::geodesic::Interval::UNDEFINED_DIRECTION, igl::geodesic::Edge::v0(), igl::geodesic::Edge::v1(), and igl::geodesic::VERTEX.
Referenced by igl::geodesic::GeodesicAlgorithmExact::initialize_propagation_data().
◆ max_distance()
| double igl::geodesic::Interval::max_distance |
( |
double |
end | ) |
|
|
inlineinherited |
◆ min()
| double & igl::geodesic::Interval::min |
( |
| ) |
|
|
inlineinherited |
◆ next()
◆ operator()()
1270 {
1271 if(
x->min() !=
y->min())
1272 {
1273 return x->min() <
y->min();
1274 }
1275 else if(
x->start() !=
y->start())
1276 {
1277 return x->start() <
y->start();
1278 }
1279 else
1280 {
1281 return x->edge()->id() <
y->edge()->id();
1282 }
1283 }
const Scalar & y
Definition MathFunctions.h:552
TCoord< P > x(const P &p)
Definition geometry_traits.hpp:297
◆ pseudo_x()
| double & igl::geodesic::Interval::pseudo_x |
( |
| ) |
|
|
inlineinherited |
◆ pseudo_y()
| double & igl::geodesic::Interval::pseudo_y |
( |
| ) |
|
|
inlineinherited |
◆ signal()
| double igl::geodesic::Interval::signal |
( |
double |
x | ) |
|
|
inlineinherited |
◆ source_index()
| unsigned & igl::geodesic::Interval::source_index |
( |
| ) |
|
|
inlineinherited |
◆ start()
| double & igl::geodesic::Interval::start |
( |
| ) |
|
|
inlineinherited |
◆ stop()
| double & igl::geodesic::IntervalWithStop::stop |
( |
| ) |
|
|
inline |
◆ visible_from_source()
| bool igl::geodesic::Interval::visible_from_source |
( |
| ) |
|
|
inlineinherited |
◆ m_d
| double igl::geodesic::Interval::m_d |
|
protectedinherited |
◆ m_direction
◆ m_edge
◆ m_min
| double igl::geodesic::Interval::m_min |
|
protectedinherited |
◆ m_next
◆ m_pseudo_x
| double igl::geodesic::Interval::m_pseudo_x |
|
protectedinherited |
◆ m_pseudo_y
| double igl::geodesic::Interval::m_pseudo_y |
|
protectedinherited |
◆ m_source_index
| unsigned igl::geodesic::Interval::m_source_index |
|
protectedinherited |
◆ m_start
| double igl::geodesic::Interval::m_start |
|
protectedinherited |
◆ m_stop
| double igl::geodesic::IntervalWithStop::m_stop |
|
protected |
The documentation for this struct was generated from the following file: