Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::FillAdaptive::FillContext Struct Reference
+ Collaboration diagram for Slic3r::FillAdaptive::FillContext:

Public Member Functions

 FillContext (const Octree &octree, double z_position, int direction_idx)
 
Vec2d rotate (const Vec2d &v)
 

Public Attributes

const std::vector< CubeProperties > & cubes_properties
 
const double z_position
 
const std::array< int, 8 > traversal_order
 
const double cos_a
 
const double sin_a
 
std::vector< Linetemp_lines
 
std::vector< Lineoutput_lines
 

Static Public Attributes

static constexpr double direction_angles [3]
 

Detailed Description

Constructor & Destructor Documentation

◆ FillContext()

Slic3r::FillAdaptive::FillContext::FillContext ( const Octree octree,
double  z_position,
int  direction_idx 
)
inline
370 :
371 cubes_properties(octree.cubes_properties),
374 cos_a(cos(direction_angles[direction_idx])),
375 sin_a(sin(direction_angles[direction_idx]))
376 {
377 static constexpr auto unused = std::numeric_limits<coord_t>::max();
378 temp_lines.assign((1 << octree.cubes_properties.size()) - 1, Line(Point(unused, unused), Point(unused, unused)));
379 }
EIGEN_DEVICE_FUNC const CosReturnType cos() const
Definition ArrayCwiseUnaryOps.h:202
EIGEN_DEVICE_FUNC const SinReturnType sin() const
Definition ArrayCwiseUnaryOps.h:220
static constexpr std::array< std::array< int, 8 >, 3 > child_traversal_order
Definition FillAdaptive.cpp:232
IGL_INLINE void octree(const Eigen::MatrixBase< DerivedP > &P, std::vector< std::vector< IndexType > > &point_indices, Eigen::PlainObjectBase< DerivedCH > &CH, Eigen::PlainObjectBase< DerivedCN > &CN, Eigen::PlainObjectBase< DerivedW > &W)
Definition octree.cpp:8
Kernel::Point_2 Point
Definition point_areas.cpp:20
const std::vector< CubeProperties > & cubes_properties
Definition FillAdaptive.cpp:384
std::vector< Line > temp_lines
Definition FillAdaptive.cpp:395
const double cos_a
Definition FillAdaptive.cpp:390
static constexpr double direction_angles[3]
Definition FillAdaptive.cpp:364
const std::array< int, 8 > traversal_order
Definition FillAdaptive.cpp:388
const double z_position
Definition FillAdaptive.cpp:386
const double sin_a
Definition FillAdaptive.cpp:391

References temp_lines.

Member Function Documentation

◆ rotate()

Vec2d Slic3r::FillAdaptive::FillContext::rotate ( const Vec2d v)
inline
382{ return Vec2d(this->cos_a * v.x() - this->sin_a * v.y(), this->sin_a * v.x() + this->cos_a * v.y()); }
Eigen::Matrix< double, 2, 1, Eigen::DontAlign > Vec2d
Definition Point.hpp:51

References cos_a.

Referenced by Slic3r::FillAdaptive::generate_infill_lines_recursive().

+ Here is the caller graph for this function:

Member Data Documentation

◆ cos_a

const double Slic3r::FillAdaptive::FillContext::cos_a

Referenced by rotate().

◆ cubes_properties

const std::vector<CubeProperties>& Slic3r::FillAdaptive::FillContext::cubes_properties

◆ direction_angles

constexpr double Slic3r::FillAdaptive::FillContext::direction_angles[3]
staticconstexpr
Initial value:
{
0.,
(2.0 * M_PI) / 3.0,
-(2.0 * M_PI) / 3.0
}
#define M_PI
Definition ExtrusionSimulator.cpp:20

◆ output_lines

std::vector<Line> Slic3r::FillAdaptive::FillContext::output_lines

◆ sin_a

const double Slic3r::FillAdaptive::FillContext::sin_a

◆ temp_lines

std::vector<Line> Slic3r::FillAdaptive::FillContext::temp_lines

◆ traversal_order

const std::array<int, 8> Slic3r::FillAdaptive::FillContext::traversal_order

◆ z_position

const double Slic3r::FillAdaptive::FillContext::z_position

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