OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::CoolingLine Struct Reference

Public Types

enum  Type {
  TYPE_SET_TOOL = 1 << 0 , TYPE_EXTRUDE_END = 1 << 1 , TYPE_OVERHANG_FAN_START = 1 << 2 , TYPE_OVERHANG_FAN_END = 1 << 3 ,
  TYPE_G0 = 1 << 4 , TYPE_G1 = 1 << 5 , TYPE_ADJUSTABLE = 1 << 6 , TYPE_EXTERNAL_PERIMETER = 1 << 7 ,
  TYPE_HAS_F = 1 << 8 , TYPE_WIPE = 1 << 9 , TYPE_G4 = 1 << 10 , TYPE_G92 = 1 << 11 ,
  TYPE_G2 = 1 << 12 , TYPE_G3 = 1 << 13 , TYPE_FORCE_RESUME_FAN = 1 << 14 , TYPE_SUPPORT_INTERFACE_FAN_START = 1 << 15 ,
  TYPE_SUPPORT_INTERFACE_FAN_END = 1 << 16 , TYPE_INTERNAL_BRIDGE_FAN_START = 1 << 17 , TYPE_INTERNAL_BRIDGE_FAN_END = 1 << 18 , TYPE_IRONING_FAN_START = 1 << 19 ,
  TYPE_IRONING_FAN_END = 1 << 20 , TYPE_BELT_BAND_START = 1 << 21 , TYPE_BELT_BAND_END = 1 << 22
}

Public Member Functions

 CoolingLine (unsigned int type, size_t line_start, size_t line_end)
bool adjustable (bool slowdown_external_perimeters) const
bool adjustable () const

Public Attributes

size_t type
size_t line_start
size_t line_end
float length
float feedrate
float time
float time_max
bool slowdown

Detailed Description

Member Enumeration Documentation

◆ Type

Enumerator
TYPE_SET_TOOL 
TYPE_EXTRUDE_END 
TYPE_OVERHANG_FAN_START 
TYPE_OVERHANG_FAN_END 
TYPE_G0 
TYPE_G1 
TYPE_ADJUSTABLE 
TYPE_EXTERNAL_PERIMETER 
TYPE_HAS_F 
TYPE_WIPE 
TYPE_G4 
TYPE_G92 
TYPE_G2 
TYPE_G3 
TYPE_FORCE_RESUME_FAN 
TYPE_SUPPORT_INTERFACE_FAN_START 
TYPE_SUPPORT_INTERFACE_FAN_END 
TYPE_INTERNAL_BRIDGE_FAN_START 
TYPE_INTERNAL_BRIDGE_FAN_END 
TYPE_IRONING_FAN_START 
TYPE_IRONING_FAN_END 
TYPE_BELT_BAND_START 
TYPE_BELT_BAND_END 
69 {
70 TYPE_SET_TOOL = 1 << 0,
71 TYPE_EXTRUDE_END = 1 << 1,
73 TYPE_OVERHANG_FAN_END = 1 << 3,
74 TYPE_G0 = 1 << 4,
75 TYPE_G1 = 1 << 5,
76 TYPE_ADJUSTABLE = 1 << 6,
78 // The line sets a feedrate.
79 TYPE_HAS_F = 1 << 8,
80 TYPE_WIPE = 1 << 9,
81 TYPE_G4 = 1 << 10,
82 TYPE_G92 = 1 << 11,
83 //BBS: add G2 G3 type
84 TYPE_G2 = 1 << 12,
85 TYPE_G3 = 1 << 13,
86 TYPE_FORCE_RESUME_FAN = 1 << 14,
89 // ORCA: Add support for separate internal bridge fan speed control
92 // ORCA: Add support for ironing fan speed control
93 TYPE_IRONING_FAN_START = 1 << 19,
94 TYPE_IRONING_FAN_END = 1 << 20,
95 // Belt printers: extrusions within the first-layer band above the belt.
96 TYPE_BELT_BAND_START = 1 << 21,
97 TYPE_BELT_BAND_END = 1 << 22,
98 };
@ TYPE_OVERHANG_FAN_END
Definition CoolingBuffer.cpp:73
@ TYPE_OVERHANG_FAN_START
Definition CoolingBuffer.cpp:72
@ TYPE_ADJUSTABLE
Definition CoolingBuffer.cpp:76
@ TYPE_IRONING_FAN_END
Definition CoolingBuffer.cpp:94
@ TYPE_G4
Definition CoolingBuffer.cpp:81
@ TYPE_WIPE
Definition CoolingBuffer.cpp:80
@ TYPE_G92
Definition CoolingBuffer.cpp:82
@ TYPE_BELT_BAND_END
Definition CoolingBuffer.cpp:97
@ TYPE_FORCE_RESUME_FAN
Definition CoolingBuffer.cpp:86
@ TYPE_G2
Definition CoolingBuffer.cpp:84
@ TYPE_HAS_F
Definition CoolingBuffer.cpp:79
@ TYPE_G0
Definition CoolingBuffer.cpp:74
@ TYPE_EXTRUDE_END
Definition CoolingBuffer.cpp:71
@ TYPE_EXTERNAL_PERIMETER
Definition CoolingBuffer.cpp:77
@ TYPE_SUPPORT_INTERFACE_FAN_END
Definition CoolingBuffer.cpp:88
@ TYPE_SUPPORT_INTERFACE_FAN_START
Definition CoolingBuffer.cpp:87
@ TYPE_INTERNAL_BRIDGE_FAN_START
Definition CoolingBuffer.cpp:90
@ TYPE_BELT_BAND_START
Definition CoolingBuffer.cpp:96
@ TYPE_G1
Definition CoolingBuffer.cpp:75
@ TYPE_INTERNAL_BRIDGE_FAN_END
Definition CoolingBuffer.cpp:91
@ TYPE_SET_TOOL
Definition CoolingBuffer.cpp:70
@ TYPE_G3
Definition CoolingBuffer.cpp:85
@ TYPE_IRONING_FAN_START
Definition CoolingBuffer.cpp:93

Constructor & Destructor Documentation

◆ CoolingLine()

Slic3r::CoolingLine::CoolingLine ( unsigned int type,
size_t line_start,
size_t line_end )
inline
100 :
102 length(0.f), feedrate(0.f), time(0.f), time_max(0.f), slowdown(false) {}
size_t line_start
Definition CoolingBuffer.cpp:116
float time
Definition CoolingBuffer.cpp:124
float time_max
Definition CoolingBuffer.cpp:126
bool slowdown
Definition CoolingBuffer.cpp:128
float feedrate
Definition CoolingBuffer.cpp:122
size_t type
Definition CoolingBuffer.cpp:114
float length
Definition CoolingBuffer.cpp:120
size_t line_end
Definition CoolingBuffer.cpp:118

References feedrate, length, line_end, line_start, slowdown, time, time_max, and type.

Member Function Documentation

◆ adjustable() [1/2]

bool Slic3r::CoolingLine::adjustable ( ) const
inline
110 {
111 return (this->type & TYPE_ADJUSTABLE) && this->time < this->time_max;
112 }

References time, time_max, type, and TYPE_ADJUSTABLE.

◆ adjustable() [2/2]

bool Slic3r::CoolingLine::adjustable ( bool slowdown_external_perimeters) const
inline
104 {
105 return (this->type & TYPE_ADJUSTABLE) &&
106 (! (this->type & TYPE_EXTERNAL_PERIMETER) || slowdown_external_perimeters) &&
108 }

References time, time_max, type, TYPE_ADJUSTABLE, and TYPE_EXTERNAL_PERIMETER.

Member Data Documentation

◆ feedrate

◆ length

float Slic3r::CoolingLine::length

◆ line_end

size_t Slic3r::CoolingLine::line_end

Referenced by CoolingLine().

◆ line_start

size_t Slic3r::CoolingLine::line_start

Referenced by CoolingLine().

◆ slowdown

bool Slic3r::CoolingLine::slowdown

◆ time

◆ time_max

float Slic3r::CoolingLine::time_max

◆ type

size_t Slic3r::CoolingLine::type

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