OrcaSlicer latest
OrcaSlicer
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< Line > temp_lines
std::vector< Line > output_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
336 :
337 cubes_properties(octree.cubes_properties),
340 cos_a(cos(direction_angles[direction_idx])),
341 sin_a(sin(direction_angles[direction_idx]))
342 {
343 static constexpr auto unused = std::numeric_limits<coord_t>::max();
344 temp_lines.assign((1 << octree.cubes_properties.size()) - 1, Line(Point(unused, unused), Point(unused, unused)));
345 }
static constexpr std::array< std::array< int, 8 >, 3 > child_traversal_order
Definition FillAdaptive.cpp:260
Kernel::Point_3 Point
Definition MeshRepair.cpp:81
const std::vector< CubeProperties > & cubes_properties
Definition FillAdaptive.cpp:350
std::vector< Line > temp_lines
Definition FillAdaptive.cpp:361
const double cos_a
Definition FillAdaptive.cpp:356
static constexpr double direction_angles[3]
Definition FillAdaptive.cpp:330
const std::array< int, 8 > traversal_order
Definition FillAdaptive.cpp:354
const double z_position
Definition FillAdaptive.cpp:352
const double sin_a
Definition FillAdaptive.cpp:357

References Slic3r::FillAdaptive::child_traversal_order, cos_a, cubes_properties, Slic3r::FillAdaptive::Octree::cubes_properties, direction_angles, sin_a, temp_lines, traversal_order, and z_position.

Member Function Documentation

◆ rotate()

Vec2d Slic3r::FillAdaptive::FillContext::rotate ( const Vec2d & v)
inline
348{ 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:67

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 FillContext(), and rotate().

◆ cubes_properties

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

◆ direction_angles

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:31
330 {
331 0.,
332 (2.0 * M_PI) / 3.0,
333 -(2.0 * M_PI) / 3.0
334 };

Referenced by FillContext().

◆ output_lines

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

◆ sin_a

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

Referenced by FillContext().

◆ 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: