OrcaSlicer latest
OrcaSlicer
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
612 :
Definition EdgeGrid.cpp:611
unsigned char * signs
Definition EdgeGrid.cpp:632
size_t stride
Definition EdgeGrid.cpp:633
coord_t resolution
Definition EdgeGrid.cpp:634
float * L
Definition EdgeGrid.cpp:631

References L, resolution, signs, and stride.

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
614 {
615 size_t addr = r * stride + c;
616 if ((signs[addr] & 2) == 0) {
617 float *v = &L[addr << 1];
618 float l = v[0] * v[0] + v[1] * v[1];
619 float *v2s = v + 2 * addr_delta;
620 float v2[2] = {
621 v2s[0] + INCX * resolution,
622 v2s[1] + INCY * resolution
623 };
624 float l2 = v2[0] * v2[0] + v2[1] * v2[1];
625 if (l2 < l) {
626 v[0] = v2[0];
627 v[1] = v2[1];
628 }
629 }
630 }

References L, Slic3r::l2(), resolution, signs, and stride.

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:
  • /home/runner/work/OrcaSlicer/OrcaSlicer/src/libslic3r/EdgeGrid.cpp