Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::PropagateDanielssonSingleStep< INCX, INCY > Struct Template Reference

Public Member Functions

 PropagateDanielssonSingleStep (float *aL, unsigned char *asigns, size_t astride, coord_t aresolution)
 
void operator() (int r, int c, int addr_delta)
 

Public Attributes

float * L
 
unsigned char * signs
 
size_t stride
 
coord_t resolution
 

Detailed Description

template<const int INCX, const int INCY>
struct Slic3r::PropagateDanielssonSingleStep< INCX, INCY >

Constructor & Destructor Documentation

◆ PropagateDanielssonSingleStep()

template<const int INCX, const int INCY>
Slic3r::PropagateDanielssonSingleStep< INCX, INCY >::PropagateDanielssonSingleStep ( float *  aL,
unsigned char *  asigns,
size_t  astride,
coord_t  aresolution 
)
inline
599 :
600 L(aL), signs(asigns), stride(astride), resolution(aresolution) {}
unsigned char * signs
Definition EdgeGrid.cpp:619
size_t stride
Definition EdgeGrid.cpp:620
coord_t resolution
Definition EdgeGrid.cpp:621
float * L
Definition EdgeGrid.cpp:618

Member Function Documentation

◆ operator()()

template<const int INCX, const int INCY>
void Slic3r::PropagateDanielssonSingleStep< INCX, INCY >::operator() ( int  r,
int  c,
int  addr_delta 
)
inline
601 {
602 size_t addr = r * stride + c;
603 if ((signs[addr] & 2) == 0) {
604 float *v = &L[addr << 1];
605 float l = v[0] * v[0] + v[1] * v[1];
606 float *v2s = v + (addr_delta << 1);
607 float v2[2] = {
608 v2s[0] + INCX * resolution,
609 v2s[1] + INCY * resolution
610 };
611 float l2 = v2[0] * v2[0] + v2[1] * v2[1];
612 if (l2 < l) {
613 v[0] = v2[0];
614 v[1] = v2[1];
615 }
616 }
617 }
T l2(const boost::geometry::model::d2::point_xy< T > &v)
Definition ExtrusionSimulator.cpp:166

References L, and Slic3r::l2().

+ Here is the call graph for this function:

Member Data Documentation

◆ L

template<const int INCX, const int INCY>
float* Slic3r::PropagateDanielssonSingleStep< INCX, INCY >::L

◆ resolution

template<const int INCX, const int INCY>
coord_t Slic3r::PropagateDanielssonSingleStep< INCX, INCY >::resolution

◆ signs

template<const int INCX, const int INCY>
unsigned char* Slic3r::PropagateDanielssonSingleStep< INCX, INCY >::signs

◆ stride

template<const int INCX, const int INCY>
size_t Slic3r::PropagateDanielssonSingleStep< INCX, INCY >::stride

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