Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
igl::geodesic::SurfacePointWithIndex Class Reference
+ Inheritance diagram for igl::geodesic::SurfacePointWithIndex:
+ Collaboration diagram for igl::geodesic::SurfacePointWithIndex:

Public Member Functions

unsigned index ()
 
void initialize (SurfacePoint &p, unsigned index)
 
bool operator() (SurfacePointWithIndex *x, SurfacePointWithIndex *y) const
 
void initialize (SurfacePoint const &p)
 
PointType type ()
 
base_pointerbase_element ()
 
double * xyz ()
 
double & x ()
 
double & y ()
 
double & z ()
 
void set (double new_x, double new_y, double new_z)
 
void set (double *data)
 
double distance (double *v)
 
double distance (Point3D *v)
 
void add (Point3D *v)
 
void multiply (double v)
 

Protected Attributes

base_pointer m_p
 

Private Attributes

unsigned m_index
 
double m_coordinates [3]
 

Detailed Description

Member Function Documentation

◆ add()

void igl::geodesic::Point3D::add ( Point3D v)
inlineinherited
407 {
408 x() += v->x();
409 y() += v->y();
410 z() += v->z();
411 };
double & x()
Definition exact_geodesic.cpp:374
double & z()
Definition exact_geodesic.cpp:376
double & y()
Definition exact_geodesic.cpp:375

References igl::geodesic::Point3D::x(), igl::geodesic::Point3D::y(), and igl::geodesic::Point3D::z().

Referenced by igl::geodesic::SurfacePoint::SurfacePoint().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ base_element()

◆ distance() [1/2]

double igl::geodesic::Point3D::distance ( double *  v)
inlineinherited
393 {
394 double dx = m_coordinates[0] - v[0];
395 double dy = m_coordinates[1] - v[1];
396 double dz = m_coordinates[2] - v[2];
397
398 return sqrt(dx*dx + dy*dy + dz*dz);
399 };
EIGEN_DEVICE_FUNC const SqrtReturnType sqrt() const
Definition ArrayCwiseUnaryOps.h:152
double m_coordinates[3]
Definition exact_geodesic.cpp:421

References igl::geodesic::Point3D::m_coordinates, and sqrt().

Referenced by igl::geodesic::GeodesicAlgorithmExact::best_first_interval(), igl::geodesic::Point3D::distance(), igl::geodesic::Edge::local_coordinates(), igl::geodesic::GeodesicAlgorithmBase::set_stop_conditions(), and igl::geodesic::GeodesicAlgorithmExact::visible_from_source().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ distance() [2/2]

double igl::geodesic::Point3D::distance ( Point3D v)
inlineinherited
402 {
403 return distance(v->xyz());
404 };
double distance(double *v)
Definition exact_geodesic.cpp:392

References igl::geodesic::Point3D::distance(), and igl::geodesic::Point3D::xyz().

+ Here is the call graph for this function:

◆ index()

unsigned igl::geodesic::SurfacePointWithIndex::index ( )
inline
1437{return m_index;};
unsigned m_index
Definition exact_geodesic.cpp:1460

References m_index.

Referenced by igl::geodesic::GeodesicAlgorithmExact::best_first_interval(), and initialize().

+ Here is the caller graph for this function:

◆ initialize() [1/2]

void igl::geodesic::SurfacePointWithIndex::initialize ( SurfacePoint p,
unsigned  index 
)
inline
1440 {
1442 m_index = index;
1443 }
void initialize(SurfacePoint const &p)
Definition exact_geodesic.cpp:595
unsigned index()
Definition exact_geodesic.cpp:1437

References index(), igl::geodesic::SurfacePoint::initialize(), and m_index.

Referenced by igl::geodesic::SortedSources::initialize().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initialize() [2/2]

void igl::geodesic::SurfacePoint::initialize ( SurfacePoint const p)
inlineinherited
596 {
597 *this = p;
598 }

Referenced by initialize().

+ Here is the caller graph for this function:

◆ multiply()

void igl::geodesic::Point3D::multiply ( double  v)
inlineinherited
414 {
415 x() *= v;
416 y() *= v;
417 z() *= v;
418 };

References igl::geodesic::Point3D::x(), igl::geodesic::Point3D::y(), and igl::geodesic::Point3D::z().

Referenced by igl::geodesic::SurfacePoint::SurfacePoint().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ operator()()

bool igl::geodesic::SurfacePointWithIndex::operator() ( SurfacePointWithIndex x,
SurfacePointWithIndex y 
) const
inline
1446 {
1447 assert(x->type() != UNDEFINED_POINT && y->type() !=UNDEFINED_POINT);
1448
1449 if(x->type() != y->type())
1450 {
1451 return x->type() < y->type();
1452 }
1453 else
1454 {
1455 return x->base_element()->id() < y->base_element()->id();
1456 }
1457 }
@ UNDEFINED_POINT
Definition exact_geodesic.cpp:331

References igl::geodesic::UNDEFINED_POINT, igl::geodesic::Point3D::x(), and igl::geodesic::Point3D::y().

+ Here is the call graph for this function:

◆ set() [1/2]

void igl::geodesic::Point3D::set ( double *  data)
inlineinherited
386 {
387 x() = *data;
388 y() = *(data+1);
389 z() = *(data+2);
390 }
constexpr auto data(C &c) -> decltype(c.data())
Definition span.hpp:195

References igl::geodesic::Point3D::x(), igl::geodesic::Point3D::y(), and igl::geodesic::Point3D::z().

+ Here is the call graph for this function:

◆ set() [2/2]

void igl::geodesic::Point3D::set ( double  new_x,
double  new_y,
double  new_z 
)
inlineinherited
379 {
380 x() = new_x;
381 y() = new_y;
382 z() = new_z;
383 }

References igl::geodesic::Point3D::x(), igl::geodesic::Point3D::y(), and igl::geodesic::Point3D::z().

Referenced by igl::geodesic::SurfacePoint::SurfacePoint(), igl::geodesic::SurfacePoint::SurfacePoint(), and igl::geodesic::fill_surface_point_structure().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ type()

PointType igl::geodesic::SurfacePoint::type ( )
inlineinherited
602{return m_p ? m_p->type() : UNDEFINED_POINT;};
PointType type()
Definition exact_geodesic.cpp:351

References igl::geodesic::SurfacePoint::m_p, igl::geodesic::MeshElementBase::type(), and igl::geodesic::UNDEFINED_POINT.

Referenced by igl::geodesic::GeodesicAlgorithmExact::best_first_interval(), igl::geodesic::Mesh::closest_vertices(), igl::geodesic::fill_surface_point_double(), igl::geodesic::GeodesicAlgorithmExact::possible_traceback_edges(), and igl::geodesic::GeodesicAlgorithmExact::visible_from_source().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ x()

◆ xyz()

double * igl::geodesic::Point3D::xyz ( )
inlineinherited
373{return m_coordinates;};

References igl::geodesic::Point3D::m_coordinates.

Referenced by igl::geodesic::Point3D::distance().

+ Here is the caller graph for this function:

◆ y()

◆ z()

double & igl::geodesic::Point3D::z ( )
inlineinherited

Member Data Documentation

◆ m_coordinates

◆ m_index

unsigned igl::geodesic::SurfacePointWithIndex::m_index
private

Referenced by index(), and initialize().

◆ m_p

base_pointer igl::geodesic::SurfacePoint::m_p
protectedinherited

The documentation for this class was generated from the following file: