OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan Struct Reference
Collaboration diagram for Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan:

Public Member Functions

std::pair< Vec3f, Vec3f > sample_between (int a, int b, float t) const
bool side_of (float h) const

Public Attributes

bool ok = false
std::vector< Vec3f > pos
std::vector< Vec3f > vnormal
std::vector< float > vh
float iso = 0.f
float range = 0.f
std::unordered_map< uint64_t, Edge > edges

Detailed Description

Member Function Documentation

◆ sample_between()

std::pair< Vec3f, Vec3f > Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::sample_between ( int a,
int b,
float t ) const
inline
4714 {
4715 const Vec3f p = pos[size_t(a)] + (pos[size_t(b)] - pos[size_t(a)]) * t;
4716 Vec3f n = vnormal[size_t(a)] + (vnormal[size_t(b)] - vnormal[size_t(a)]) * t;
4717 const float l = n.norm();
4718 n = (l > 1e-12f) ? Vec3f(n / l) : vnormal[size_t(a)];
4719 return std::make_pair(p, n);
4720 }
Eigen::Matrix< float, 3, 1, Eigen::DontAlign > Vec3f
Definition Point.hpp:65
std::vector< Vec3f > pos
Definition TextureDisplacement.cpp:4708
std::vector< Vec3f > vnormal
Definition TextureDisplacement.cpp:4708

References pos, and vnormal.

Referenced by Slic3r::anonymous_namespace{TextureDisplacement.cpp}::scan_steps().

Here is the caller graph for this function:

◆ side_of()

bool Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::side_of ( float h) const
inline
4721{ return h > iso; }
float iso
Definition TextureDisplacement.cpp:4710

References iso.

Referenced by Slic3r::anonymous_namespace{TextureDisplacement.cpp}::scan_steps().

Here is the caller graph for this function:

Member Data Documentation

◆ edges

std::unordered_map<uint64_t, Edge> Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::edges

◆ iso

float Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::iso = 0.f

◆ ok

bool Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::ok = false

◆ pos

std::vector<Vec3f> Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::pos

◆ range

float Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::range = 0.f

◆ vh

std::vector<float> Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::vh

◆ vnormal

std::vector<Vec3f> Slic3r::anonymous_namespace{TextureDisplacement.cpp}::StepScan::vnormal

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