Merge branch 'master' into path_custom_source

This commit is contained in:
Morgan 'ARR\!' Allen
2023-06-27 08:58:27 -07:00
4240 changed files with 488152 additions and 271159 deletions
+1 -1
View File
@@ -31,7 +31,7 @@ BraceWrapping:
SplitEmptyRecord: true
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeColon
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeColon
ColumnLimit: 100
CompactNamespaces: false
+8 -1
View File
@@ -65,4 +65,11 @@ dc5b3cb495002951c3a36c928c55108b0999bc3e
875f9eaad6a59abd70775c0b67a7f10d92128a5a
7a8a453746a8e4a845219948591fd17f4494a067
8b31d7deb09077bc0cce0ecf6de02c94db262a67
4a7e1b6d9b12df211cf6fbec61cc8544e4c6bf9d
129d5882a729327a72b57ec695bb376e84205bd0
2ae7cc4a94c1ab1dfc0264367c5da4716ea02bfe
987b4bda2ac8570969dc07fa887bda420f77e441
ec899d75c6abf45d7ee4dd91ea0f8141a9818446
233a337ca5d693e4773fecf1de14325752afd658
9271b6d433578f65df9b469131ece4e4bdbb19aa
2637527e3a4e132506e8c074b752721d66ae146a
@@ -0,0 +1,19 @@
name: Request a Backport
description: Suggest that a commit from the main development branch be backported to the next point release
title: "[Backport] "
labels: ["needs triage", "backport"]
body:
- type: input
id: pull_request
attributes:
label: Original PR
description: A link to the PR that contains the commits to be backported
placeholder: https://github.com/FreeCAD/FreeCAD/pulls/1234
validations:
required: true
- type: textarea
id: description
attributes:
label: Description and Justification
description: Why should this PR (or individual commit) be backported?
placeholder: Please explain why this PR or commit should be backported to the next point release.
-86
View File
@@ -1,86 +0,0 @@
name: Report an Issue
description: File an issue report
title: "[Issue] "
labels: ["needs triage"]
body:
- type: checkboxes
id: existing_issue
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the problem you encountered.
options:
- label: I have searched the existing issues
required: true
- type: input
id: forum_link
attributes:
label: Forums discussion
description: |
If there is a discussion at [the FreeCAD Forum](https://forum.freecad.org) about this issue, please add the link here.
placeholder: Paste link to forum discussion here
- type: dropdown
id: version
attributes:
label: Version
description: What version of FreeCAD are you running?
options:
- 0.20 (Release)
- 0.21 (Development)
validations:
required: true
- type: textarea
id: full_version
attributes:
label: Full version info
description: Please use the About FreeCAD dialog to copy your full version information and paste it here.
render: shell
validations:
required: true
- type: dropdown
id: wb
attributes:
label: Subproject(s) affected?
options:
- Addon Manager
- Arch
- Core
- Draft
- Expressions
- FEM
- File formats
- GCS
- OpenSCAD
- Part
- PartDesign
- Path
- Project Tools & Websites
- Sketcher
- Spreadsheet
- Techdraw
- Other (specify in description)
- type: textarea
id: description
attributes:
label: Issue description
description: Please include as much detail as possible so that testers can reproduce the issue
placeholder: Description of the problem
validations:
required: true
- type: textarea
id: anything_else
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about the issue you are encountering!
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first (GitHub won't recognize the extension otherwise).
validations:
required: false
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
@@ -1,73 +0,0 @@
name: 🌱 Feature Request
description: Submit an idea for a new feature
title: "[Feature Request] <title>"
labels: ["feature", "needs triage"]
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to request a feature! Please make sure you've posted about your idea in the FreeCAD Forums before submitting here.
- type: checkboxes
id: existing_issue
attributes:
label: Is there an existing request for this?
description: Please search to see if a request already exists for your suggestion
options:
- label: I have searched the existing requests
required: true
- type: input
id: forum_link
attributes:
label: Forums discussion
description: Please start a discussion about your idea at [the FreeCAD Forum](https://forum.freecad.org) and wait for confirmation there before creating a request.
placeholder: Paste link to forum discussion here
validations:
required: true
- type: dropdown
id: wb
attributes:
label: Subproject(s) affected?
options:
- Addon Manager
- Arch
- Core
- Draft
- Expressions
- FEM
- File formats
- GCS
- OpenSCAD
- Part
- PartDesign
- Path
- Project Tools & Websites
- Sketcher
- Spreadsheet
- Techdraw
- Other (specify in description)
- type: textarea
id: description
attributes:
label: Idea description
description: Please include as much detail as possible so that developers understand the request
placeholder: Description of the feature
validations:
required: true
- type: textarea
id: anything_else
attributes:
label: Anything else?
description: |
Links? References? Anything that will give us more context about your idea.
Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. To attach a FCStd file, ZIP it first (GitHub won't recognize the extension otherwise).
validations:
required: false
- type: checkboxes
id: terms
attributes:
label: Code of Conduct
description: By submitting this issue, you agree to follow our [Code of Conduct](https://github.com/FreeCAD/FreeCAD/blob/master/CODE_OF_CONDUCT.md)
options:
- label: I agree to follow this project's Code of Conduct
required: true
@@ -0,0 +1,79 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
# ***************************************************************************
# * *
# * Copyright (c) 2023 The FreeCAD Project Association *
# * *
# * This file is part of FreeCAD. *
# * *
# * FreeCAD is free software: you can redistribute it and/or modify it *
# * under the terms of the GNU Lesser General Public License as *
# * published by the Free Software Foundation, either version 2.1 of the *
# * License, or (at your option) any later version. *
# * *
# * FreeCAD is distributed in the hope that it will be useful, but *
# * WITHOUT ANY WARRANTY; without even the implied warranty of *
# * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
# * Lesser General Public License for more details. *
# * *
# * You should have received a copy of the GNU Lesser General Public *
# * License along with FreeCAD. If not, see *
# * <https://www.gnu.org/licenses/>. *
# * *
# ***************************************************************************
# !!! Each step running a single test shall have an'id' defined so its report will be output
name: Run all C++ Tests
description: "Run all C++ tests, generating logs and reports for each"
inputs:
reportdir:
description: "Report directory where logs will be stored"
required: true
builddir:
description: "Build directory where tests are located"
required: true
reportFile:
description: "Path for report file"
required: true
runs:
using: "composite"
steps:
- name: C++ core tests
id: core
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Tests_run --gtest_output=json:${{ inputs.reportdir }}core_gtest_results.json
testLogFile: ${{ inputs.reportdir }}core_gtest_test_log.txt
testName: Core
- name: C++ Sketcher tests
id: sketcher
uses: ./.github/workflows/actions/runCPPTests/runSingleTest
with:
testCommand: ${{ inputs.builddir }}/tests/Sketcher_tests_run --gtest_output=json:${{ inputs.reportdir }}sketcher_gtest_results.json
testLogFile: ${{ inputs.reportdir }}sketcher_gtest_test_log.txt
testName: Sketcher
- name: Compose summary report based on test results
if: always()
shell: bash
run: |
# Print global result
if [ ${{ job.status }} != "success" ]
then
echo "<details><summary>:fire: C++ tests failed</summary>" >> ${{ inputs.reportFile }}
else
echo "<details><summary>:heavy_check_mark: C++ tests succeeded</summary>" >> ${{ inputs.reportFile }}
fi
echo "" >> ${{ inputs.reportFile }}
echo "<blockquote>" >> ${{ inputs.reportFile }}
#Extract individual results
cat > /tmp/data << "EOD"
${{ toJSON(steps) }}
EOD
echo "$(jq -r ".[].outputs.reportText" /tmp/data)" >> ${{ inputs.reportFile }}
# Close report
echo "</blockquote>" >> ${{ inputs.reportFile }}
echo "</details>" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
@@ -32,32 +32,41 @@ inputs:
testLogFile:
description: "Path for the command-line output of the tests"
required: true
reportFile:
description: "Report file"
testName:
description: "A descriptive name for the test suite"
required: true
outputs:
reportText:
description: "Report text"
value: ${{ steps.report.outputs.reportText }}
runs:
using: "composite"
steps:
- name: Run C++ unit tests
- name: Run C++ tests
shell: bash
run: stdbuf -oL -eL ${{ inputs.testCommand }} |& tee -a ${{ inputs.testLogFile }}
- name: Parse test results
if: always()
id: report
shell: bash
run: |
result=$(sed -ne "/Global test environment tear-down/,/^$/{/^$/d;p}" ${{ inputs.testLogFile }})
if [ $(echo $result | grep -F "[ FAILED ]") ]
if grep -qF "[ FAILED ]" <<< $result
then
echo "<details><summary>:fire: GTest C++ unit test suite failed</summary>" >> ${{ inputs.reportFile }}
reportText="<details><summary>:fire: GTest C++ test suite '${{ inputs.testName }}' failed</summary>\n"
else
echo "<details><summary>:heavy_check_mark: GTest C++ unit test suite succeeded</summary>" >> ${{ inputs.reportFile }}
reportText="<details><summary>:heavy_check_mark: GTest C++ test suite '${{ inputs.testName }}' succeeded</summary>\n"
fi
echo "" >> ${{ inputs.reportFile }}
echo "Results" >> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "$result" >> ${{ inputs.reportFile }}
echo '```' >> ${{ inputs.reportFile }}
echo "</details>">> ${{ inputs.reportFile }}
echo "" >> ${{ inputs.reportFile }}
reportText+="\n"
reportText+="Results\n"
reportText+="\n"
reportText+='```\n'
reportText+="$result\n"
reportText+='```\n'
reportText+="</details>\n"
reportText+="\n"
echo "reportText<<EOD" >> $GITHUB_OUTPUT
echo -e "$reportText" >> $GITHUB_OUTPUT
echo "EOD" >> $GITHUB_OUTPUT
echo -e "$reportText"
@@ -50,7 +50,7 @@ runs:
shell: bash
if: always()
run: |
sed -ne "/^FAIL[[:alpha:]]*:/,/^[[:blank:]]*$/bF; /^Traceback/,/^[^[:blank:]]/{/^Traceback/bT; /^[^[:blank:]]/G; bT}; b; :T w ${{ inputs.logFile }}_tracebacks" -e "b; :F w ${{ inputs.logFile }}_failedtests" ${{ inputs.logFile }}
sed -ne "/^\(FAILED\|ERROR\):/,/^[[:blank:]]*$/bF; /^Traceback/,/^[^[:blank:]]/{/^Traceback/bT; /^[^[:blank:]]/G; bT}; b; :T w ${{ inputs.logFile }}_tracebacks" -e "b; :F w ${{ inputs.logFile }}_failedtests" ${{ inputs.logFile }}
icon=""
if [ $( cat ${{ inputs.logFile }}_tracebacks | wc -l ) -gt 0 ]
then
+5 -5
View File
@@ -202,13 +202,13 @@ jobs:
testCommand: xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: C++ unit tests
- name: C++ tests
timeout-minutes: 1
uses: ./.github/workflows/actions/runCPPTests
uses: ./.github/workflows/actions/runCPPTests/runAllTests
with:
testCommand: ${{ env.builddir }}/tests/Tests_run --gtest_output=json:${{env.reportdir}}gtest_results.json
testLogFile: ${{env.reportdir}}gtest_test_log.txt
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
reportdir: ${{ env.reportdir }}
builddir: ${{ env.builddir }}
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
- name: CMake Install
uses: ./.github/workflows/actions/linux/install
with:
+5 -5
View File
@@ -200,13 +200,13 @@ jobs:
testCommand: xvfb-run ${{ env.builddir }}/bin/FreeCAD -t 0
logFile: ${{ env.logdir }}TestGUIBuild.log
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
- name: C++ unit tests
- name: C++ tests
timeout-minutes: 1
uses: ./.github/workflows/actions/runCPPTests
uses: ./.github/workflows/actions/runCPPTests/runAllTests
with:
testCommand: ${{ env.builddir }}/tests/Tests_run --gtest_output=json:${{env.reportdir}}gtest_results.json
testLogFile: ${{env.reportdir}}gtest_test_log.txt
reportFile: ${{env.reportdir}}${{ env.reportfilename }}
reportdir: ${{ env.reportdir }}
builddir: ${{ env.builddir }}
reportFile: ${{ env.reportdir }}${{ env.reportfilename }}
- name: CMake Install
uses: ./.github/workflows/actions/linux/install
with:
+1 -1
View File
@@ -59,7 +59,7 @@ jobs:
path: ${{ env.artifactsDownloadDir }}
- name: Save input data to file
run: |
cat > data << EOD
cat > data << "EOD"
${{ inputs.previousSteps }}
EOD
- name: Compute the report
+1
View File
@@ -37,6 +37,7 @@ install_manifest.txt
/Mod/
/ZERO_CHECK.dir/
/build/
/cmake-build*/
/src/Tools/offlinedoc/localwiki/
/src/Tools/offlinedoc/*.txt
OpenSCAD_rc.py
+11 -4
View File
@@ -5,22 +5,29 @@
files: |
(?x)^(
src/Mod/AddonManager|
tests/src
src/Tools|
tests/src|
src/Mod/Sketcher
)
exclude: |
(?x)^(
.*vcproj.*|
.*vcxproj.*
)
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v3.2.0
rev: v3.4.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
- id: mixed-line-ending
args: [--fix=lf]
- repo: https://github.com/psf/black
rev: 22.10.0
rev: 22.12.0
hooks:
- id: black
args: ['--line-length', '100']
- repo: https://github.com/pre-commit/mirrors-clang-format
rev: v15.0.7
hooks:
+1 -1
View File
@@ -1,5 +1,5 @@
# As of January 2023 we require CMake 3.16.3
# see https://forum.freecadweb.org/viewtopic.php?f=10&t=72173
# see https://forum.freecad.org/viewtopic.php?f=10&t=72173
# for further info why
cmake_minimum_required(VERSION 3.16.3 FATAL_ERROR)
+1 -1
View File
@@ -56,7 +56,7 @@ further defined and clarified by project maintainers.
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting any of the community admins or moderators at
https://forum.freecadweb.org/memberlist.php?mode=team . All
https://forum.freecad.org/memberlist.php?mode=team . All
complaints will be reviewed and investigated and will result in a response that
is deemed necessary and appropriate to the circumstances. The project team is
obligated to maintain confidentiality with regard to the reporter of an incident.
+1 -1
View File
@@ -31,7 +31,7 @@ The FreeCAD Contribution Process is expressed here with the following specific g
6. FreeCAD uses the Pull Request workflow for evaluating and accepting contributions.
## 3. Roles
1. "User": An member of the wider FreeCAD community who uses the software.
1. "User": A member of the wider FreeCAD community who uses the software.
2. "Contributor": A person who submits a contribution that resolves a previously identified problem. Contributors do not have commit access to the repository unless they are also Maintainers. Everyone, without distinction or discrimination, SHALL have an equal right to become a Contributor.
3. "Maintainer": A person who merges contributions. Maintainers may or may not be Contributors. Their role is to enforce the process. Maintainers have commit access to the repository.
4. "Administrator": Administrators have additional authority to maintain the list of designated Maintainers.
+27 -19
View File
@@ -1,12 +1,13 @@
<a href="https://freecadweb.org"><img src="https://www.freecadweb.org/svg/icon-freecad.svg" height="100px" width="100px"></a>
<a href="https://freecad.org"><img src="https://www.freecad.org/svg/icon-freecad.svg" height="100px" width="100px"></a>
### Your own 3D parametric modeler
[Website](https://www.freecadweb.org) •
[Documentation](https://wiki.freecadweb.org) •
[Forum](https://forum.freecadweb.org/) •
[Website](https://www.freecad.org) •
[Documentation](https://wiki.freecad.org) •
[Forum](https://forum.freecad.org/) •
[Bug tracker](https://github.com/FreeCAD/FreeCAD/issues) •
[Git repository](https://github.com/FreeCAD/FreeCAD)
[Git repository](https://github.com/FreeCAD/FreeCAD) •
[Blog](https://blog.freecad.org)
[![Release](https://img.shields.io/github/release/freecad/freecad.svg)](https://github.com/freecad/freecad/releases/latest) [![Master][freecad-master-status]][gitlab-branch-master] [![Crowdin](https://d322cqt584bo4o.cloudfront.net/freecad/localized.svg)](https://crowdin.com/project/freecad) [![Gitter](https://img.shields.io/gitter/room/freecad/freecad.svg)](https://gitter.im/freecad/freecad?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![Liberapay](https://img.shields.io/liberapay/receives/FreeCAD.svg?logo=liberapay)](https://liberapay.com/FreeCAD)
@@ -50,7 +51,7 @@ software center application.
For development releases check the [weekly-builds page](https://github.com/FreeCAD/FreeCAD-Bundle/releases/tag/weekly-builds).
Other options are described at the [wiki Download page](https://wiki.freecadweb.org/Download).
Other options are described at the [wiki Download page](https://wiki.freecad.org/Download).
Build Status
------------
@@ -78,17 +79,18 @@ you will usually have to compile them yourself.
The pages below contain up-to-date build instructions:
- [Linux](https://wiki.freecadweb.org/Compile_on_Linux)
- [Windows](https://wiki.freecadweb.org/Compile_on_Windows)
- [macOS](https://wiki.freecadweb.org/Compile_on_MacOS)
- [Cygwin](https://wiki.freecadweb.org/Compile_on_Cygwin)
- [MinGW](https://wiki.freecadweb.org/Compile_on_MinGW)
- [Linux](https://wiki.freecad.org/Compile_on_Linux)
- [Windows](https://wiki.freecad.org/Compile_on_Windows)
- [macOS](https://wiki.freecad.org/Compile_on_MacOS)
- [Cygwin](https://wiki.freecad.org/Compile_on_Cygwin)
- [MinGW](https://wiki.freecad.org/Compile_on_MinGW)
Reporting Issues
---------
To report an issue please:
- First post to forum to verify the issue;
- Link forum thread to bug tracker ticket and vice-a-versa;
- Use the most updated stable or development versions of FreeCAD;
@@ -97,10 +99,16 @@ To report an issue please:
- Upload an example file to demonstrate problem.
For more detail see:
- [Bug Tracker](https://github.com/FreeCAD/FreeCAD/issues)
- [Reporting Issues and Requesting Features](https://github.com/FreeCAD/FreeCAD/issues/new/choose)
- [Contributing](https://github.com/FreeCAD/FreeCAD/blob/master/CONTRIBUTING.md)
- [Help Forum](https://forum.freecadweb.org/viewforum.php?f=3)
- [Help Forum](https://forum.freecad.org/viewforum.php?f=3)
- [Developers Handbook](https://freecad.github.io/DevelopersHandbook/)
The [FPA](https://fpa.freecad.org) offers developers the opportunity
to apply for a grant to work on projects of their choosing. Check
[jobs and funding](https://blog.freecad.org/jobs/) to know more.
Usage & Getting help
@@ -110,14 +118,14 @@ The FreeCAD wiki contains documentation on
general FreeCAD usage, Python scripting, and development. These
pages might help you get started:
- [Getting started](https://wiki.freecadweb.org/Getting_started)
- [Features list](https://wiki.freecadweb.org/Feature_list)
- [Frequent questions](https://wiki.freecadweb.org/FAQ/en)
- [Workbenches](https://wiki.freecadweb.org/Workbenches)
- [Scripting](https://wiki.freecadweb.org/Power_users_hub)
- [Development](https://wiki.freecadweb.org/Developer_hub)
- [Getting started](https://wiki.freecad.org/Getting_started)
- [Features list](https://wiki.freecad.org/Feature_list)
- [Frequent questions](https://wiki.freecad.org/FAQ/en)
- [Workbenches](https://wiki.freecad.org/Workbenches)
- [Scripting](https://wiki.freecad.org/Power_users_hub)
- [Development](https://wiki.freecad.org/Developer_hub)
The [FreeCAD forum](https://forum.freecadweb.org) is also a great place
The [FreeCAD forum](https://forum.freecad.org) is also a great place
to find help and solve specific problems you might encounter when
learning to use FreeCAD.
@@ -29,8 +29,8 @@ macro(CheckInterModuleDependencies)
REQUIRES_MODS(BUILD_FLAT_MESH BUILD_MESH_PART)
REQUIRES_MODS(BUILD_OPENSCAD BUILD_MESH_PART BUILD_DRAFT)
REQUIRES_MODS(BUILD_PART_DESIGN BUILD_SKETCHER)
REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH BUILD_ROBOT)
REQUIRES_MODS(BUILD_RAYTRACING BUILD_PART)
# REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH BUILD_ROBOT)
REQUIRES_MODS(BUILD_PATH BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_REVERSEENGINEERING BUILD_PART BUILD_MESH)
REQUIRES_MODS(BUILD_ROBOT BUILD_PART)
REQUIRES_MODS(BUILD_SANDBOX BUILD_PART BUILD_MESH)
@@ -119,7 +119,6 @@ macro(InitializeFreeCADBuildOptions)
option(BUILD_PATH "Build the FreeCAD path module" ON)
option(BUILD_PLOT "Build the FreeCAD plot module" ON)
option(BUILD_POINTS "Build the FreeCAD points module" ON)
option(BUILD_RAYTRACING "Build the FreeCAD ray tracing module" ON)
option(BUILD_REVERSEENGINEERING "Build the FreeCAD reverse engineering module" ON)
option(BUILD_ROBOT "Build the FreeCAD robot module" ON)
option(BUILD_SHOW "Build the FreeCAD Show module (helper module for visibility automation)" ON)
+2 -2
View File
@@ -11,14 +11,14 @@ macro(SetupEigen)
"=================\n")
endif(NOT EIGEN3_FOUND)
if (${EIGEN3_VERSION} VERSION_LESS "3.3.1")
if (EIGEN3_FOUND AND ${EIGEN3_VERSION} VERSION_LESS "3.3.1")
message(WARNING "Disable module flatmesh because it requires "
"minimum Eigen3 version 3.3.1 but version ${EIGEN3_VERSION} was found")
set (BUILD_FLAT_MESH OFF)
endif()
# Older versions raise the warning -Wdeprecated-copy with clang10/gcc10
if (${EIGEN3_VERSION} VERSION_LESS "3.3.8")
if (EIGEN3_FOUND AND ${EIGEN3_VERSION} VERSION_LESS "3.3.8")
unset(_flag_found CACHE)
check_cxx_compiler_flag("-Wno-deprecated-copy" _flag_found)
if (_flag_found)
+33 -1
View File
@@ -15,7 +15,7 @@ if(BUILD_GUI)
list (APPEND FREECAD_QT_COMPONENTS WinExtras)
endif()
endif()
list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets)
list (APPEND FREECAD_QT_COMPONENTS OpenGL PrintSupport Svg UiTools Widgets LinguistTools)
if (BUILD_WEB)
list (APPEND FREECAD_QT_COMPONENTS WebEngineWidgets)
endif()
@@ -62,4 +62,36 @@ if (Qt${FREECAD_QT_MAJOR_VERSION}Core_VERSION VERSION_LESS 5.15.0)
qt5_wrap_cpp("${outfiles}" ${ARGN})
set("${outfiles}" "${${outfiles}}" PARENT_SCOPE)
endfunction()
function(qt_add_translation _qm_files)
qt5_add_translation("${_qm_files}" ${ARGN})
set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE)
endfunction()
endif()
function(qt_find_and_add_translation _qm_files _tr_dir _qm_dir)
file(GLOB _ts_files ${_tr_dir})
set_source_files_properties(${_ts_files} PROPERTIES OUTPUT_LOCATION ${_qm_dir})
qt_add_translation("${_qm_files}" ${_ts_files})
set("${_qm_files}" "${${_qm_files}}" PARENT_SCOPE)
endfunction()
function(qt_create_resource_file outfile)
set(QRC "<RCC>\n <qresource>\n")
foreach (it ${ARGN})
get_filename_component(qmfile "${it}" NAME)
string(APPEND QRC " <file>translations/${qmfile}</file>")
endforeach()
string(APPEND QRC " </qresource>\n</RCC>\n")
file(WRITE ${outfile} ${QRC})
endfunction()
function(qt_create_resource_file_prefix outfile)
set(QRC "<RCC>\n <qresource prefix=\"/translations\">\n")
foreach (it ${ARGN})
get_filename_component(qmfile "${it}" NAME)
string(APPEND QRC " <file>${qmfile}</file>")
endforeach()
string(APPEND QRC " </qresource>\n</RCC>\n")
file(WRITE ${outfile} ${QRC})
endfunction()
+1 -1
View File
@@ -4,7 +4,7 @@ macro(SetupSalomeSMESH)
# Salome SMESH sources are under src/3rdParty now
if(BUILD_SMESH)
# set the internal smesh version:
# see src/3rdParty/salomonemesh/CMakeLists.txt and commit https://github.com/FreeCAD/FreeCAD/commit/666a3e5 and https://forum.freecadweb.org/viewtopic.php?f=10&t=30838
# see src/3rdParty/salomonemesh/CMakeLists.txt and commit https://github.com/FreeCAD/FreeCAD/commit/666a3e5 and https://forum.freecad.org/viewtopic.php?f=10&t=30838
set(SMESH_VERSION_MAJOR 7)
set(SMESH_VERSION_MINOR 7)
set(SMESH_VERSION_PATCH 1)
+1 -1
View File
@@ -75,7 +75,7 @@ dependencies:
- ninja
- numpy
- occt==7.6.3
- openssl==3.0.8
- openssl==3.0.*
- pcl
- pip
- pivy
+4 -3
View File
@@ -7,7 +7,7 @@
# Maintainers: keep this list of plugins up to date
# List plugins in %%{_libdir}/%{name}/lib, less '.so' and 'Gui.so', here
%global plugins Fem FreeCAD PathApp Import Inspection Mesh MeshPart Part Points Raytracing ReverseEngineering Robot Sketcher Start Web PartDesignGui _PartDesign Path PathGui Spreadsheet SpreadsheetGui area DraftUtils DraftUtils libDriver libDriverDAT libDriverSTL libDriverUNV libE57Format libMEFISTO2 libSMDS libSMESH libSMESHDS libStdMeshers Measure TechDraw TechDrawGui libarea-native Surface SurfaceGui PathSimulator
%global plugins Fem FreeCAD PathApp Import Inspection Mesh MeshPart Part Points ReverseEngineering Robot Sketcher Start Web PartDesignGui _PartDesign Path PathGui Spreadsheet SpreadsheetGui area DraftUtils DraftUtils libDriver libDriverDAT libDriverSTL libDriverUNV libE57Format libMEFISTO2 libSMDS libSMESH libSMESHDS libStdMeshers Measure TechDraw TechDrawGui libarea-native Surface SurfaceGui PathSimulator
# Some configuration options for other environments
@@ -34,12 +34,12 @@
Name: %{name}
Epoch: 1
Version: 0.21
Release: pre_32806%{?dist}
Release: pre_{{{git_commit_no}}}%{?dist}
Summary: A general purpose 3D CAD modeler
Group: Applications/Engineering
License: LGPLv2+
URL: http://www.freecadweb.org/
URL: http://www.freecad.org/
Source0: https://github.com/%{github_name}/FreeCAD/archive/%{branch}.tar.gz
@@ -76,6 +76,7 @@ BuildRequires: qt5-qttools-static
BuildRequires: qt5-qtxmlpatterns-devel
BuildRequires: fmt-devel
BuildRequires: qqc2-desktop-style
BuildRequires: xerces-c
+1 -1
View File
@@ -16,7 +16,7 @@ pyshp==2.3.1
PySide2==5.15.2.1
pysolar==0.10
PyYAML==6.0
requests==2.28.2
requests==2.31.0
rpdb2==2.0.0.1.2
sets==0.3.2
vermin==1.5.1
+1 -1
View File
@@ -8,5 +8,5 @@ add_custom_target(lazy_loader ALL SOURCES
SET_PYTHON_PREFIX_SUFFIX(lazy_loader)
fc_copy_sources(lazy_loader "${CMAKE_BINARY_DIR}/Ext/lazy_loader" ${lazy_loader})
install (FILES ${lazy_loader} DESTINATION "${CMAKE_INSTALL_PREFIX}/Ext/lazy_loader")
install (FILES ${lazy_loader} DESTINATION "Ext/lazy_loader")
@@ -102,7 +102,7 @@ Driver_Mesh::Status DriverUNV_R_SMDS_Mesh::Perform()
{
// Kernel_Utils::Localizer loc;
Status aResult = DRS_OK;
// See http://forum.freecadweb.org/viewtopic.php?f=18&t=14404&p=135981#p136086 (wmayer)
// See http://forum.freecad.org/viewtopic.php?f=18&t=14404&p=135981#p136086 (wmayer)
// Line endings in UNIX format cause problems on Windows, thus the file must be opened
// in binary mode.
std::ifstream in_stream(myFile.c_str(), std::ios::in | std::ios::binary);
+2 -2
View File
@@ -2286,7 +2286,7 @@ void parseProgramOptions(int ac, char ** av, const string& exe, variables_map& v
if (vm.count("help")) {
std::stringstream str;
str << exe << endl << endl;
str << "For a detailed description see https://www.freecadweb.org/wiki/Start_up_and_Configuration" << endl<<endl;
str << "For a detailed description see https://www.freecad.org/wiki/Start_up_and_Configuration" << endl<<endl;
str << "Usage: " << exe << " [options] File1 File2 ..." << endl << endl;
str << visible << endl;
throw Base::ProgramInformation(str.str());
@@ -2948,7 +2948,7 @@ void Application::LoadParameters()
#if defined(_MSC_VER)
// fix weird error while linking boost (all versions of VC)
// VS2010: https://forum.freecadweb.org/viewtopic.php?f=4&t=1886&p=12553&hilit=boost%3A%3Afilesystem%3A%3Aget#p12553
// VS2010: https://forum.freecad.org/viewtopic.php?f=4&t=1886&p=12553&hilit=boost%3A%3Afilesystem%3A%3Aget#p12553
namespace boost { namespace program_options { std::string arg="arg"; } }
namespace boost { namespace program_options {
const unsigned options_description::m_default_line_length = 80;
+8
View File
@@ -90,6 +90,8 @@ generate_from_xml(GeoFeatureGroupExtensionPy)
generate_from_xml(MetadataPy)
generate_from_xml(OriginGroupExtensionPy)
generate_from_xml(PartPy)
generate_from_xml(StringHasherPy)
generate_from_xml(StringIDPy)
generate_from_xml(ComplexGeoDataPy)
generate_from_xml(PropertyContainerPy)
@@ -115,6 +117,8 @@ SET(FreeCADApp_XML_SRCS
PropertyContainerPy.xml
ComplexGeoDataPy.xml
MaterialPy.xml
StringHasherPy.xml
StringIDPy.xml
)
SOURCE_GROUP("XML" FILES ${FreeCADApp_XML_SRCS})
@@ -270,6 +274,9 @@ SET(FreeCADApp_CPP_SRCS
MaterialPyImp.cpp
Metadata.cpp
MetadataPyImp.cpp
StringHasher.cpp
StringHasherPyImp.cpp
StringIDPyImp.cpp
)
SET(FreeCADApp_HPP_SRCS
@@ -288,6 +295,7 @@ SET(FreeCADApp_HPP_SRCS
MappedElement.h
Material.h
Metadata.h
StringHasher.h
)
SET(FreeCADApp_SRCS
+2 -2
View File
@@ -1901,7 +1901,7 @@ bool Document::saveToFile(const char* filename) const
writer.Stream() << "<?xml version='1.0' encoding='utf-8'?>" << endl
<< "<!--" << endl
<< " FreeCAD Document, see https://www.freecadweb.org for more information..." << endl
<< " FreeCAD Document, see https://www.freecad.org for more information..." << endl
<< "-->" << endl;
Document::Save(writer);
@@ -2828,7 +2828,7 @@ int Document::recompute(const std::vector<App::DocumentObject*> &objs, bool forc
if (!d->_RecomputeLog.empty()) {
d->pendingRemove.clear();
if (!testStatus(Status::IgnoreErrorOnRecompute))
Base::Console().Error("Recompute failed! Please check report view.\n");
Base::Console().Error("Recompute failed!\n");
}
else {
for(auto &o : d->pendingRemove) {
+11
View File
@@ -897,6 +897,17 @@ std::vector<std::pair<App::DocumentObject *,std::string>> DocumentObject::getPar
return ret;
}
App::DocumentObject* DocumentObject::getFirstParent() const
{
for (auto obj : getInList()) {
if (obj->hasExtension(App::GroupExtension::getExtensionClassTypeId(), true)) {
return obj;
}
}
return nullptr;
}
DocumentObject *DocumentObject::getLinkedObject(
bool recursive, Base::Matrix4D *mat, bool transform, int depth) const
{
+3
View File
@@ -383,6 +383,9 @@ public:
///Obtain top parents and subnames of this object using its InList
std::vector<std::pair<App::DocumentObject*,std::string> > getParents(int depth=0) const;
/// Obtain the first parent group of this object
App::DocumentObject* getFirstParent() const;
/** Return the linked object with optional transformation
*
* @param recurse: If false, return the immediate linked object, or else
+1 -1
View File
@@ -1314,7 +1314,7 @@ void NumberExpression::_toString(std::ostream &ss, bool,int) const
{
// Restore the old implementation because using digits10 + 2 causes
// undesired side-effects:
// https://forum.freecadweb.org/viewtopic.php?f=3&t=44057&p=375882#p375882
// https://forum.freecad.org/viewtopic.php?f=3&t=44057&p=375882#p375882
// See also:
// https://en.cppreference.com/w/cpp/types/numeric_limits/digits10
// https://en.cppreference.com/w/cpp/types/numeric_limits/max_digits10
+2 -2
View File
@@ -231,9 +231,9 @@ EXPO [eE][-+]?[0-9]+
"cd" COUNTCHARS; yylval.quantity.scaler = Quantity::Candela; yylval.quantity.unitStr = yytext; return UNIT; // Candela (internal standard luminous intensity)
"in" COUNTCHARS; yylval.quantity.scaler = Quantity::Inch; yylval.quantity.unitStr = yytext; return UNIT; // inch
"\"" COUNTCHARS; yylval.quantity.scaler = Quantity::Inch; yylval.quantity.unitStr = yytext; return UNIT; // inch
"\"" COUNTCHARS; yylval.quantity.scaler = Quantity::Inch; yylval.quantity.unitStr = yytext; return USUNIT; // inch
"ft" COUNTCHARS; yylval.quantity.scaler = Quantity::Foot; yylval.quantity.unitStr = yytext; return UNIT; // foot
"'" COUNTCHARS; yylval.quantity.scaler = Quantity::Foot; yylval.quantity.unitStr = yytext; return UNIT; // foot
"'" COUNTCHARS; yylval.quantity.scaler = Quantity::Foot; yylval.quantity.unitStr = yytext; return USUNIT; // foot
"thou" COUNTCHARS; yylval.quantity.scaler = Quantity::Thou; yylval.quantity.unitStr = yytext; return UNIT; // thou (in/1000)
"mil" COUNTCHARS; yylval.quantity.scaler = Quantity::Thou; yylval.quantity.unitStr = yytext; return UNIT; // mil (the thou in US)
"yd" COUNTCHARS; yylval.quantity.scaler = Quantity::Yard; yylval.quantity.unitStr = yytext; return UNIT; // yard
File diff suppressed because it is too large Load Diff
+40 -27
View File
@@ -1,8 +1,9 @@
/* A Bison parser, made by GNU Bison 3.0.4. */
/* A Bison parser, made by GNU Bison 3.8.2. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
Copyright (C) 1984, 1989-1990, 2000-2015, 2018-2021 Free Software Foundation,
Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -15,7 +16,7 @@
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
along with this program. If not, see <https://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -30,6 +31,10 @@
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* DO NOT RELY ON FEATURES THAT ARE NOT DOCUMENTED in the manual,
especially those whose name start with YY_ or yy_. They are
private implementation details that can be changed or removed. */
#ifndef YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED
# define YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED
/* Debug traces. */
@@ -40,35 +45,41 @@
extern int yydebug;
#endif
/* Token type. */
/* Token kinds. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
enum yytokentype
{
FUNC = 258,
ONE = 259,
NUM = 260,
IDENTIFIER = 261,
UNIT = 262,
INTEGER = 263,
CONSTANT = 264,
CELLADDRESS = 265,
EQ = 266,
NEQ = 267,
LT = 268,
GT = 269,
GTE = 270,
LTE = 271,
STRING = 272,
MINUSSIGN = 273,
PROPERTY_REF = 274,
DOCUMENT = 275,
OBJECT = 276,
EXPONENT = 277,
NUM_AND_UNIT = 278,
NEG = 279,
POS = 280
YYEMPTY = -2,
YYEOF = 0, /* "end of file" */
YYerror = 256, /* error */
YYUNDEF = 257, /* "invalid token" */
FUNC = 258, /* FUNC */
ONE = 259, /* ONE */
NUM = 260, /* NUM */
IDENTIFIER = 261, /* IDENTIFIER */
UNIT = 262, /* UNIT */
USUNIT = 263, /* USUNIT */
INTEGER = 264, /* INTEGER */
CONSTANT = 265, /* CONSTANT */
CELLADDRESS = 266, /* CELLADDRESS */
EQ = 267, /* EQ */
NEQ = 268, /* NEQ */
LT = 269, /* LT */
GT = 270, /* GT */
GTE = 271, /* GTE */
LTE = 272, /* LTE */
STRING = 273, /* STRING */
MINUSSIGN = 274, /* MINUSSIGN */
PROPERTY_REF = 275, /* PROPERTY_REF */
DOCUMENT = 276, /* DOCUMENT */
OBJECT = 277, /* OBJECT */
EXPONENT = 278, /* EXPONENT */
NUM_AND_UNIT = 279, /* NUM_AND_UNIT */
NEG = 280, /* NEG */
POS = 281 /* POS */
};
typedef enum yytokentype yytoken_kind_t;
#endif
/* Value type. */
@@ -76,6 +87,8 @@ extern int yydebug;
extern YYSTYPE yylval;
int yyparse (void);
#endif /* !YY_YY_EXPRESSIONPARSER_TAB_H_INCLUDED */
+23 -15
View File
@@ -40,7 +40,7 @@ std::stack<FunctionExpression::Function> functions; /**< Function
%token ONE
%token NUM
%token IDENTIFIER
%token UNIT
%token UNIT USUNIT
%token INTEGER
%token CONSTANT
%token CELLADDRESS
@@ -49,8 +49,8 @@ std::stack<FunctionExpression::Function> functions; /**< Function
%token DOCUMENT OBJECT
%token EXPONENT
%type <arguments> args
%type <expr> input exp unit_exp cond indexable
%type <quantity> UNIT
%type <expr> input unit_num us_building_unit other_unit exp unit_exp cond indexable
%type <quantity> UNIT USUNIT
%type <string> id_or_cell STRING IDENTIFIER CELLADDRESS
%type <ivalue> INTEGER
%type <string> PROPERTY_REF
@@ -79,28 +79,32 @@ std::stack<FunctionExpression::Function> functions; /**< Function
%destructor { std::vector<Expression*>::const_iterator i = $$.begin(); while (i != $$.end()) { delete *i; ++i; } } args
%start input
%%
input: exp { ScanResult = $1; valueExpression = true; }
| unit_exp { ScanResult = $1; unitExpression = true; }
input: exp { ScanResult = $1; valueExpression = true; }
| unit_exp { ScanResult = $1; unitExpression = true; }
;
exp: num { $$ = $1; }
| num unit_exp %prec NUM_AND_UNIT { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::UNIT, $2); }
unit_num: num unit_exp %prec NUM_AND_UNIT { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::UNIT, $2); }
| num us_building_unit num us_building_unit %prec NUM_AND_UNIT { $$ = new OperatorExpression(DocumentObject, new OperatorExpression(DocumentObject, $1, OperatorExpression::UNIT, $2), OperatorExpression::ADD, new OperatorExpression(DocumentObject, $3, OperatorExpression::UNIT, $4));}
;
exp: num { $$ = $1; }
| unit_num { $$ = $1; }
| STRING { $$ = new StringExpression(DocumentObject, $1); }
| identifier { $$ = new VariableExpression(DocumentObject, $1); }
| MINUSSIGN exp %prec NEG { $$ = new OperatorExpression(DocumentObject, $2, OperatorExpression::NEG, new NumberExpression(DocumentObject, Quantity(-1))); }
| '+' exp %prec POS { $$ = new OperatorExpression(DocumentObject, $2, OperatorExpression::POS, new NumberExpression(DocumentObject, Quantity(1))); }
| exp '+' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::ADD, $3); }
| exp '+' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::ADD, $3); }
| exp MINUSSIGN exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::SUB, $3); }
| exp '*' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MUL, $3); }
| exp '/' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::DIV, $3); }
| exp '%' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MOD, $3); }
| exp '*' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MUL, $3); }
| exp '/' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::DIV, $3); }
| exp '%' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MOD, $3); }
| exp '/' unit_exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::DIV, $3); }
| exp '^' exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::POW, $3); }
| indexable { $$ = $1; }
| FUNC args ')' { $$ = new FunctionExpression(DocumentObject, $1.first, std::move($1.second), $2); }
| indexable { $$ = $1; }
| FUNC args ')' { $$ = new FunctionExpression(DocumentObject, $1.first, std::move($1.second), $2);}
| cond '?' exp ':' exp { $$ = new ConditionalExpression(DocumentObject, $1, $3, $5); }
| '(' exp ')' { $$ = $2; }
;
@@ -130,7 +134,11 @@ cond: exp EQ exp { $$ = new OperatorExpression(Do
| '(' cond ')' { $$ = $2; }
;
unit_exp: UNIT { $$ = new UnitExpression(DocumentObject, $1.scaler, $1.unitStr ); }
us_building_unit: USUNIT { $$ = new UnitExpression(DocumentObject, $1.scaler, $1.unitStr ); }
other_unit: UNIT { $$ = new UnitExpression(DocumentObject, $1.scaler, $1.unitStr ); }
unit_exp: other_unit { $$ = $1; }
| us_building_unit { $$ = $1; }
| unit_exp '/' unit_exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::DIV, $3); }
| unit_exp '*' unit_exp { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::MUL, $3); }
| unit_exp '^' integer { $$ = new OperatorExpression(DocumentObject, $1, OperatorExpression::POW, new NumberExpression(DocumentObject, Quantity((double)$3))); }
+1 -1
View File
@@ -39,7 +39,7 @@ QString ExpressionTokenizer::perform(const QString& prefix, int pos)
{
// ExpressionParser::tokenize() only supports std::string but we need a tuple QString
// because due to UTF-8 encoding a std::string may be longer than a QString
// See https://forum.freecadweb.org/viewtopic.php?f=3&t=69931
// See https://forum.freecad.org/viewtopic.php?f=3&t=69931
auto tokenizeExpression = [](const QString& expr) {
std::vector<std::tuple<int, int, std::string>> result =
ExpressionParser::tokenize(expr.toStdString());
+1 -1
View File
@@ -183,7 +183,7 @@ struct AppExport GenericMetadata {
*
* The metadata format is based on https://ros.org/reps/rep-0149.html, modified for FreeCAD
* use. Full format documentation is available at the FreeCAD Wiki:
* https://wiki.freecadweb.org/Package_Metadata
* https://wiki.freecad.org/Package_Metadata
*/
class AppExport Metadata
{
+10 -9
View File
@@ -44,9 +44,6 @@ using namespace App;
PROPERTY_SOURCE(App::Origin, App::DocumentObject)
const char* Origin::AxisRoles[3] = {"X_Axis", "Y_Axis", "Z_Axis"};
const char* Origin::PlaneRoles[3] = {"XY_Plane", "XZ_Plane", "YZ_Plane"};
Origin::Origin() : extension(this) {
ADD_PROPERTY_TYPE ( OriginFeatures, (nullptr), 0, App::Prop_Hidden,
"Axis and baseplanes controlled by the origin" );
@@ -137,14 +134,15 @@ void Origin::setupObject () {
const static struct {
const Base::Type type;
const char *role;
const QString label;
Base::Rotation rot;
} setupData [] = {
{App::Line::getClassTypeId(), "X_Axis", Base::Rotation () },
{App::Line::getClassTypeId(), "Y_Axis", Base::Rotation ( Base::Vector3d (1,1,1), M_PI*2/3 ) },
{App::Line::getClassTypeId(), "Z_Axis", Base::Rotation ( Base::Vector3d (1,1,1), M_PI*4/3 ) },
{App::Plane::getClassTypeId (), "XY_Plane", Base::Rotation () },
{App::Plane::getClassTypeId (), "XZ_Plane", Base::Rotation ( 1.0, 0.0, 0.0, 1.0 ), },
{App::Plane::getClassTypeId (), "YZ_Plane", Base::Rotation ( Base::Vector3d (1,1,1), M_PI*2/3 ) },
{App::Line::getClassTypeId(), AxisRoles[0], tr("X-axis"), Base::Rotation()},
{App::Line::getClassTypeId(), AxisRoles[1], tr("Y-axis"), Base::Rotation(Base::Vector3d(1,1,1), M_PI*2/3)},
{App::Line::getClassTypeId(), AxisRoles[2], tr("Z-axis"), Base::Rotation(Base::Vector3d(1,-1,1), M_PI*2/3)},
{App::Plane::getClassTypeId(), PlaneRoles[0], tr("XY-plane"), Base::Rotation()},
{App::Plane::getClassTypeId(), PlaneRoles[1], tr("XZ-plane"), Base::Rotation(1.0, 0.0, 0.0, 1.0 )},
{App::Plane::getClassTypeId(), PlaneRoles[2], tr("YZ-plane"), Base::Rotation(Base::Vector3d(1,1,1), M_PI*2/3)}
};
App::Document *doc = getDocument ();
@@ -156,6 +154,9 @@ void Origin::setupObject () {
assert ( featureObj && featureObj->isDerivedFrom ( App::OriginFeature::getClassTypeId () ) );
QByteArray byteArray = data.label.toUtf8();
featureObj->Label.setValue(byteArray.constData());
App::OriginFeature *feature = static_cast <App::OriginFeature *> ( featureObj );
feature->Placement.setValue ( Base::Placement ( Base::Vector3d (), data.rot ) );
feature->Role.setValue ( data.role );
+10 -8
View File
@@ -28,6 +28,7 @@
#include "GeoFeatureGroupExtension.h"
#include "OriginFeature.h"
#include "QCoreApplication"
namespace App
{
@@ -37,6 +38,7 @@ namespace App
class AppExport Origin : public App::DocumentObject
{
PROPERTY_HEADER_WITH_OVERRIDE(App::Origin);
Q_DECLARE_TR_FUNCTIONS(App::Origin)
public:
/// Constructor
@@ -55,28 +57,28 @@ public:
///@{
// returns X axis
App::Line *getX () const {
return getAxis ("X_Axis");
return getAxis (AxisRoles[0]);
}
// returns Y axis
App::Line *getY () const {
return getAxis ("Y_Axis");
return getAxis (AxisRoles[1]);
}
// returns Z axis
App::Line *getZ () const {
return getAxis ("Z_Axis");
return getAxis (AxisRoles[2]);
}
// returns XY plane
App::Plane *getXY () const {
return getPlane ("XY_Plane");
return getPlane (PlaneRoles[0]);
}
// returns XZ plane
App::Plane *getXZ () const {
return getPlane ("XZ_Plane");
return getPlane (PlaneRoles[1]);
}
// returns YZ plane
App::Plane *getYZ () const {
return getPlane ("YZ_Plane");
return getPlane (PlaneRoles[2]);
}
/// Returns all axis objects to iterate on them
@@ -115,9 +117,9 @@ public:
short mustExecute() const override;
/// Axis types
static const char* AxisRoles[3];
static constexpr char* AxisRoles[3] = {"X_Axis", "Y_Axis", "Z_Axis"};
/// Baseplane types
static const char* PlaneRoles[3];
static constexpr char* PlaneRoles[3] = {"XY_Plane", "XZ_Plane", "YZ_Plane"};
// Axis links
PropertyLinkList OriginFeatures;
+11 -3
View File
@@ -129,10 +129,17 @@ App::DocumentObjectExecReturn *OriginGroupExtension::extensionExecute() {
return GeoFeatureGroupExtension::extensionExecute ();
}
App::DocumentObject *OriginGroupExtension::getLocalizedOrigin(App::Document *doc) {
App::DocumentObject *originObject = doc->addObject ( "App::Origin", "Origin" );
QByteArray byteArray = tr("Origin").toUtf8();
originObject->Label.setValue(byteArray.constData());
return originObject;
}
void OriginGroupExtension::onExtendedSetupObject () {
App::Document *doc = getExtendedObject()->getDocument ();
App::DocumentObject *originObj = doc->addObject ( "App::Origin", "Origin" );
App::DocumentObject *originObj = getLocalizedOrigin(doc);
assert ( originObj && originObj->isDerivedFrom ( App::Origin::getClassTypeId () ) );
Origin.setValue (originObj);
@@ -160,10 +167,11 @@ void OriginGroupExtension::extensionOnChanged(const Property* p) {
&& owner->getDocument()->testStatus(Document::Importing)) {
for (auto o : origin->getInList()) {
if(o != owner && o->hasExtension(App::OriginGroupExtension::getExtensionClassTypeId())) {
App::Document *document = owner->getDocument();
// Temporarily reset 'Restoring' status to allow document to auto label new objects
Base::ObjectStatusLocker<Document::Status, Document> guard(
Document::Restoring, owner->getDocument(), false);
Origin.setValue(owner->getDocument()->addObject("App::Origin", "Origin"));
Document::Restoring, document, false);
Origin.setValue(getLocalizedOrigin(document));
FC_WARN("Reset origin in " << owner->getFullName());
return;
}
+6
View File
@@ -24,6 +24,7 @@
#define ORIGINGROUP_H_QHTU73IF
#include "GeoFeatureGroupExtension.h"
#include "QCoreApplication"
namespace App {
class Origin;
@@ -34,6 +35,7 @@ class Origin;
class AppExport OriginGroupExtension : public App::GeoFeatureGroupExtension
{
EXTENSION_PROPERTY_HEADER_WITH_OVERRIDE(App::OriginGroupExtension);
Q_DECLARE_TR_FUNCTIONS(App::OriginGroupExtension)
public:
OriginGroupExtension ();
@@ -78,6 +80,10 @@ protected:
void onExtendedSetupObject () override;
/// Removes all planes and axis if they are still linked to the document
void onExtendedUnsetupObject () override;
private:
/// Creates a localized Origin object
App::DocumentObject *getLocalizedOrigin(App::Document *doc);
};
using OriginGroupExtensionPython = ExtensionPythonT<GroupExtensionPythonT<OriginGroupExtension>>;
+1
View File
@@ -32,5 +32,6 @@
<file>App_ro.qm</file>
<file>App_gl.qm</file>
<file>App_ko.qm</file>
<file>App_id.qm</file>
</qresource>
</RCC>
+41
View File
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
<translation>Без назвы</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Вось X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Вось Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Вось Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Плоскасць XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Плоскасць XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Плоскасць YZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Пачатак каардынат</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Sense nom</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished">X-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished">Y-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished">Z-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished">XY-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished">XZ-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished">YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origen</translation>
</message>
</context>
</TS>
Binary file not shown.
+43 -2
View File
@@ -7,8 +7,8 @@
<location filename="../../Link.cpp" line="119"/>
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</source>
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</translation>
<translation>Ukládá poslední uživatelskou volbu, zda použít nastavení „Kopírovat při změně“ na všechny odkazy
které odkazují na stejný konfigurovatelný objekt</translation>
</message>
</context>
<context>
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Nepojmenovaný</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Osa X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Osa Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Osa Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Rovina XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Rovina XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Rovina YZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Počátek</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ angewendet werden soll, die das gleiche konfigurierbare Objekt referenzieren</tr
<translation>Unbenannt</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>X-Achse</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Y-Achse</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Z-Achse</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>XY-Ebene</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>XZ-Ebene</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ-Ebene</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Ursprung</translation>
</message>
</context>
</TS>
Binary file not shown.
+43 -2
View File
@@ -7,8 +7,8 @@
<location filename="../../Link.cpp" line="119"/>
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</source>
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</translation>
<translation>Αποθηκεύει την τελευταία επιλογή χρήστη για το αν θα εφαρμοστεί η ρύθμιση CopyOnChange σε όλους τους συνδέσμους
που αναφέρονται στο ίδιο διαμορφώσιμο αντικείμενο</translation>
</message>
</context>
<context>
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Ανώνυμο</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Άξονας X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Άξονας Υ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Άξονας Ζ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Επίπεδο XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Επίπεδο XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Επίπεδο ΥZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Σημείο Τομής Αξόνων</translation>
</message>
</context>
</TS>
Binary file not shown.
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
<translation>Sin nombre</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Eje X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Eje Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Eje Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Plano XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Plano XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Plano YZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origen de Coordenadas</translation>
</message>
</context>
</TS>
Binary file not shown.
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
<translation>Sin nombre</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Eje X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Eje Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Eje Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Plano XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Plano XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Plano YZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origen de coordenadas</translation>
</message>
</context>
</TS>
Binary file not shown.
+42 -2
View File
@@ -7,8 +7,7 @@
<location filename="../../Link.cpp" line="119"/>
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</source>
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</translation>
<translation>CopyOnChange konfigurazioa objektu konfiguragarri berari erreferentzia egiten dieten esteka guztietan aplikatzeari dagokionez erabiltzaileak aukeratutako azken aukera biltegiratzen du</translation>
</message>
</context>
<context>
@@ -19,4 +18,45 @@ that reference the same configurable object</translation>
<translation>Izenik gabea</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>X ardatza</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Y ardatza</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Z ardatza</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>XY planoa</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>XZ planoa</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ planoa</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Jatorria</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Nimetön</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished">X-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished">Y-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished">Z-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished">XY-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished">XZ-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished">YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origo</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ that reference the same configurable object</source>
<translation>Sans nom</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Axe-X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Axe-Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Axe-Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Plan-XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Plan-XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Plan-YZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origine</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Sen nome</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished">X-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished">Y-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished">Z-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished">XY-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished">XZ-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished">YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Orixe</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Neimenovano</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished">X-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished">Y-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished">Z-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished">XY-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished">XZ-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished">YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Izvornik</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ amelyek ugyanarra a konfigurálható tárgyra hivatkoznak</translation>
<translation>Névtelen</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>X-tengely</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Y tengely</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Z tengely</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>XY sík</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>XZ sík</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ síkban</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Kezdőpont</translation>
</message>
</context>
</TS>
Binary file not shown.
+22
View File
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="id" sourcelanguage="en">
<context>
<name>LinkParams</name>
<message>
<location filename="../../Link.cpp" line="119"/>
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</source>
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</translation>
</message>
</context>
<context>
<name>QObject</name>
<message>
<location filename="../../Application.cpp" line="441"/>
<source>Unnamed</source>
<translation>Tanpa nama</translation>
</message>
</context>
</TS>
Binary file not shown.
+43 -2
View File
@@ -7,8 +7,8 @@
<location filename="../../Link.cpp" line="119"/>
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</source>
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</translation>
<translation>Memorizza l'ultima scelta dell'utente se applicare l'impostazione CopyOnChange a tutti i link
che fanno riferimento allo stesso oggetto configurabile</translation>
</message>
</context>
<context>
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Senza nome</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Asse-X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Asse-Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Asse-Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Piano-XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Piano-XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Piano-YZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origine</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Unnamed</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished">X-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished">Y-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished">Z-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished">XY-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished">XZ-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished">YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>原点</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
<translation>უსახელო</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>X ღერძი</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Y ღერძი</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Z ღერძი</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>XY-სიბრტყე</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>XZ-სიბრტყე</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ-სიბრტყე</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>კოორდინატების საწყისი</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>이름없음</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished">X-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished">Y-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished">Z-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished">XY-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished">XZ-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished">YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>원점</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ die verwijzen naar hetzelfde configureerbare object</translation>
<translation>Naamloos</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>X-as</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Y-as</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Z-as</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>XY-vlak</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>XZ-vlak</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ-vlak</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Oorsprong</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ które odnoszą się do tego samego obiektu konfigurowalnego</translation>
<translation>Nienazwany</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Oś X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Oś Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Oś Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Płaszczyzna XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Płaszczyzna XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Płaszczyzna YZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Odniesienie położenia</translation>
</message>
</context>
</TS>
Binary file not shown.
@@ -19,4 +19,45 @@ que referenciam o mesmo objeto configurável</translation>
<translation>Sem nome</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished">X-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished">Y-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished">Z-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished">XY-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished">XZ-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished">YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origem</translation>
</message>
</context>
</TS>
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Sem nome</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation type="unfinished">X-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation type="unfinished">Y-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation type="unfinished">Z-axis</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation type="unfinished">XY-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation type="unfinished">XZ-plane</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation type="unfinished">YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origem</translation>
</message>
</context>
</TS>
Binary file not shown.
+43 -2
View File
@@ -7,8 +7,8 @@
<location filename="../../Link.cpp" line="119"/>
<source>Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</source>
<translation type="unfinished">Stores the last user choice of whether to apply CopyOnChange setup to all links
that reference the same configurable object</translation>
<translation>Stochează ultima alegere a utilizatorului de a aplica CopyOnChange setup la toate link-urile
care fac referire la același obiect configurabil</translation>
</message>
</context>
<context>
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Nedenumit</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Axa X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Axa Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Axa Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Planul XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Plan XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ-plane</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Origine</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -18,4 +18,45 @@ that reference the same configurable object</source>
<translation>Безымянный</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Ось X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Ось-Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Ось-Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>XY плоскость</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>XZ-плоскость</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ-плоскость</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Начало координат</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ za vse povezave, ki se sklicujejo na isti nastavljivi predmet</translation>
<translation>Neimenovan</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>Os X</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Os Y</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Os Z</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>Ravnina XY</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>Ravnina XZ</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>Ravnina YZ</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Izhodišče</translation>
</message>
</context>
</TS>
Binary file not shown.
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Bez imena</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>X-osa</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Y-osa</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Z-osa</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>XY ravan</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>XZ ravan</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ ravan</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Koordinatni početak</translation>
</message>
</context>
</TS>
Binary file not shown.
+41
View File
@@ -19,4 +19,45 @@ that reference the same configurable object</translation>
<translation>Без имена</translation>
</message>
</context>
<context>
<name>App::Origin</name>
<message>
<location filename="../../Origin.cpp" line="140"/>
<source>X-axis</source>
<translation>X-оса</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="141"/>
<source>Y-axis</source>
<translation>Y-оса</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="142"/>
<source>Z-axis</source>
<translation>Z-оса</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="143"/>
<source>XY-plane</source>
<translation>XY раван</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="144"/>
<source>XZ-plane</source>
<translation>XZ раван</translation>
</message>
<message>
<location filename="../../Origin.cpp" line="145"/>
<source>YZ-plane</source>
<translation>YZ раван</translation>
</message>
</context>
<context>
<name>App::OriginGroupExtension</name>
<message>
<location filename="../../OriginGroupExtension.cpp" line="134"/>
<source>Origin</source>
<translation>Координатни почетак</translation>
</message>
</context>
</TS>
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More