#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/libvgcode/src/Layers.hpp>
◆ libvgcode::Layers::Item
| struct libvgcode::Layers::Item |
| Class Members |
|
bool |
contains_colorprint_options { false } |
|
|
Range |
range |
|
|
array< float, TIME_MODES_COUNT > |
times { 0.0f, 0.0f } |
|
|
float |
z { 0.0f } |
|
◆ count()
| std::size_t libvgcode::Layers::count |
( |
| ) |
const |
|
inline |
std::vector< Item > m_items
Definition Layers.hpp:59
References m_items.
◆ empty()
| bool libvgcode::Layers::empty |
( |
| ) |
const |
|
inline |
◆ get_layer_id_at()
| size_t libvgcode::Layers::get_layer_id_at |
( |
float | z | ) |
const |
77{
78 auto iter = std::upper_bound(
m_items.begin(),
m_items.end(), z, [](
float z,
const Item& item) { return item.z > z; });
79 return std::distance(
m_items.begin(), iter);
80}
References m_items.
◆ get_layer_time()
| float libvgcode::Layers::get_layer_time |
( |
ETimeMode | mode, |
|
|
std::size_t | layer_id ) const |
|
inline |
31 {
33 m_items[layer_id].times[
static_cast<std::size_t
>(mode)] : 0.0f;
34 }
@ COUNT
Definition Types.hpp:203
References libvgcode::COUNT, and m_items.
◆ get_layer_z()
| float libvgcode::Layers::get_layer_z |
( |
std::size_t | layer_id | ) |
const |
|
inline |
◆ get_times()
| std::vector< float > libvgcode::Layers::get_times |
( |
ETimeMode | mode | ) |
const |
56{
57 std::vector<float> ret;
60 ret.emplace_back(item.times[static_cast<size_t>(mode)]);
61 }
62 }
63 return ret;
64}
References libvgcode::COUNT, and m_items.
◆ get_view_range()
| const Interval & libvgcode::Layers::get_view_range |
( |
| ) |
const |
|
inline |
Range m_view_range
Definition Layers.hpp:60
References m_view_range.
◆ get_zs()
| std::vector< float > libvgcode::Layers::get_zs |
( |
| ) |
const |
67{
68 std::vector<float> ret;
71 ret.emplace_back(item.z);
72 }
73 return ret;
74}
References m_items.
◆ layer_contains_colorprint_options()
| bool libvgcode::Layers::layer_contains_colorprint_options |
( |
std::size_t | layer_id | ) |
const |
|
inline |
44 {
45 return (layer_id <
m_items.size()) ?
m_items[layer_id].contains_colorprint_options :
false;
46 }
References m_items.
◆ reset()
| void libvgcode::Layers::reset |
( |
| ) |
|
◆ set_view_range() [1/2]
| void libvgcode::Layers::set_view_range |
( |
const Interval & | range | ) |
|
|
inline |
◆ set_view_range() [2/2]
| void libvgcode::Layers::set_view_range |
( |
Interval::value_type | min, |
|
|
Interval::value_type | max ) |
|
inline |
◆ size_in_bytes_cpu()
| size_t libvgcode::Layers::size_in_bytes_cpu |
( |
| ) |
const |
83{
85 return ret;
86}
#define STDVEC_MEMSIZE(NAME, TYPE)
|/ Copyright (c) Prusa Research 2023 Enrico Turri @enricoturri1966 |/ |/ libvgcode is released under ...
Definition Utils.hpp:15
References m_items, and STDVEC_MEMSIZE.
◆ update()
| void libvgcode::Layers::update |
( |
const PathVertex & | vertex, |
|
|
uint32_t | vertex_id ) |
26{
28
29 assert(vertex.layer_id ==
static_cast<uint32_t
>(
m_items.size()));
32 item.z = vertex.position[2];
33 item.range.set(vertex_id, vertex_id);
34 item.times = vertex.times;
36 }
37 else {
40 item.z = vertex.position[2];
41 item.range.set_max(vertex_id);
43 item.times[i] += vertex.times[i];
44 }
46 }
47}
@ Extrude
Definition Types.hpp:132
@ Custom
Definition Types.hpp:159
static constexpr std::size_t TIME_MODES_COUNT
Definition Types.hpp:206
static bool is_colorprint_option(const PathVertex &v)
Definition Layers.cpp:20
References libvgcode::Layers::Item::contains_colorprint_options, libvgcode::Custom, libvgcode::Extrude, libvgcode::is_colorprint_option(), libvgcode::PathVertex::layer_id, m_items, libvgcode::PathVertex::position, libvgcode::Layers::Item::range, libvgcode::PathVertex::role, libvgcode::Range::set(), libvgcode::Range::set_max(), libvgcode::TIME_MODES_COUNT, libvgcode::Layers::Item::times, libvgcode::PathVertex::times, libvgcode::PathVertex::type, and libvgcode::Layers::Item::z.
◆ m_items
| std::vector<Item> libvgcode::Layers::m_items |
|
private |
Referenced by count(), empty(), get_layer_id_at(), get_layer_time(), get_layer_z(), get_times(), get_zs(), layer_contains_colorprint_options(), reset(), size_in_bytes_cpu(), and update().
◆ m_view_range
| Range libvgcode::Layers::m_view_range |
|
private |
The documentation for this class was generated from the following files:
- /home/runner/work/OrcaSlicer/OrcaSlicer/src/libvgcode/src/Layers.hpp
- /home/runner/work/OrcaSlicer/OrcaSlicer/src/libvgcode/src/Layers.cpp