Fix of #889
This commit is contained in:
parent
67f7ec2d20
commit
3291cbfdad
@ -2457,7 +2457,7 @@ bool _3DScene::_travel_paths_by_type(const GCodePreviewData& preview_data, GLVol
|
|||||||
TypesList::iterator type = std::find(types.begin(), types.end(), Type(polyline.type));
|
TypesList::iterator type = std::find(types.begin(), types.end(), Type(polyline.type));
|
||||||
if (type != types.end())
|
if (type != types.end())
|
||||||
{
|
{
|
||||||
type->volume->print_zs.push_back(unscale(polyline.polyline.bounding_box().max.z));
|
type->volume->print_zs.push_back(unscale(polyline.polyline.bounding_box().min.z));
|
||||||
type->volume->offsets.push_back(type->volume->indexed_vertex_array.quad_indices.size());
|
type->volume->offsets.push_back(type->volume->indexed_vertex_array.quad_indices.size());
|
||||||
type->volume->offsets.push_back(type->volume->indexed_vertex_array.triangle_indices.size());
|
type->volume->offsets.push_back(type->volume->indexed_vertex_array.triangle_indices.size());
|
||||||
|
|
||||||
@ -2523,7 +2523,7 @@ bool _3DScene::_travel_paths_by_feedrate(const GCodePreviewData& preview_data, G
|
|||||||
FeedratesList::iterator feedrate = std::find(feedrates.begin(), feedrates.end(), Feedrate(polyline.feedrate));
|
FeedratesList::iterator feedrate = std::find(feedrates.begin(), feedrates.end(), Feedrate(polyline.feedrate));
|
||||||
if (feedrate != feedrates.end())
|
if (feedrate != feedrates.end())
|
||||||
{
|
{
|
||||||
feedrate->volume->print_zs.push_back(unscale(polyline.polyline.bounding_box().max.z));
|
feedrate->volume->print_zs.push_back(unscale(polyline.polyline.bounding_box().min.z));
|
||||||
feedrate->volume->offsets.push_back(feedrate->volume->indexed_vertex_array.quad_indices.size());
|
feedrate->volume->offsets.push_back(feedrate->volume->indexed_vertex_array.quad_indices.size());
|
||||||
feedrate->volume->offsets.push_back(feedrate->volume->indexed_vertex_array.triangle_indices.size());
|
feedrate->volume->offsets.push_back(feedrate->volume->indexed_vertex_array.triangle_indices.size());
|
||||||
|
|
||||||
@ -2589,7 +2589,7 @@ bool _3DScene::_travel_paths_by_tool(const GCodePreviewData& preview_data, GLVol
|
|||||||
ToolsList::iterator tool = std::find(tools.begin(), tools.end(), Tool(polyline.extruder_id));
|
ToolsList::iterator tool = std::find(tools.begin(), tools.end(), Tool(polyline.extruder_id));
|
||||||
if (tool != tools.end())
|
if (tool != tools.end())
|
||||||
{
|
{
|
||||||
tool->volume->print_zs.push_back(unscale(polyline.polyline.bounding_box().max.z));
|
tool->volume->print_zs.push_back(unscale(polyline.polyline.bounding_box().min.z));
|
||||||
tool->volume->offsets.push_back(tool->volume->indexed_vertex_array.quad_indices.size());
|
tool->volume->offsets.push_back(tool->volume->indexed_vertex_array.quad_indices.size());
|
||||||
tool->volume->offsets.push_back(tool->volume->indexed_vertex_array.triangle_indices.size());
|
tool->volume->offsets.push_back(tool->volume->indexed_vertex_array.triangle_indices.size());
|
||||||
|
|
||||||
@ -2613,7 +2613,10 @@ void _3DScene::_load_gcode_retractions(const GCodePreviewData& preview_data, GLV
|
|||||||
{
|
{
|
||||||
volumes.volumes.emplace_back(volume);
|
volumes.volumes.emplace_back(volume);
|
||||||
|
|
||||||
for (const GCodePreviewData::Retraction::Position& position : preview_data.retraction.positions)
|
GCodePreviewData::Retraction::PositionsList copy(preview_data.retraction.positions);
|
||||||
|
std::sort(copy.begin(), copy.end(), [](const GCodePreviewData::Retraction::Position& p1, const GCodePreviewData::Retraction::Position& p2){ return p1.position.z < p2.position.z; });
|
||||||
|
|
||||||
|
for (const GCodePreviewData::Retraction::Position& position : copy)
|
||||||
{
|
{
|
||||||
volume->print_zs.push_back(unscale(position.position.z));
|
volume->print_zs.push_back(unscale(position.position.z));
|
||||||
volume->offsets.push_back(volume->indexed_vertex_array.quad_indices.size());
|
volume->offsets.push_back(volume->indexed_vertex_array.quad_indices.size());
|
||||||
@ -2641,7 +2644,10 @@ void _3DScene::_load_gcode_unretractions(const GCodePreviewData& preview_data, G
|
|||||||
{
|
{
|
||||||
volumes.volumes.emplace_back(volume);
|
volumes.volumes.emplace_back(volume);
|
||||||
|
|
||||||
for (const GCodePreviewData::Retraction::Position& position : preview_data.unretraction.positions)
|
GCodePreviewData::Retraction::PositionsList copy(preview_data.unretraction.positions);
|
||||||
|
std::sort(copy.begin(), copy.end(), [](const GCodePreviewData::Retraction::Position& p1, const GCodePreviewData::Retraction::Position& p2){ return p1.position.z < p2.position.z; });
|
||||||
|
|
||||||
|
for (const GCodePreviewData::Retraction::Position& position : copy)
|
||||||
{
|
{
|
||||||
volume->print_zs.push_back(unscale(position.position.z));
|
volume->print_zs.push_back(unscale(position.position.z));
|
||||||
volume->offsets.push_back(volume->indexed_vertex_array.quad_indices.size());
|
volume->offsets.push_back(volume->indexed_vertex_array.quad_indices.size());
|
||||||
|
Loading…
Reference in New Issue
Block a user