Skip to content

Commit

Permalink
Insert display model - submodel instances greater than 1 #704
Browse files Browse the repository at this point in the history
  • Loading branch information
trevorsandy committed Apr 22, 2023
1 parent 4cc40df commit 1cdacce
Show file tree
Hide file tree
Showing 14 changed files with 68 additions and 65 deletions.
2 changes: 1 addition & 1 deletion builds/linux/obs/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Last Update: July 19, 2020
# Copyright (C) 2017 - 2023 by Trevor SANDY
pkgname=lpub3d
pkgver=2.4.6.3267
pkgver=2.4.6.3268
pkgrel=1
pkgdesc="An LDraw Building Instruction Editor"
url="https://github.com/trevorsandy/lpub3d.git"
Expand Down
2 changes: 1 addition & 1 deletion builds/linux/obs/alldeps/PKGBUILD
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Last Update: July 19, 2020
# Copyright (C) 2017 - 2023 by Trevor SANDY
pkgname=lpub3d
pkgver=2.4.6.3267
pkgver=2.4.6.3268
pkgrel=1
pkgdesc="An LDraw Building Instruction Editor"
url="https://github.com/trevorsandy/lpub3d.git"
Expand Down
6 changes: 3 additions & 3 deletions builds/linux/obs/alldeps/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
lpub3d (2.4.6.3267) debian; urgency=medium
lpub3d (2.4.6.3268) debian; urgency=medium

* LPub3D version 2.4.6.156.3267_20230422 for Linux
* LPub3D version 2.4.6.157.3268_20230422 for Linux

-- Trevor SANDY <trevor.sandy@gmail.com> Sat, 22 Apr 2023 03:42:13 +0200
-- Trevor SANDY <trevor.sandy@gmail.com> Sat, 22 Apr 2023 03:42:36 +0200
2 changes: 1 addition & 1 deletion builds/linux/obs/alldeps/debian/lpub3d.dsc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Format: 1.0
Source: lpub3d
Binary: lpub3d
Architecture: any
Version: 2.4.6.3267
Version: 2.4.6.3268
Maintainer: Trevor SANDY <trevor.sandy@gmail.com>
Homepage: https://trevorsandy.github.io/lpub3d/
Standards-Version: 3.9.7
Expand Down
4 changes: 2 additions & 2 deletions builds/linux/obs/alldeps/lpub3d.spec
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ BuildRequires: fdupes
Summary: An LDraw Building Instruction Editor
Name: lpub3d
Icon: lpub3d.xpm
Version: 2.4.6.3267
Version: 2.4.6.3268
Release: <B_CNT>%{?dist}
URL: https://trevorsandy.github.io/lpub3d
Vendor: Trevor SANDY
Expand Down Expand Up @@ -797,7 +797,7 @@ update-desktop-database || true
%endif

%changelog
* Sat Apr 22 2023 - trevor.dot.sandy.at.gmail.dot.com 2.4.6.3267
* Sat Apr 22 2023 - trevor.dot.sandy.at.gmail.dot.com 2.4.6.3268
- LPub3D 2.4.4 enhancements and fixes - see RELEASE_NOTES for details

* Tue May 31 2022 - trevor dot sandy at gmail dot com 2.4.4.2670
Expand Down
6 changes: 3 additions & 3 deletions builds/linux/obs/debian/changelog
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
lpub3d (2.4.6.3267) debian; urgency=medium
lpub3d (2.4.6.3268) debian; urgency=medium

* LPub3D version 2.4.6.156.3267_20230422 for Linux
* LPub3D version 2.4.6.157.3268_20230422 for Linux

-- Trevor SANDY <trevor.sandy@gmail.com> Sat, 22 Apr 2023 03:42:15 +0200
-- Trevor SANDY <trevor.sandy@gmail.com> Sat, 22 Apr 2023 03:42:37 +0200
2 changes: 1 addition & 1 deletion builds/linux/obs/debian/lpub3d.dsc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Format: 1.0
Source: lpub3d
Binary: lpub3d
Architecture: any
Version: 2.4.6.3267
Version: 2.4.6.3268
Maintainer: Trevor SANDY <trevor.sandy@gmail.com>
Homepage: https://trevorsandy.github.io/lpub3d/
Standards-Version: 3.9.7
Expand Down
4 changes: 2 additions & 2 deletions builds/linux/obs/lpub3d.spec
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ BuildRequires: fdupes
Summary: An LDraw Building Instruction Editor
Name: lpub3d
Icon: lpub3d.xpm
Version: 2.4.6.3267
Version: 2.4.6.3268
Release: 1%{?dist}
URL: https://trevorsandy.github.io/lpub3d
Vendor: Trevor SANDY
Expand Down Expand Up @@ -313,7 +313,7 @@ update-desktop-database || true
%endif

%changelog
* Sat Apr 22 2023 - trevor.dot.sandy.at.gmail.dot.com 2.4.6.3267
* Sat Apr 22 2023 - trevor.dot.sandy.at.gmail.dot.com 2.4.6.3268
- LPub3D 2.4.4 enhancements and fixes - see RELEASE_NOTES for details

* Tue May 31 2022 - trevor dot sandy at gmail dot com 2.4.4.2670
Expand Down
2 changes: 1 addition & 1 deletion builds/utilities/version.info
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2 4 6 156 3267 f47b13249
2 4 6 157 3268 4cc40dfec
6 changes: 3 additions & 3 deletions gitversion.pri
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ equals(GIT_DIR, undefined) {

# Check if we do not have a valid version number (i.e. no version tag found)
isEmpty(GIT_VERSION) {
GIT_REVISION = 156
GIT_REVISION = 157
GIT_SHA = $$system($$GIT_BASE_COMMAND rev-parse --short HEAD 2> $$NULL_DEVICE)
GIT_COMMIT = $$system($$GIT_BASE_COMMAND rev-list --count HEAD 2> $$NULL_DEVICE)
GIT_VERSION = v$${VERSION}-$${GIT_REVISION}-$${GIT_SHA}
Expand Down Expand Up @@ -69,7 +69,7 @@ equals(GIT_DIR, undefined) {
# Get commit count
GIT_COMMIT = $$system($$GIT_BASE_COMMAND rev-list --count HEAD 2> $$NULL_DEVICE)
isEmpty(GIT_COMMIT) {
GIT_COMMIT = 3267
GIT_COMMIT = 3268
message("~~~ ERROR! GIT_COMMIT NOT DEFINED, USING $$GIT_COMMIT ~~~")
}

Expand Down Expand Up @@ -117,7 +117,7 @@ if (equals(USE_GIT_VER_FILE, true)|equals(USE_VERSION_INFO_VAR, true)) {
GIT_VERSION = $$cat($$GIT_VER_FILE, lines)
} else {
message("~~~ ERROR! $$GIT_DIR_ENV VERSION_INFO FILE $$GIT_VER_FILE NOT FOUND ~~~")
GIT_VERSION = $${VERSION}.156.3267.f47b13249
GIT_VERSION = $${VERSION}.157.3268.4cc40dfec
message("~~~ GIT_DIR [$$GIT_DIR_ENV, USING VERSION] $$GIT_VERSION ~~~")
GIT_VERSION ~= s/\./" "
}
Expand Down
2 changes: 1 addition & 1 deletion mainApp/docs/README.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
LPub3D 2.4.6.156.3267 (22 04 2023 03:42:15)
LPub3D 2.4.6.157.3268 (22 04 2023 03:42:37)

Features, enhancements, fixes and changes
------------
Expand Down
2 changes: 1 addition & 1 deletion mainApp/docs/RELEASE_NOTES.html
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<table class="tg">
<tr>
<th class="tg-0pky">
<h4><a id="LPub3D_0"></a>LPub3D 2.4.6.156.3267 (22 04 2023 03:42:15)</h4>
<h4><a id="LPub3D_0"></a>LPub3D 2.4.6.157.3268 (22 04 2023 03:42:37)</h4>
<hr>
<p>
<span class="tg-1pky">LPub3D Official release.</span><br>
Expand Down
4 changes: 2 additions & 2 deletions mainApp/extras/LPub3D_Npp_UDL.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@
;;
;; Author......: Trevor SANDY
;; Name........: LPub3D_Npp_UDL.xml
;; Version.....: 2.4.6.156.3267
;; Last Update.: Sat, 22 Apr 2023 03:42:15 +0200
;; Version.....: 2.4.6.157.3268
;; Last Update.: Sat, 22 Apr 2023 03:42:37 +0200
;; License.....: GPLv3
;; Homepage....: https://trevorsandy.github.io/lpub3d
;; Copyright (C) 2021 - 2023 by Trevor SANDY
Expand Down
89 changes: 46 additions & 43 deletions mainApp/traverse.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -2570,62 +2570,65 @@ int Gui::drawPage(
instances = lpub->mi.countInstancesInModel(&steps->meta, opts.current.modelName);
}

Page *page = dynamic_cast<Page *>(steps);
if (page && instances > 1) {
page->instances = instances;
page->displayInstanceCount = displayInstanceCount;
page->inserts = inserts;
page->pagePointers = pagePointers;
page->selectedSceneItems = selectedSceneItems;
// update the page if submodel instances greater than 1
if (instances > 1) {
Page *page = dynamic_cast<Page *>(steps);
if (page) {
page->instances = instances;
page->displayInstanceCount = displayInstanceCount;
page->inserts = inserts;
page->pagePointers = pagePointers;
page->selectedSceneItems = selectedSceneItems;

if (step) {
page->modelDisplayOnlyStep = step->modelDisplayOnlyStep;
step->lightList = lightList;
step->viewerStepKey = QString("%1;%2;%3%4")
.arg(topOfStep.modelIndex)
.arg(topOfStep.lineNumber)
.arg(opts.stepNum)
.arg(lpub->mi.viewerStepKeySuffix(topOfStep, step));
}
if (step) {
page->modelDisplayOnlyStep = step->modelDisplayOnlyStep;
step->lightList = lightList;
step->viewerStepKey = QString("%1;%2;%3%4")
.arg(topOfStep.modelIndex)
.arg(topOfStep.lineNumber)
.arg(opts.stepNum)
.arg(lpub->mi.viewerStepKeySuffix(topOfStep, step));
}

if (! steps->meta.LPub.stepPli.perStep.value()) {
if (! steps->meta.LPub.stepPli.perStep.value()) {

QStringList instancesPliParts;
if (opts.pliParts.size() > 0) {
for (int index = 0; index < opts.pliParts.size(); index++) {
QString pliLine = opts.pliParts[index];
for (int i = 0; i < instances; i++) {
instancesPliParts << pliLine;
QStringList instancesPliParts;
if (opts.pliParts.size() > 0) {
for (int index = 0; index < opts.pliParts.size(); index++) {
QString pliLine = opts.pliParts[index];
for (int i = 0; i < instances; i++) {
instancesPliParts << pliLine;
}
}
}
}

if (step) {
// PLI
step->pli.setParts(instancesPliParts,opts.pliPartGroups,steps->meta);
instancesPliParts.clear();
opts.pliParts.clear();
opts.pliPartGroups.clear();
if (step) {
// PLI
step->pli.setParts(instancesPliParts,opts.pliPartGroups,steps->meta);
instancesPliParts.clear();
opts.pliParts.clear();
opts.pliPartGroups.clear();

emit messageSig(LOG_INFO, "Add PLI images for single-step page...");
emit messageSig(LOG_INFO, "Add PLI images for single-step page...");

step->pli.sizePli(&steps->meta,relativeType,pliPerStep);
step->pli.sizePli(&steps->meta,relativeType,pliPerStep);

// SM
if (step->placeSubModel){
emit messageSig(LOG_INFO, "Set first step submodel display for " + topOfStep.modelName + "...");
// SM
if (step->placeSubModel){
emit messageSig(LOG_INFO, "Set first step submodel display for " + topOfStep.modelName + "...");

steps->meta.LPub.subModel.instance.setValue(instances);
step->subModel.setSubModel(opts.current.modelName,steps->meta);
steps->meta.LPub.subModel.instance.setValue(instances);
step->subModel.setSubModel(opts.current.modelName,steps->meta);

step->subModel.displayInstanceCount = displayInstanceCount;
step->subModel.displayInstanceCount = displayInstanceCount;

if (step->subModel.sizeSubModel(&steps->meta,relativeType,pliPerStep) != 0)
emit messageSig(LOG_ERROR, "Failed to set first step submodel display for " + topOfStep.modelName + "...");
if (step->subModel.sizeSubModel(&steps->meta,relativeType,pliPerStep) != 0)
emit messageSig(LOG_ERROR, "Failed to set first step submodel display for " + topOfStep.modelName + "...");
}
}
}
} // Not PLI per step
} // Page
} // Not PLI per step
} // Valid page
} // Submodel instances greater than 1

emit messageSig(LOG_INFO, "Generate CSI image for single-step page...");

Expand Down

0 comments on commit 1cdacce

Please sign in to comment.