Compare commits
34 Commits
v2.00.03.5
...
v2.02.01.6
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
6b46f9fd48 | ||
|
|
71252cf326 | ||
|
|
6ec016a6f8 | ||
|
|
8177bf8912 | ||
|
|
523aea89af | ||
|
|
f16489db9c | ||
|
|
56232999f5 | ||
|
|
5cdfef9f9e | ||
|
|
0c78224f1a | ||
|
|
eec6d77112 | ||
|
|
72a3a1e841 | ||
|
|
87acaa14f7 | ||
|
|
dab82d0248 | ||
|
|
15dd71693d | ||
|
|
2fa18f50c6 | ||
|
|
38c3592758 | ||
|
|
8a68adb427 | ||
|
|
661b112a68 | ||
|
|
8d4d60ec48 | ||
|
|
e3f49c2fb5 | ||
|
|
5effa59bd0 | ||
|
|
8ed41b9f06 | ||
|
|
fc0a06deaa | ||
|
|
a253e093f8 | ||
|
|
64806161f0 | ||
|
|
4dadec668b | ||
|
|
eb7e027385 | ||
|
|
7f04d94ea1 | ||
|
|
f60592f1a0 | ||
|
|
e0d447172c | ||
|
|
bafe693d0a | ||
|
|
c56a6849eb | ||
|
|
e8c9baa840 | ||
|
|
688396a0a0 |
3
.gitignore
vendored
@@ -28,3 +28,6 @@ SVG
|
||||
**/machine_full/
|
||||
**/filament_full/
|
||||
.idea/
|
||||
test.js
|
||||
/.cache/
|
||||
.clangd
|
||||
244
BuildMac.sh
Normal file
@@ -0,0 +1,244 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
set -o pipefail
|
||||
|
||||
while getopts "1dpa:st:xbc:h" opt; do
|
||||
case "${opt}" in
|
||||
d )
|
||||
export BUILD_TARGET="deps"
|
||||
;;
|
||||
p )
|
||||
export PACK_DEPS="1"
|
||||
;;
|
||||
a )
|
||||
export ARCH="$OPTARG"
|
||||
;;
|
||||
s )
|
||||
export BUILD_TARGET="slicer"
|
||||
;;
|
||||
t )
|
||||
export OSX_DEPLOYMENT_TARGET="$OPTARG"
|
||||
;;
|
||||
x )
|
||||
export SLICER_CMAKE_GENERATOR="Ninja"
|
||||
export SLICER_BUILD_TARGET="all"
|
||||
export DEPS_CMAKE_GENERATOR="Ninja"
|
||||
;;
|
||||
b )
|
||||
export BUILD_ONLY="1"
|
||||
;;
|
||||
c )
|
||||
export BUILD_CONFIG="$OPTARG"
|
||||
;;
|
||||
1 )
|
||||
export CMAKE_BUILD_PARALLEL_LEVEL=1
|
||||
;;
|
||||
h ) echo "Usage: ./BuildMac.sh [-1][-d][-s][-x][-b][-c]"
|
||||
echo " -d: Build deps"
|
||||
echo " -a: Set ARCHITECTURE (arm64 or x86_64 or universal)"
|
||||
echo " -s: Build slicer only"
|
||||
echo " -t: Specify minimum version of the target platform, default is 10.15"
|
||||
echo " -x: Use Ninja CMake generator, default is Xcode"
|
||||
echo " -b: Build without reconfiguring CMake"
|
||||
echo " -c: Set CMake build configuration, default is Release"
|
||||
echo " -1: limit builds to 1 core (where possible)"
|
||||
exit 0
|
||||
;;
|
||||
* )
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$ARCH" ]; then
|
||||
ARCH="$(uname -m)"
|
||||
export ARCH
|
||||
fi
|
||||
|
||||
if [ -z "$BUILD_CONFIG" ]; then
|
||||
export BUILD_CONFIG="Release"
|
||||
fi
|
||||
|
||||
if [ -z "$BUILD_TARGET" ]; then
|
||||
export BUILD_TARGET="all"
|
||||
fi
|
||||
|
||||
if [ -z "$SLICER_CMAKE_GENERATOR" ]; then
|
||||
export SLICER_CMAKE_GENERATOR="Xcode"
|
||||
fi
|
||||
|
||||
if [ -z "$SLICER_BUILD_TARGET" ]; then
|
||||
export SLICER_BUILD_TARGET="ALL_BUILD"
|
||||
fi
|
||||
|
||||
if [ -z "$DEPS_CMAKE_GENERATOR" ]; then
|
||||
export DEPS_CMAKE_GENERATOR="Unix Makefiles"
|
||||
fi
|
||||
|
||||
if [ -z "$OSX_DEPLOYMENT_TARGET" ]; then
|
||||
export OSX_DEPLOYMENT_TARGET="10.15"
|
||||
fi
|
||||
|
||||
echo "Build params:"
|
||||
echo " - ARCH: $ARCH"
|
||||
echo " - BUILD_CONFIG: $BUILD_CONFIG"
|
||||
echo " - BUILD_TARGET: $BUILD_TARGET"
|
||||
echo " - CMAKE_GENERATOR: $SLICER_CMAKE_GENERATOR for Slicer, $DEPS_CMAKE_GENERATOR for deps"
|
||||
echo " - OSX_DEPLOYMENT_TARGET: $OSX_DEPLOYMENT_TARGET"
|
||||
echo " - CMAKE_BUILD_PARALLEL_LEVEL: $CMAKE_BUILD_PARALLEL_LEVEL"
|
||||
echo
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$ARCH"
|
||||
DEPS_DIR="$PROJECT_DIR/deps"
|
||||
DEPS_BUILD_DIR="$DEPS_DIR/build/$ARCH"
|
||||
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||
|
||||
if [ "$SLICER_CMAKE_GENERATOR" == "Xcode" ]; then
|
||||
export BUILD_DIR_CONFIG_SUBDIR="/$BUILD_CONFIG"
|
||||
else
|
||||
export BUILD_DIR_CONFIG_SUBDIR=""
|
||||
fi
|
||||
|
||||
function build_deps() {
|
||||
# iterate over two architectures: x86_64 and arm64
|
||||
for _ARCH in x86_64 arm64; do
|
||||
# if ARCH is universal or equal to _ARCH
|
||||
if [ "$ARCH" == "universal" ] || [ "$ARCH" == "$_ARCH" ]; then
|
||||
|
||||
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$_ARCH"
|
||||
DEPS_BUILD_DIR="$DEPS_DIR/build/$_ARCH"
|
||||
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||
|
||||
echo "Building deps..."
|
||||
(
|
||||
set -x
|
||||
mkdir -p "$DEPS"
|
||||
cd "$DEPS_BUILD_DIR"
|
||||
if [ "1." != "$BUILD_ONLY". ]; then
|
||||
cmake "${DEPS_DIR}" \
|
||||
-G "${DEPS_CMAKE_GENERATOR}" \
|
||||
-DDESTDIR="$DEPS" \
|
||||
-DOPENSSL_ARCH="darwin64-${_ARCH}-cc" \
|
||||
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
|
||||
-DCMAKE_OSX_ARCHITECTURES:STRING="${_ARCH}" \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
|
||||
fi
|
||||
cmake --build . --parallel ${CMAKE_BUILD_PARALLEL_LEVEL} --config "$BUILD_CONFIG" --target deps
|
||||
)
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function pack_deps() {
|
||||
echo "Packing deps..."
|
||||
(
|
||||
set -x
|
||||
cd "$DEPS_DIR"
|
||||
tar -zcvf "QIDIStudio_dep_mac_${ARCH}_$(date +"%Y%m%d").tar.gz" "build"
|
||||
)
|
||||
}
|
||||
|
||||
function build_slicer() {
|
||||
# iterate over two architectures: x86_64 and arm64
|
||||
for _ARCH in x86_64 arm64; do
|
||||
# if ARCH is universal or equal to _ARCH
|
||||
if [ "$ARCH" == "universal" ] || [ "$ARCH" == "$_ARCH" ]; then
|
||||
|
||||
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$_ARCH"
|
||||
DEPS_BUILD_DIR="$DEPS_DIR/build/$_ARCH"
|
||||
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||
|
||||
echo "Building slicer for $_ARCH..."
|
||||
(
|
||||
set -x
|
||||
mkdir -p "$PROJECT_BUILD_DIR"
|
||||
cd "$PROJECT_BUILD_DIR"
|
||||
if [ "1." != "$BUILD_ONLY". ]; then
|
||||
cmake "${PROJECT_DIR}" \
|
||||
-G "${SLICER_CMAKE_GENERATOR}" \
|
||||
-DQDT_RELEASE_TO_PUBLIC=1 \
|
||||
-DQDT_INTERNAL_TESTING=0 \
|
||||
-DCMAKE_PREFIX_PATH="$DEPS/usr/local" \
|
||||
-DCMAKE_INSTALL_PREFIX="$PWD/QIDIStudio" \
|
||||
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
|
||||
-DCMAKE_MACOSX_RPATH=ON \
|
||||
-DCMAKE_INSTALL_RPATH="${DEPS}/usr/local" \
|
||||
-DCMAKE_MACOSX_BUNDLE=ON \
|
||||
-DCMAKE_OSX_ARCHITECTURES="${_ARCH}" \
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
|
||||
fi
|
||||
cmake --build . --config "$BUILD_CONFIG" --target "$SLICER_BUILD_TARGET"
|
||||
)
|
||||
|
||||
|
||||
echo "Fix macOS app package..."
|
||||
(
|
||||
cd "$PROJECT_BUILD_DIR"
|
||||
mkdir -p QIDIStudio
|
||||
cd QIDIStudio
|
||||
# remove previously built app
|
||||
rm -rf ./QIDIStudio.app
|
||||
# fully copy newly built app
|
||||
cp -pR "../src$BUILD_DIR_CONFIG_SUBDIR/QIDIStudio.app" ./QIDIStudio.app
|
||||
# fix resources
|
||||
resources_path=$(readlink ./QIDIStudio.app/Contents/Resources)
|
||||
rm ./QIDIStudio.app/Contents/Resources
|
||||
cp -R "$resources_path" ./QIDIStudio.app/Contents/Resources
|
||||
# delete .DS_Store file
|
||||
find ./QIDIStudio.app/ -name '.DS_Store' -delete
|
||||
)
|
||||
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
function build_universal() {
|
||||
echo "Building universal binary..."
|
||||
|
||||
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$ARCH"
|
||||
|
||||
# Create universal binary
|
||||
echo "Creating universal binary..."
|
||||
# PROJECT_BUILD_DIR="$PROJECT_DIR/build_Universal"
|
||||
mkdir -p "$PROJECT_BUILD_DIR/QIDIStudio"
|
||||
UNIVERSAL_APP="$PROJECT_BUILD_DIR/QIDIStudio/QIDIStudio.app"
|
||||
rm -rf "$UNIVERSAL_APP"
|
||||
cp -R "$PROJECT_DIR/build/arm64/QIDIStudio/QIDIStudio.app" "$UNIVERSAL_APP"
|
||||
|
||||
# Get the binary path inside the .app bundle
|
||||
BINARY_PATH="Contents/MacOS/QIDIStudio"
|
||||
|
||||
# Create universal binary using lipo
|
||||
lipo -create \
|
||||
"$PROJECT_DIR/build/x86_64/QIDIStudio/QIDIStudio.app/$BINARY_PATH" \
|
||||
"$PROJECT_DIR/build/arm64/QIDIStudio/QIDIStudio.app/$BINARY_PATH" \
|
||||
-output "$UNIVERSAL_APP/$BINARY_PATH"
|
||||
|
||||
echo "Universal binary created at $UNIVERSAL_APP"
|
||||
}
|
||||
|
||||
case "${BUILD_TARGET}" in
|
||||
all)
|
||||
build_deps
|
||||
build_slicer
|
||||
;;
|
||||
deps)
|
||||
build_deps
|
||||
;;
|
||||
slicer)
|
||||
build_slicer
|
||||
;;
|
||||
*)
|
||||
echo "Unknown target: $BUILD_TARGET. Available targets: deps, slicer, all."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$ARCH" = "universal" ] && [ "$BUILD_TARGET" != "deps" ]; then
|
||||
build_universal
|
||||
fi
|
||||
|
||||
if [ "1." == "$PACK_DEPS". ]; then
|
||||
pack_deps
|
||||
fi
|
||||
@@ -44,6 +44,7 @@ set(IS_CROSS_COMPILE FALSE)
|
||||
|
||||
set(FLATPAK FALSE CACHE BOOL "Not copy FFMPEG file")
|
||||
|
||||
|
||||
if (APPLE)
|
||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||
@@ -54,7 +55,10 @@ if (APPLE)
|
||||
if (CMAKE_MACOSX_BUNDLE)
|
||||
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
||||
endif()
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||
endif ()
|
||||
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
||||
endif ()
|
||||
@@ -170,6 +174,14 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
||||
# WIN10SDK_PATH is used to point CMake to the WIN10 SDK installation directory.
|
||||
# We pick it from environment if it is not defined in another way
|
||||
if(WIN32)
|
||||
if(EXISTS "${CMAKE_SOURCE_DIR}/scripts/hooks/pre-commit" AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||
message(STATUS ".git: directory")
|
||||
configure_file(
|
||||
"${CMAKE_SOURCE_DIR}/scripts/hooks/pre-commit"
|
||||
"${CMAKE_SOURCE_DIR}/.git/hooks/pre-commit"
|
||||
)
|
||||
endif()
|
||||
|
||||
find_package(PkgConfig REQUIRED)
|
||||
if(NOT DEFINED WIN10SDK_PATH)
|
||||
if(DEFINED ENV{WIN10SDK_PATH})
|
||||
@@ -238,6 +250,8 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
|
||||
# On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error.
|
||||
add_compile_options(-Werror=return-type)
|
||||
|
||||
# add_compile_options(-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-label -Wno-unused-local-typedefs)
|
||||
|
||||
# removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1)
|
||||
# https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
|
||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
||||
@@ -251,6 +265,10 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
|
||||
add_compile_options(-Wno-deprecated-declarations)
|
||||
endif()
|
||||
|
||||
if((${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang") AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 15)
|
||||
add_compile_options(-Wno-error=enum-constexpr-conversion)
|
||||
endif()
|
||||
|
||||
#GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
|
||||
@@ -305,7 +323,7 @@ if(WIN32)
|
||||
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
|
||||
if(MSVC)
|
||||
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
|
||||
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601 -DBOOST_SYSTEM_USE_UTF8 )
|
||||
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x602 -DBOOST_SYSTEM_USE_UTF8 )
|
||||
# Force the source code encoding to UTF-8. See QIDIStudio GH pull request #5583
|
||||
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||||
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||||
@@ -347,7 +365,7 @@ endif()
|
||||
# set(Boost_COMPILER "-mgw81")
|
||||
# boost::process was introduced first in version 1.64.0,
|
||||
# boost::beast::detail::base64 was introduced first in version 1.66.0
|
||||
set(MINIMUM_BOOST_VERSION "1.66.0")
|
||||
set(MINIMUM_BOOST_VERSION "1.83.0")
|
||||
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
|
||||
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
|
||||
|
||||
@@ -366,7 +384,7 @@ endif()
|
||||
function(slic3r_remap_configs targets from_Cfg to_Cfg)
|
||||
if(MSVC)
|
||||
string(TOUPPER ${from_Cfg} from_CFG)
|
||||
|
||||
|
||||
foreach(tgt ${targets})
|
||||
if(TARGET ${tgt})
|
||||
set_target_properties(${tgt} PROPERTIES MAP_IMPORTED_CONFIG_${from_CFG} ${to_Cfg})
|
||||
@@ -668,7 +686,7 @@ function(qidistudio_copy_dlls target config postfix output_dlls)
|
||||
${_out_dir}/avutil-59.dll
|
||||
PARENT_SCOPE
|
||||
)
|
||||
|
||||
|
||||
endfunction()
|
||||
|
||||
function(qidistudio_copy_sos target config postfix output_sos)
|
||||
|
||||
@@ -1,15 +1,73 @@
|
||||
#!/bin/bash
|
||||
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
|
||||
|
||||
set -x
|
||||
set -e
|
||||
|
||||
# Wishlist hint: For developers, creating a Docker Compose
|
||||
# setup with persistent volumes for the build & deps directories
|
||||
# would speed up recompile times significantly. For end users,
|
||||
# the simplicity of a single Docker image and a one-time compilation
|
||||
# seems better.
|
||||
docker build -t qidistudio \
|
||||
--build-arg USER=${USER:-root} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
$PROJECT_ROOT
|
||||
function usage() {
|
||||
echo "Usage: ./DockerBuild.sh [-c][-d][-i][-v]"
|
||||
echo " -c: Build a self-contained Docker image that can be run directly"
|
||||
echo " -d: disable safe parallel number limit(By default, the maximum number of parallels is set to free memory/2.5)"
|
||||
echo " -i: Build and export an AppImage"
|
||||
echo " -v: Build System Version:ubu22 or ubu24"
|
||||
echo " -h: this help output"
|
||||
echo "If you only need to run the program on a built Docker container, just use './DockerBuild.sh -c'"
|
||||
echo "If you need to build an AppImage using Docker, first run './DockerBuild.sh -d', then run './DockerBuild.sh -s'."
|
||||
}
|
||||
|
||||
unset name
|
||||
while getopts "hcdiv:" opt; do
|
||||
case ${opt} in
|
||||
c )
|
||||
BUILD_RUNNER=1
|
||||
;;
|
||||
d )
|
||||
BUILD_DEPS=1
|
||||
;;
|
||||
i )
|
||||
BUILD_APPIMAGE=1
|
||||
;;
|
||||
v )
|
||||
SYSTEM_VERSION="$OPTARG"
|
||||
;;
|
||||
h ) usage
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -z "$SYSTEM_VERSION" ]; then
|
||||
SYSTEM_VERSION="ubu22"
|
||||
fi
|
||||
|
||||
if [[ -n "${BUILD_DEPS}" ]]; then
|
||||
if [ "$SYSTEM_VERSION" == "ubu22" ]; then
|
||||
echo "Building dependencies for Ubuntu 22.04..."
|
||||
docker build -f docker/BuildDepsDockerfile -t studio_dep_22:1.0 .
|
||||
else
|
||||
docker build -f docker/BuildDepsDockerfile24 -t studio_dep_24:1.0 .
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${BUILD_APPIMAGE}" ]]; then
|
||||
if [ "$SYSTEM_VERSION" == "ubu22" ]; then
|
||||
docker build -f docker/BuildAppimageDockerfile --build-arg VERSION=studio_dep_22 -o type=local,dest=./build .
|
||||
mv build/QIDIStudio_ubu64.AppImage build/QIDIStudio_ubu22.AppImage
|
||||
else
|
||||
docker build -f docker/BuildAppimageDockerfile --build-arg VERSION=studio_dep_24 -o type=local,dest=./build .
|
||||
mv build/QIDIStudio_ubu64.AppImage build/QIDIStudio_ubu24.AppImage
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ -n "${BUILD_RUNNER}" ]]
|
||||
then
|
||||
# Wishlist hint: For developers, creating a Docker Compose
|
||||
# setup with persistent volumes for the build & deps directories
|
||||
# would speed up recompile times significantly. For end users,
|
||||
# the simplicity of a single Docker image and a one-time compilation
|
||||
# seems better.
|
||||
docker build -t qidistudio \
|
||||
--build-arg USER=${USER:-root} \
|
||||
--build-arg UID=$(id -u) \
|
||||
--build-arg GID=$(id -g) \
|
||||
$PROJECT_ROOT
|
||||
fi
|
||||
14
Dockerfile
@@ -68,8 +68,11 @@ WORKDIR /QIDIStudio
|
||||
# It might conflict with your mapped user, remove if user ubuntu exist
|
||||
RUN if id "ubuntu" >/dev/null 2>&1; then userdel -r ubuntu; fi
|
||||
|
||||
|
||||
# Use bash as the shell
|
||||
# It's easier to run QIDI Studio as the same username,
|
||||
# UID and GID as your workstation. Since we bind mount
|
||||
# your home directory into the container, it's handy
|
||||
# to keep permissions the same. Just in case, defaults
|
||||
# are root.
|
||||
|
||||
# Set ARG values
|
||||
# If user was passed from build it will create a user same
|
||||
@@ -114,11 +117,8 @@ RUN ./BuildLinux.sh -s
|
||||
ENV container=podman
|
||||
RUN ./BuildLinux.sh -i
|
||||
|
||||
# It's easier to run QIDI Studio as the same username,
|
||||
# UID and GID as your workstation. Since we bind mount
|
||||
# your home directory into the container, it's handy
|
||||
# to keep permissions the same. Just in case, defaults
|
||||
# are root.
|
||||
|
||||
# Use bash as the shell
|
||||
SHELL ["/bin/bash", "-l", "-c"]
|
||||
|
||||
# Point FFMPEG Library search to the binary built upon QIDIStudio build time
|
||||
|
||||
174
deps/Boost/Boost.cmake
vendored
@@ -1,160 +1,26 @@
|
||||
include(ExternalProject)
|
||||
|
||||
if (WIN32)
|
||||
set(_bootstrap_cmd bootstrap.bat)
|
||||
set(_build_cmd b2.exe)
|
||||
else()
|
||||
set(_bootstrap_cmd ./bootstrap.sh)
|
||||
set(_build_cmd ./b2)
|
||||
endif()
|
||||
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(_boost_toolset gcc)
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
|
||||
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
||||
# https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html
|
||||
if (MSVC_VERSION EQUAL 1800)
|
||||
# 1800 = VS 12.0 (v120 toolset)
|
||||
set(_boost_toolset "msvc-12.0")
|
||||
elseif (MSVC_VERSION EQUAL 1900)
|
||||
# 1900 = VS 14.0 (v140 toolset)
|
||||
set(_boost_toolset "msvc-14.0")
|
||||
elseif (MSVC_VERSION LESS 1920)
|
||||
# 1910-1919 = VS 15.0 (v141 toolset)
|
||||
set(_boost_toolset "msvc-14.1")
|
||||
elseif (MSVC_VERSION LESS 1930)
|
||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
||||
set(_boost_toolset "msvc-14.2")
|
||||
elseif (MSVC_VERSION LESS 1950)
|
||||
# 1930-1949 = VS 17.0 (v143 toolset)
|
||||
set(_boost_toolset "msvc-14.3")
|
||||
else ()
|
||||
message(FATAL_ERROR "Unsupported MSVC version")
|
||||
set(_context_abi_line "")
|
||||
set(_context_arch_line "")
|
||||
if (APPLE AND CMAKE_OSX_ARCHITECTURES)
|
||||
if (CMAKE_OSX_ARCHITECTURES MATCHES "x86")
|
||||
set(_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=sysv")
|
||||
elseif (CMAKE_OSX_ARCHITECTURES MATCHES "arm")
|
||||
set (_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=aapcs")
|
||||
endif ()
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||
if (WIN32)
|
||||
set(_boost_toolset "clang-win")
|
||||
elseif (APPLE)
|
||||
set(_boost_toolset "clang")
|
||||
else()
|
||||
set(_boost_toolset clang)
|
||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
|
||||
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
|
||||
endif()
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
||||
set(_boost_toolset "intel")
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||
set(_boost_toolset "clang")
|
||||
endif()
|
||||
|
||||
message(STATUS "Deduced boost toolset: ${_boost_toolset} based on ${CMAKE_CXX_COMPILER_ID} compiler")
|
||||
|
||||
set(_libs "")
|
||||
foreach(_comp ${DEP_Boost_COMPONENTS})
|
||||
list(APPEND _libs "--with-${_comp}")
|
||||
endforeach()
|
||||
|
||||
if (BUILD_SHARED_LIBS)
|
||||
set(_link shared)
|
||||
else()
|
||||
set(_link static)
|
||||
endif()
|
||||
|
||||
set(_bits "")
|
||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||
set(_bits 64)
|
||||
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
||||
set(_bits 32)
|
||||
set(_context_arch_line "-DBOOST_CONTEXT_ARCHITECTURE:STRING=${CMAKE_OSX_ARCHITECTURES}")
|
||||
message(STATUS "BOOST param: ${_context_abi_line} ${_context_arch_line}")
|
||||
endif ()
|
||||
|
||||
include(ProcessorCount)
|
||||
ProcessorCount(NPROC)
|
||||
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
|
||||
|
||||
set(_boost_flags "")
|
||||
if (UNIX)
|
||||
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
|
||||
endif ()
|
||||
|
||||
if(APPLE)
|
||||
set(_boost_flags
|
||||
"cflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||
"cxxflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||
"mflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
||||
"mmflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
endif()
|
||||
|
||||
set(_boost_variants "")
|
||||
if(CMAKE_BUILD_TYPE)
|
||||
list(APPEND CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
|
||||
list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES)
|
||||
endif()
|
||||
list(FIND CMAKE_CONFIGURATION_TYPES "Release" _cfg_rel)
|
||||
list(FIND CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" _cfg_relwdeb)
|
||||
list(FIND CMAKE_CONFIGURATION_TYPES "MinSizeRel" _cfg_minsizerel)
|
||||
list(FIND CMAKE_CONFIGURATION_TYPES "Debug" _cfg_deb)
|
||||
|
||||
if (_cfg_rel GREATER -1 OR _cfg_relwdeb GREATER -1 OR _cfg_minsizerel GREATER -1)
|
||||
list(APPEND _boost_variants release)
|
||||
endif()
|
||||
|
||||
if ( (NOT MSVC AND _cfg_deb GREATER -1) OR (MSVC AND ${DEP_DEBUG}) )
|
||||
list(APPEND _boost_variants debug)
|
||||
endif()
|
||||
|
||||
if (NOT _boost_variants)
|
||||
set(_boost_variants release)
|
||||
endif()
|
||||
|
||||
set(_build_cmd ${_build_cmd}
|
||||
${_boost_flags}
|
||||
-j${NPROC}
|
||||
${_libs}
|
||||
--layout=versioned
|
||||
--debug-configuration
|
||||
toolset=${_boost_toolset}
|
||||
address-model=${_bits}
|
||||
link=${_link}
|
||||
threading=multi
|
||||
boost.locale.icu=off
|
||||
--disable-icu
|
||||
${_boost_variants}
|
||||
stage)
|
||||
|
||||
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
|
||||
|
||||
list(APPEND _patch_command COMMAND git init && ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Boost-fix.patch)
|
||||
|
||||
ExternalProject_Add(
|
||||
dep_Boost
|
||||
#URL "https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.zip"
|
||||
URL "https://github.com/bambulab/boost/releases/download/1.78.0/boost_1_78_0.zip"
|
||||
URL_HASH SHA256=f22143b5528e081123c3c5ed437e92f648fe69748e95fa6e2bd41484e2986cc3
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
||||
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
||||
PATCH_COMMAND ${_patch_command}
|
||||
BUILD_COMMAND "${_build_cmd}"
|
||||
BUILD_IN_SOURCE ON
|
||||
INSTALL_COMMAND "${_install_cmd}"
|
||||
qidistudio_add_cmake_project(Boost
|
||||
URL "https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz"
|
||||
URL_HASH SHA256=4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95
|
||||
LIST_SEPARATOR |
|
||||
CMAKE_ARGS
|
||||
-DBOOST_EXCLUDE_LIBRARIES:STRING=contract|fiber|numpy|wave|test
|
||||
-DBOOST_LOCALE_ENABLE_ICU:BOOL=OFF # do not link to libicu, breaks compatibility between distros
|
||||
-DBUILD_TESTING:BOOL=OFF
|
||||
"${_context_abi_line}"
|
||||
"${_context_arch_line}"
|
||||
)
|
||||
|
||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
||||
# Patch the boost::polygon library with a custom one.
|
||||
ExternalProject_Add(dep_boost_polygon
|
||||
EXCLUDE_FROM_ALL ON
|
||||
# GIT_REPOSITORY "https://github.com/prusa3d/polygon"
|
||||
# GIT_TAG prusaslicer_gmp
|
||||
URL https://github.com/prusa3d/polygon/archive/refs/heads/prusaslicer_gmp.zip
|
||||
URL_HASH SHA256=abeb9710f0a7069fb9b22181ae5c56f6066002f125db210e7ffb27032aed6824
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/boost_polygon
|
||||
DEPENDS dep_Boost
|
||||
CONFIGURE_COMMAND ""
|
||||
BUILD_COMMAND ""
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
||||
"${DESTDIR}/usr/local/include/boost/polygon"
|
||||
)
|
||||
# Only override boost::Polygon Voronoi implementation with Vojtech's GMP hacks on 64bit platforms.
|
||||
list(APPEND _dep_list "dep_boost_polygon")
|
||||
endif ()
|
||||
set(DEP_Boost_DEPENDS ZLIB)
|
||||
59
deps/CGAL/0001-clang19.patch
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
--- a/BGL/include/CGAL/boost/graph/iterator.h 2022-10-07 19:04:41 UTC
|
||||
+++ b/BGL/include/CGAL/boost/graph/iterator.h
|
||||
@@ -213,18 +213,7 @@ class Halfedge_around_source_iterator { (public)
|
||||
{}
|
||||
|
||||
#ifndef DOXYGEN_RUNNING
|
||||
- // design patter: "safe bool"
|
||||
- // will be replaced by explicit operator bool with C++11
|
||||
- typedef void (Halfedge_around_source_iterator::*bool_type)() const;
|
||||
|
||||
- void this_type_does_not_support_comparisons() const {}
|
||||
-
|
||||
- operator bool_type() const
|
||||
- {
|
||||
- return (! (this->base() == nullptr)) ?
|
||||
- &Halfedge_around_source_iterator::this_type_does_not_support_comparisons : 0;
|
||||
- }
|
||||
-
|
||||
bool operator==( const Self& i) const {
|
||||
CGAL_assertion( anchor == anchor);
|
||||
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
|
||||
@@ -313,18 +302,7 @@ class Halfedge_around_target_iterator { (public)
|
||||
{}
|
||||
|
||||
#ifndef DOXYGEN_RUNNING
|
||||
- // design patter: "safe bool"
|
||||
- // will be replaced by explicit operator bool with C++11
|
||||
- typedef void (Halfedge_around_target_iterator::*bool_type)() const;
|
||||
|
||||
- void this_type_does_not_support_comparisons() const {}
|
||||
-
|
||||
- operator bool_type() const
|
||||
- {
|
||||
- return (! (this->base() == nullptr)) ?
|
||||
- &Halfedge_around_target_iterator::this_type_does_not_support_comparisons : 0;
|
||||
- }
|
||||
-
|
||||
bool operator==( const Self& i) const {
|
||||
CGAL_assertion( anchor == anchor);
|
||||
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
|
||||
@@ -411,18 +389,6 @@ class Halfedge_around_face_iterator { (public)
|
||||
const value_type& operator * ( ) const { return pos; }
|
||||
pointer operator -> ( ) { return &pos; }
|
||||
const value_type* operator -> ( ) const { return &pos; }
|
||||
-
|
||||
- // design patter: "safe bool"
|
||||
- // will be replaced by explicit operator bool with C++11
|
||||
- typedef void (Halfedge_around_face_iterator::*bool_type)() const;
|
||||
-
|
||||
- void this_type_does_not_support_comparisons() const {}
|
||||
-
|
||||
- operator bool_type() const
|
||||
- {
|
||||
- return (! (this->base() == nullptr)) ?
|
||||
- &Halfedge_around_face_iterator::this_type_does_not_support_comparisons : 0;
|
||||
- }
|
||||
|
||||
bool operator==( const Self& i) const {
|
||||
CGAL_assertion( anchor == anchor);
|
||||
3
deps/CGAL/CGAL.cmake
vendored
@@ -1,8 +1,5 @@
|
||||
qidistudio_add_cmake_project(
|
||||
CGAL
|
||||
# GIT_REPOSITORY https://github.com/CGAL/cgal.git
|
||||
# GIT_TAG caacd806dc55c61cc68adaad99f2240f00493b29 # releases/CGAL-5.3
|
||||
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
|
||||
URL https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
|
||||
URL_HASH SHA256=d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
|
||||
DEPENDS ${BOOST_PKG} dep_GMP dep_MPFR
|
||||
|
||||
33
deps/CMakeLists.txt
vendored
@@ -27,6 +27,9 @@ include(ExternalProject)
|
||||
include(ProcessorCount)
|
||||
|
||||
ProcessorCount(NPROC)
|
||||
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||
set(NPROC $ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||
endif()
|
||||
if (NPROC EQUAL 0)
|
||||
set(NPROC 1)
|
||||
endif ()
|
||||
@@ -50,6 +53,24 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
||||
endif()
|
||||
|
||||
set(IS_CROSS_COMPILE FALSE)
|
||||
|
||||
if (APPLE)
|
||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||
list(FIND CMAKE_OSX_ARCHITECTURES ${CMAKE_SYSTEM_PROCESSOR} _arch_idx)
|
||||
message(STATUS "qidistudio_add_cmake_project for Apple")
|
||||
if (CMAKE_OSX_ARCHITECTURES AND _arch_idx LESS 0)
|
||||
message(STATUS "qidistudio_add_cmake_project for Apple crosscompiling")
|
||||
set(IS_CROSS_COMPILE TRUE)
|
||||
set(CMAKE_CXX_COMPILER_ID "Clang")
|
||||
string(REPLACE ";" "$<SEMICOLON>" CMAKE_OSX_ARCHS "${CMAKE_OSX_ARCHITECTURES}")
|
||||
set(_cmake_osx_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
||||
set(_cmake_args_osx_arch CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
||||
message(STATUS "Detect Cross-compilation. Will build for target ${CMAKE_OSX_ARCHS}" )
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
|
||||
# FIXME:
|
||||
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
||||
@@ -72,6 +93,17 @@ if (NOT _is_multi AND NOT CMAKE_BUILD_TYPE)
|
||||
message(STATUS "Forcing CMAKE_BUILD_TYPE to Release as it was not specified.")
|
||||
endif ()
|
||||
|
||||
execute_process(
|
||||
COMMAND ${GIT_EXECUTABLE} rev-parse --is-inside-work-tree
|
||||
RESULT_VARIABLE REV_PARSE_RESULT
|
||||
OUTPUT_VARIABLE REV_PARSE_OUTPUT
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
if((REV_PARSE_RESULT EQUAL 0) AND (REV_PARSE_OUTPUT STREQUAL "true"))
|
||||
# Find relative path from root to source used for adjusting patch command
|
||||
file(RELATIVE_PATH BINARY_DIR_REL ${CMAKE_SOURCE_DIR}/.. ${CMAKE_BINARY_DIR})
|
||||
endif ()
|
||||
|
||||
function(qidistudio_add_cmake_project projectname)
|
||||
cmake_parse_arguments(P_ARGS "" "INSTALL_DIR;BUILD_COMMAND;INSTALL_COMMAND" "CMAKE_ARGS" ${ARGN})
|
||||
|
||||
@@ -102,6 +134,7 @@ function(qidistudio_add_cmake_project projectname)
|
||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
${_cmake_osx_arch}
|
||||
"${_configs_line}"
|
||||
${DEP_CMAKE_OPTS}
|
||||
${P_ARGS_CMAKE_ARGS}
|
||||
|
||||
64
deps/FFMPEG/FFMPEG.cmake
vendored
@@ -28,32 +28,58 @@ else ()
|
||||
string(APPEND _extra_cmd "--enable-gpl")
|
||||
string(APPEND _extra_cmd "--enable-nonfree")
|
||||
|
||||
if (APPLE)
|
||||
set(_minos_cmd
|
||||
"CFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||
"LDFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||
)
|
||||
if (IS_CROSS_COMPILE)
|
||||
set(_cross_cmd --enable-cross-compile)
|
||||
set(_pic_cmd --enable-pic)
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
|
||||
set(_arch_cmd --arch=arm64)
|
||||
set(_cc_cmd "--cc=clang -arch arm64")
|
||||
else()
|
||||
set(_arch_cmd --arch=x86_64)
|
||||
set(_cc_cmd "--cc=clang -arch x86_64")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
set(_build_j -j)
|
||||
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||
set(_build_j "-j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}")
|
||||
endif()
|
||||
|
||||
ExternalProject_Add(dep_FFMPEG
|
||||
URL https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.0.2.tar.gz
|
||||
URL_HASH SHA256=5EB46D18D664A0CCADF7B0ADEE03BD3B7FA72893D667F36C69E202A807E6D533
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
|
||||
CONFIGURE_COMMAND ${_conf_cmd}
|
||||
"--prefix=${DESTDIR}/usr/local"
|
||||
"--enable-shared"
|
||||
"--disable-doc"
|
||||
"--enable-small"
|
||||
"--disable-outdevs"
|
||||
"--disable-filters"
|
||||
"--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*"
|
||||
"--disable-protocols"
|
||||
"--enable-protocol=file,fd,pipe,rtp,udp"
|
||||
"--disable-muxers"
|
||||
"--enable-muxer=rtp"
|
||||
"--disable-encoders"
|
||||
"--disable-decoders"
|
||||
"--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*"
|
||||
"--disable-demuxers"
|
||||
"--enable-demuxer=h264,mp3,mov"
|
||||
"--disable-zlib"
|
||||
"--disable-avdevice"
|
||||
${_cross_cmd}
|
||||
${_pic_cmd}
|
||||
${_arch_cmd}
|
||||
${_cc_cmd}
|
||||
--prefix="${DESTDIR}/usr/local"
|
||||
--enable-shared
|
||||
--disable-doc
|
||||
--enable-small
|
||||
--disable-outdevs
|
||||
--disable-filters
|
||||
--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*
|
||||
--disable-protocols
|
||||
--enable-protocol=file,fd,pipe,rtp,udp
|
||||
--disable-muxers
|
||||
--enable-muxer=rtp
|
||||
--disable-encoders
|
||||
--disable-decoders
|
||||
--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*
|
||||
--disable-demuxers
|
||||
--enable-demuxer=h264,mp3,mov
|
||||
--disable-zlib
|
||||
--disable-avdevice
|
||||
BUILD_IN_SOURCE ON
|
||||
BUILD_COMMAND make -j
|
||||
BUILD_COMMAND make ${_build_j}
|
||||
INSTALL_COMMAND make install
|
||||
)
|
||||
|
||||
|
||||
9
deps/GLEW/glew/CMakeLists.txt
vendored
@@ -3,9 +3,12 @@ project(GLEW)
|
||||
|
||||
find_package(OpenGL REQUIRED)
|
||||
|
||||
if(OpenGL_EGL_FOUND)
|
||||
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
|
||||
# we do not support wayland for now
|
||||
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
if(OpenGL_EGL_FOUND)
|
||||
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
add_library(GLEW src/glew.c)
|
||||
|
||||
20
deps/GMP/GMP.cmake
vendored
@@ -22,10 +22,24 @@ else ()
|
||||
|
||||
if (APPLE)
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||
set(_gmp_build_tgt aarch64)
|
||||
set(_gmp_build_arch aarch64)
|
||||
else ()
|
||||
set(_gmp_build_arch ${CMAKE_SYSTEM_PROCESSOR})
|
||||
endif()
|
||||
if (IS_CROSS_COMPILE)
|
||||
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||
set(_gmp_host_arch aarch64)
|
||||
set(_gmp_host_arch_flags "-arch arm64")
|
||||
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
|
||||
set(_gmp_host_arch x86_64)
|
||||
set(_gmp_host_arch_flags "-arch x86_64")
|
||||
endif()
|
||||
set(_gmp_ccflags "${_gmp_ccflags} ${_gmp_host_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
set(_gmp_build_tgt --build=${_gmp_build_arch}-apple-darwin --host=${_gmp_host_arch}-apple-darwin)
|
||||
else ()
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
set(_gmp_build_tgt "--build=${_gmp_build_arch}-apple-darwin")
|
||||
endif()
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
||||
|
||||
4
deps/JPEG/JPEG.cmake
vendored
@@ -12,8 +12,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
endif()
|
||||
|
||||
qidistudio_add_cmake_project(JPEG
|
||||
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
|
||||
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
|
||||
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/3.0.1.zip
|
||||
URL_HASH SHA256=d6d99e693366bc03897677650e8b2dfa76b5d6c54e2c9e70c03f0af821b0a52f
|
||||
DEPENDS ${ZLIB_PKG}
|
||||
CMAKE_ARGS
|
||||
-DENABLE_SHARED=OFF
|
||||
|
||||
2
deps/OCCT/0001-OCCT-fix.patch
vendored
@@ -218,4 +218,4 @@ index ab2d9b3c9f..cd701879b1 100644
|
||||
+ const auto* aTags = &anOutline->tags[aStartIndex];
|
||||
const short anEndIndex = anOutline->contours[aContour];
|
||||
const short aPntsNb = (anEndIndex - aStartIndex) + 1;
|
||||
aStartIndex = anEndIndex + 1;
|
||||
aStartIndex = anEndIndex + 1;
|
||||
|
||||
7
deps/OCCT/OCCT.cmake
vendored
@@ -4,11 +4,14 @@ else()
|
||||
set(library_build_type "Static")
|
||||
endif()
|
||||
|
||||
if (BINARY_DIR_REL)
|
||||
set(OCCT_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT)
|
||||
endif ()
|
||||
|
||||
qidistudio_add_cmake_project(OCCT
|
||||
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
|
||||
URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
|
||||
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||
PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||
PATCH_COMMAND git apply ${OCCT_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||
#DEPENDS dep_Boost
|
||||
#DEPENDS dep_FREETYPE
|
||||
CMAKE_ARGS
|
||||
|
||||
24
deps/OpenCV/0002-clang19-macos.patch
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
diff --git a/3rdparty/libpng/pngpriv.h b/3rdparty/libpng/pngpriv.h
|
||||
index 583c26f..83e0ab8 100644
|
||||
--- a/3rdparty/libpng/pngpriv.h
|
||||
+++ b/3rdparty/libpng/pngpriv.h
|
||||
@@ -517,18 +517,7 @@
|
||||
*/
|
||||
# include <float.h>
|
||||
|
||||
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
|
||||
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
|
||||
- /* We need to check that <math.h> hasn't already been included earlier
|
||||
- * as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||
- * <fp.h> if possible.
|
||||
- */
|
||||
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||
-# include <fp.h>
|
||||
-# endif
|
||||
-# else
|
||||
-# include <math.h>
|
||||
-# endif
|
||||
+# include <math.h>
|
||||
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||
* MATH=68881
|
||||
6
deps/OpenCV/OpenCV.cmake
vendored
@@ -4,10 +4,14 @@ else ()
|
||||
set(_use_IPP "-DWITH_IPP=OFF")
|
||||
endif ()
|
||||
|
||||
if (BINARY_DIR_REL)
|
||||
set(OpenCV_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV)
|
||||
endif ()
|
||||
|
||||
qidistudio_add_cmake_project(OpenCV
|
||||
URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
|
||||
URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
|
||||
PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch
|
||||
PATCH_COMMAND git apply ${OpenCV_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch
|
||||
CMAKE_ARGS
|
||||
-DBUILD_SHARED_LIBS=0
|
||||
-DBUILD_PERE_TESTS=OFF
|
||||
|
||||
31
deps/OpenEXR/OpenEXR.cmake
vendored
@@ -1,3 +1,32 @@
|
||||
if (APPLE AND IS_CROSS_COMPILE)
|
||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND ${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||
set(_openexr_arch arm64^^x86_64)
|
||||
set(_openxr_list_sep LIST_SEPARATOR ^^)
|
||||
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
||||
else()
|
||||
set(_openexr_arch ${CMAKE_OSX_ARCHITECTURES})
|
||||
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
||||
endif()
|
||||
ExternalProject_Add(dep_OpenEXR
|
||||
EXCLUDE_FROM_ALL ON
|
||||
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
||||
URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
|
||||
INSTALL_DIR ${DESTDIR}/usr/local
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR
|
||||
${_openxr_list_sep}
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
-DBUILD_TESTING=OFF
|
||||
-DPYILMBASE_ENABLE:BOOL=OFF
|
||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||
-DCMAKE_OSX_DEPLOYMENT_TARGET=${DEP_OSX_TARGET}
|
||||
${_cmake_openexr_arch}
|
||||
)
|
||||
else()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch)
|
||||
else()
|
||||
@@ -18,7 +47,7 @@ qidistudio_add_cmake_project(OpenEXR
|
||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||
)
|
||||
|
||||
endif()
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_OpenEXR)
|
||||
endif ()
|
||||
|
||||
2
deps/OpenSSL/OpenSSL.cmake
vendored
@@ -19,7 +19,7 @@ if(WIN32)
|
||||
set(_install_cmd nmake install_sw )
|
||||
else()
|
||||
if(APPLE)
|
||||
set(_conf_cmd ./Configure )
|
||||
set(_conf_cmd export MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} && ./Configure -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} )
|
||||
else()
|
||||
set(_conf_cmd "./config")
|
||||
endif()
|
||||
|
||||
31
deps/OpenVDB/0001-clang19.patch
vendored
Normal file
@@ -0,0 +1,31 @@
|
||||
diff --git a/openvdb/openvdb/tree/NodeManager.h b/openvdb/openvdb/tree/NodeManager.h
|
||||
index 4d0d9b4..12dabaa 100644
|
||||
--- a/openvdb/openvdb/tree/NodeManager.h
|
||||
+++ b/openvdb/openvdb/tree/NodeManager.h
|
||||
@@ -327,7 +327,7 @@ private:
|
||||
void operator()(const NodeRange& range) const
|
||||
{
|
||||
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||
- OpT::template eval(mNodeOp, it);
|
||||
+ OpT::eval(mNodeOp, it);
|
||||
}
|
||||
}
|
||||
const NodeOp mNodeOp;
|
||||
@@ -347,7 +347,7 @@ private:
|
||||
void operator()(const NodeRange& range) const
|
||||
{
|
||||
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||
- OpT::template eval(mNodeOp, it);
|
||||
+ OpT::eval(mNodeOp, it);
|
||||
}
|
||||
}
|
||||
const NodeOp& mNodeOp;
|
||||
@@ -372,7 +372,7 @@ private:
|
||||
void operator()(const NodeRange& range)
|
||||
{
|
||||
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||
- OpT::template eval(*mNodeOp, it);
|
||||
+ OpT::eval(*mNodeOp, it);
|
||||
}
|
||||
}
|
||||
void join(const NodeReducer& other)
|
||||
5
deps/OpenVDB/OpenVDB.cmake
vendored
@@ -6,6 +6,10 @@ else()
|
||||
set(_build_static ON)
|
||||
endif()
|
||||
|
||||
if (BINARY_DIR_REL)
|
||||
set(OPENVDB_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenVDB-prefix/src/dep_OpenVDB)
|
||||
endif ()
|
||||
|
||||
set (_openvdb_vdbprint ON)
|
||||
#if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||
# Build fails on raspberry pi due to missing link directive to latomic
|
||||
@@ -15,6 +19,7 @@ set (_openvdb_vdbprint ON)
|
||||
qidistudio_add_cmake_project(OpenVDB
|
||||
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip # 8.2 patched
|
||||
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
|
||||
PATCH_COMMAND git apply ${OPENVDB_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-clang19.patch
|
||||
# URL https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v10.0.1.zip
|
||||
# URL_HASH SHA256=48C2CFA9853B58FA86282DF1F83F0E99D07858CC03EB2BA8227DC447A830100A
|
||||
DEPENDS dep_TBB dep_Blosc dep_OpenEXR ${BOOST_PKG}
|
||||
|
||||
29
deps/PNG/0002-clang19-macos.patch
vendored
Normal file
@@ -0,0 +1,29 @@
|
||||
--- a/pngpriv.h 2025-04-20 19:36:04.000000000
|
||||
+++ b/pngpriv.h 2025-04-20 19:35:55.000000000
|
||||
@@ -511,24 +511,14 @@
|
||||
* DBL_DIG Maximum number of decimal digits (can be set to any constant)
|
||||
* DBL_MIN Smallest normalized fp number (can be set to an arbitrary value)
|
||||
* DBL_MAX Maximum floating point number (can be set to an arbitrary value)
|
||||
*/
|
||||
# include <float.h>
|
||||
|
||||
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
|
||||
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
|
||||
- /* We need to check that <math.h> hasn't already been included earlier
|
||||
- * as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||
- * <fp.h> if possible.
|
||||
- */
|
||||
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||
-# include <fp.h>
|
||||
-# endif
|
||||
-# else
|
||||
-# include <math.h>
|
||||
-# endif
|
||||
+# include <math.h>
|
||||
+
|
||||
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||
* MATH=68881
|
||||
*/
|
||||
# include <m68881.h>
|
||||
# endif
|
||||
53
deps/PNG/PNG.cmake
vendored
@@ -5,26 +5,43 @@ else ()
|
||||
set(_disable_neon_extension "")
|
||||
endif ()
|
||||
|
||||
if(APPLE AND IS_CROSS_COMPILE)
|
||||
# TODO: check if it doesn't create problem when compiling from arm to x86_64
|
||||
qidistudio_add_cmake_project(PNG
|
||||
GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||
GIT_TAG v1.6.35
|
||||
DEPENDS ${ZLIB_PKG}
|
||||
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
||||
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/macos-arm64.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch
|
||||
CMAKE_ARGS
|
||||
-DPNG_SHARED=OFF
|
||||
-DPNG_STATIC=ON
|
||||
-DPNG_PREFIX=prusaslicer_
|
||||
-DPNG_TESTS=OFF
|
||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||
${_disable_neon_extension}
|
||||
)
|
||||
else ()
|
||||
set(_patch_step "")
|
||||
if (APPLE)
|
||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
||||
endif ()
|
||||
|
||||
qidistudio_add_cmake_project(PNG
|
||||
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||
# GIT_TAG v1.6.35
|
||||
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
||||
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
||||
DEPENDS ${ZLIB_PKG}
|
||||
"${_patch_step}"
|
||||
CMAKE_ARGS
|
||||
-DPNG_SHARED=OFF
|
||||
-DPNG_STATIC=ON
|
||||
-DPNG_PREFIX=prusaslicer_
|
||||
-DPNG_TESTS=OFF
|
||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||
${_disable_neon_extension}
|
||||
if (APPLE)
|
||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch)
|
||||
endif ()
|
||||
qidistudio_add_cmake_project(PNG
|
||||
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||
# GIT_TAG v1.6.35
|
||||
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
||||
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
||||
DEPENDS ${ZLIB_PKG}
|
||||
"${_patch_step}"
|
||||
CMAKE_ARGS
|
||||
-DPNG_SHARED=OFF
|
||||
-DPNG_STATIC=ON
|
||||
-DPNG_PREFIX=prusaslicer_
|
||||
-DPNG_TESTS=OFF
|
||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||
${_disable_neon_extension}
|
||||
)
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_PNG)
|
||||
|
||||
90
deps/PNG/macos-arm64.patch
vendored
Normal file
@@ -0,0 +1,90 @@
|
||||
Based on https://github.com/vespakoen/libpng to work around until
|
||||
https://github.com/glennrp/libpng/pull/354 is resolved.
|
||||
also added patch from PS2.4 (PNG.pach) in pngrutil.c
|
||||
---
|
||||
CMakeLists.txt | 28 ++++++++++++++++++++--------
|
||||
pngrutil.c | 7 -------
|
||||
2 files changed, 20 insertions(+), 15 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 4db9bb87d..9099d1edf 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -82,10 +82,22 @@ option(PNG_HARDWARE_OPTIMIZATIONS "Enable Hardware Optimizations" ON)
|
||||
set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names")
|
||||
set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings")
|
||||
|
||||
+# CMake currently sets CMAKE_SYSTEM_PROCESSOR to one of x86_64 or arm64 on macOS,
|
||||
+# based upon the OS architecture, not the target architecture. As such, we need
|
||||
+# to check CMAKE_OSX_ARCHITECTURES to identify which hardware-specific flags to
|
||||
+# enable. Note that this will fail if you attempt to build a universal binary in
|
||||
+# a single cmake invokation.
|
||||
+if (APPLE AND CMAKE_OSX_ARCHITECTURES)
|
||||
+ set(TARGET_ARCH ${CMAKE_OSX_ARCHITECTURES})
|
||||
+else()
|
||||
+ set(TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR})
|
||||
+endif()
|
||||
+
|
||||
+
|
||||
if(PNG_HARDWARE_OPTIMIZATIONS)
|
||||
# set definitions and sources for arm
|
||||
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
|
||||
- CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
|
||||
+if(TARGET_ARCH MATCHES "^arm" OR
|
||||
+ TARGET_ARCH MATCHES "^aarch64")
|
||||
set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
|
||||
set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations:
|
||||
check: (default) use internal checking code;
|
||||
@@ -114,8 +126,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
|
||||
endif()
|
||||
|
||||
# set definitions and sources for powerpc
|
||||
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
|
||||
- CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*" )
|
||||
+if(TARGET_ARCH MATCHES "^powerpc*" OR
|
||||
+ TARGET_ARCH MATCHES "^ppc64*" )
|
||||
set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off)
|
||||
set(PNG_POWERPC_VSX "on" CACHE STRING "Enable POWERPC VSX optimizations:
|
||||
off: disable the optimizations.")
|
||||
@@ -138,8 +150,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
|
||||
endif()
|
||||
|
||||
# set definitions and sources for intel
|
||||
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
|
||||
- CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*" )
|
||||
+if(TARGET_ARCH MATCHES "^i?86" OR
|
||||
+ TARGET_ARCH MATCHES "^x86_64*" )
|
||||
set(PNG_INTEL_SSE_POSSIBLE_VALUES on off)
|
||||
set(PNG_INTEL_SSE "on" CACHE STRING "Enable INTEL_SSE optimizations:
|
||||
off: disable the optimizations")
|
||||
@@ -162,8 +174,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
|
||||
endif()
|
||||
|
||||
# set definitions and sources for MIPS
|
||||
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR
|
||||
- CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*" )
|
||||
+if(TARGET_ARCH MATCHES "mipsel*" OR
|
||||
+ TARGET_ARCH MATCHES "mips64el*" )
|
||||
set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
|
||||
set(PNG_MIPS_MSA "on" CACHE STRING "Enable MIPS_MSA optimizations:
|
||||
off: disable the optimizations")
|
||||
diff --git a/pngrutil.c b/pngrutil.c
|
||||
index 7001f1976..91930f1f2 100644
|
||||
--- a/pngrutil.c
|
||||
+++ b/pngrutil.c
|
||||
@@ -422,13 +422,6 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
|
||||
png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED;
|
||||
}
|
||||
|
||||
-#if ZLIB_VERNUM >= 0x1290 && \
|
||||
- defined(PNG_SET_OPTION_SUPPORTED) && defined(PNG_IGNORE_ADLER32)
|
||||
- if (((png_ptr->options >> PNG_IGNORE_ADLER32) & 3) == PNG_OPTION_ON)
|
||||
- /* Turn off validation of the ADLER32 checksum in IDAT chunks */
|
||||
- ret = inflateValidate(&png_ptr->zstream, 0);
|
||||
-#endif
|
||||
-
|
||||
if (ret == Z_OK)
|
||||
png_ptr->zowner = owner;
|
||||
|
||||
--
|
||||
2.33.0.windows.1
|
||||
4
deps/TIFF/TIFF.cmake
vendored
@@ -1,8 +1,8 @@
|
||||
find_package(OpenGL QUIET REQUIRED)
|
||||
|
||||
qidistudio_add_cmake_project(TIFF
|
||||
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
|
||||
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
|
||||
URL https://download.osgeo.org/libtiff/tiff-4.1.0.zip
|
||||
URL_HASH SHA256=6F3DBED9D2ECFED33C7192B5C01884078970657FA21B4AD28E3CDF3438EB2419
|
||||
DEPENDS ${ZLIB_PKG} ${PNG_PKG} ${JPEG_PKG}
|
||||
CMAKE_ARGS
|
||||
-Dlzma:BOOL=OFF
|
||||
|
||||
4
deps/wxWidgets/wxWidgets.cmake
vendored
@@ -6,8 +6,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||
endif ()
|
||||
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
|
||||
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
|
||||
set(_wx_egl "-DwxUSE_GLCANVAS_EGL=OFF")
|
||||
else ()
|
||||
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=0")
|
||||
set(_wx_egl "")
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
@@ -52,6 +53,7 @@ qidistudio_add_cmake_project(wxWidgets
|
||||
-DwxUSE_LIBJPEG=sys
|
||||
-DwxUSE_LIBTIFF=sys
|
||||
-DwxUSE_EXPAT=sys
|
||||
${_wx_egl}
|
||||
)
|
||||
|
||||
if (MSVC)
|
||||
|
||||
19
docker/BuildAppimageDockerfile
Normal file
@@ -0,0 +1,19 @@
|
||||
ARG VERSION="studio_dep_22"
|
||||
FROM ${VERSION}:1.0 AS builder
|
||||
|
||||
COPY ./ /QIDIStudio
|
||||
|
||||
WORKDIR /QIDIStudio
|
||||
|
||||
RUN mkdir -p /QIDIStudio/deps/build
|
||||
|
||||
RUN mv /destdir /QIDIStudio/deps/build/
|
||||
|
||||
RUN ./BuildLinux.sh -s
|
||||
|
||||
ENV container=podman
|
||||
RUN ./BuildLinux.sh -i
|
||||
|
||||
FROM scratch AS export-stage
|
||||
|
||||
COPY --from=builder /QIDIStudio/build/QIDIStudio_ubu64.AppImage /
|
||||
39
docker/BuildDepsDockerfile
Normal file
@@ -0,0 +1,39 @@
|
||||
FROM docker.io/ubuntu:22.04
|
||||
|
||||
# Disable interactive package configuration
|
||||
RUN apt-get update && \
|
||||
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
xvfb \
|
||||
extra-cmake-modules \
|
||||
file \
|
||||
git \
|
||||
locales \
|
||||
locales-all \
|
||||
m4 \
|
||||
pkgconf \
|
||||
sudo \
|
||||
wayland-protocols \
|
||||
libwebkit2gtk-4.0-dev \
|
||||
wget
|
||||
|
||||
COPY ./ /QIDIStudio
|
||||
|
||||
WORKDIR /QIDIStudio
|
||||
|
||||
# Allow password-less sudo for ALL users
|
||||
RUN echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/999-passwordless
|
||||
RUN chmod 440 /etc/sudoers.d/999-passwordless
|
||||
|
||||
RUN ./BuildLinux.sh -u
|
||||
|
||||
RUN ./BuildLinux.sh -dfr
|
||||
|
||||
RUN cp -r deps/build/destdir /
|
||||
|
||||
RUN rm -rf /QIDIStudio
|
||||
39
docker/BuildDepsDockerfile24
Normal file
@@ -0,0 +1,39 @@
|
||||
FROM docker.io/ubuntu:24.04
|
||||
|
||||
# Disable interactive package configuration
|
||||
RUN apt-get update && \
|
||||
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||
|
||||
RUN apt-get update && apt-get install -y \
|
||||
autoconf \
|
||||
build-essential \
|
||||
cmake \
|
||||
curl \
|
||||
xvfb \
|
||||
extra-cmake-modules \
|
||||
file \
|
||||
git \
|
||||
locales \
|
||||
locales-all \
|
||||
m4 \
|
||||
pkgconf \
|
||||
sudo \
|
||||
wayland-protocols \
|
||||
libwebkit2gtk-4.1-dev \
|
||||
wget
|
||||
|
||||
COPY ./ /QIDIStudio
|
||||
|
||||
WORKDIR /QIDIStudio
|
||||
|
||||
# Allow password-less sudo for ALL users
|
||||
RUN echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/999-passwordless
|
||||
RUN chmod 440 /etc/sudoers.d/999-passwordless
|
||||
|
||||
RUN ./BuildLinux.sh -u
|
||||
|
||||
RUN ./BuildLinux.sh -dfr
|
||||
|
||||
RUN cp -r deps/build/destdir /
|
||||
|
||||
RUN rm -rf /QIDIStudio
|
||||
@@ -30,6 +30,7 @@ REQUIRED_DEV_PACKAGES=(
|
||||
nasm
|
||||
yasm
|
||||
libx264-dev
|
||||
libbz2-dev
|
||||
)
|
||||
|
||||
if [[ -n "$UPDATE_LIB" ]]
|
||||
|
||||
@@ -38,6 +38,7 @@ REQUIRED_DEV_PACKAGES=(
|
||||
nasm
|
||||
yasm
|
||||
x264-devel
|
||||
bzip2-devel
|
||||
)
|
||||
|
||||
if [[ -n "$UPDATE_LIB" ]]
|
||||
|
||||
@@ -138,11 +138,12 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
|
||||
if (is_multi_nozzle) {
|
||||
double expected_temp = nozzle_temperature[filament_id];
|
||||
if (std::abs(check_nozzle_temp - expected_temp) > MULTI_NOZZLE_TEMP_THRESHOLD) {
|
||||
std::cout << "Multi-nozzle: Invalid filament nozzle temperature! Expected: "
|
||||
<< expected_temp
|
||||
<< ", but got: " << check_nozzle_temp
|
||||
<< " (Threshold: ±100)." << std::endl;
|
||||
return GCodeCheckResult::ParseFailed;
|
||||
// for two nozzle gcode, remove temp check temply
|
||||
//std::cout << "Multi-nozzle: Invalid filament nozzle temperature! Expected: "
|
||||
// << expected_temp
|
||||
// << ", but got: " << check_nozzle_temp
|
||||
// << " (Threshold: ±100)." << std::endl;
|
||||
return GCodeCheckResult::Success;
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -316,7 +317,7 @@ GCodeCheckResult GCodeChecker::parse_command(GCodeLine& gcode_line)
|
||||
case 'T':{
|
||||
|
||||
int pt = ::atoi(&cmd[1]);
|
||||
if (pt == 1000 || pt == 1100 || pt == 255 || pt == 1001 || pt == 65535 || pt == 65279) {
|
||||
if (pt == 1000 || pt == 1100 || pt == 255 || pt == 1001 || pt == 65535 || pt == 65279 || pt == -1) {
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,47 @@
|
||||
src/libslic3r/PresetBundle.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevBed.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevBed.h
|
||||
src/slic3r/GUI/DeviceCore/DevConfig.h
|
||||
src/slic3r/GUI/DeviceCore/DevConfig.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevConfigUtil.h
|
||||
src/slic3r/GUI/DeviceCore/DevConfigUtil.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevCtrl.h
|
||||
src/slic3r/GUI/DeviceCore/DevCtrl.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevDefs.h
|
||||
src/slic3r/GUI/DeviceCore/DevExtruderSystem.h
|
||||
src/slic3r/GUI/DeviceCore/DevExtruderSystem.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevExtruderSystemCtrl.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFan.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFan.h
|
||||
src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.h
|
||||
src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFilaBlackList.h
|
||||
src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFilaSystem.h
|
||||
src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevFirmware.h
|
||||
src/slic3r/GUI/DeviceCore/DevFirmware.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevPrintOptions.h
|
||||
src/slic3r/GUI/DeviceCore/DevPrintOptions.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevPrintTaskInfo.h
|
||||
src/slic3r/GUI/DeviceCore/DevPrintTaskInfo.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevHMS.h
|
||||
src/slic3r/GUI/DeviceCore/DevHMS.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevStorage.h
|
||||
src/slic3r/GUI/DeviceCore/DevStorage.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevInfo.h
|
||||
src/slic3r/GUI/DeviceCore/DevInfo.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevLamp.h
|
||||
src/slic3r/GUI/DeviceCore/DevLamp.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevLampCtrl.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevManager.h
|
||||
src/slic3r/GUI/DeviceCore/DevManager.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevMapping.h
|
||||
src/slic3r/GUI/DeviceCore/DevMapping.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevNozzleSystem.h
|
||||
src/slic3r/GUI/DeviceCore/DevNozzleSystem.cpp
|
||||
src/slic3r/GUI/DeviceCore/DevUtil.h
|
||||
src/slic3r/GUI/DeviceCore/DevUtil.cpp
|
||||
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.h
|
||||
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp
|
||||
src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.h
|
||||
@@ -6,6 +49,7 @@ src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoFuzzySkin.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
|
||||
src/slic3r/GUI/Gizmos/GLGizmoScale.cpp
|
||||
@@ -71,6 +115,7 @@ src/slic3r/GUI/BedShapeDialog.cpp
|
||||
src/slic3r/GUI/BedShapeDialog.hpp
|
||||
src/slic3r/GUI/ConfigManipulation.cpp
|
||||
src/slic3r/GUI/DeviceManager.cpp
|
||||
src/slic3r/GUI/DeviceErrorDialog.cpp
|
||||
src/slic3r/GUI/ExtraRenderers.cpp
|
||||
src/slic3r/GUI/Field.cpp
|
||||
src/slic3r/GUI/GCodeViewer.cpp
|
||||
@@ -112,6 +157,7 @@ src/slic3r/GUI/SavePresetDialog.cpp
|
||||
src/slic3r/GUI/Search.cpp
|
||||
src/slic3r/GUI/Selection.cpp
|
||||
src/slic3r/GUI/SelectMachine.cpp
|
||||
src/slic3r/GUI/PrePrintChecker.cpp
|
||||
src/slic3r/GUI/SendSystemInfoDialog.cpp
|
||||
src/slic3r/GUI/SendToPrinter.cpp
|
||||
src/slic3r/GUI/SlicingProgressNotification.cpp
|
||||
@@ -180,11 +226,21 @@ src/slic3r/Utils/MKS.cpp
|
||||
src/slic3r/Utils/OctoPrint.cpp
|
||||
src/slic3r/Utils/Repetier.cpp
|
||||
src/slic3r/Utils/ProfileDescription.hpp
|
||||
src/slic3r/Utils/HelioDragon.cpp
|
||||
src/slic3r/GUI/SendMultiMachinePage.cpp
|
||||
src/slic3r/GUI/MultiMachinePage.cpp
|
||||
src/slic3r/GUI/MultiMachineManagerPage.cpp
|
||||
src/slic3r/GUI/MultiTaskManagerPage.cpp
|
||||
src/slic3r/GUI/MultiMachine.cpp
|
||||
src/slic3r/GUI/UserPresetsDialog.cpp
|
||||
src/slic3r/GUI/FilamentMapDialog.cpp
|
||||
src/slic3r/GUI/FilamentGroupPopup.cpp
|
||||
src/slic3r/GUI/FilamentMapPanel.cpp
|
||||
src/slic3r/GUI/PartSkipDialog.cpp
|
||||
src/slic3r/GUI/PartSkipDialog.hpp
|
||||
src/slic3r/GUI/SkipPartCanvas.cpp
|
||||
src/slic3r/GUI/SkipPartCanvas.hpp
|
||||
src/slic3r/GUI/FilamentBitmapUtils.cpp
|
||||
src/slic3r/GUI/FilamentBitmapUtils.hpp
|
||||
src/slic3r/GUI/FilamentPickerDialog.cpp
|
||||
src/slic3r/GUI/FilamentPickerDialog.hpp
|
||||
|
||||
BIN
resources/calib/pressure_advance/auto_pa_line_dual.3mf
Normal file
BIN
resources/calib/pressure_advance/auto_pa_line_single.3mf
Normal file
@@ -1,4 +1,92 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFfzCCA2egAwIBAgIUXtzR6tRiL/RHBRXOoyFU0+XrliowDQYJKoZIhvcNAQEL
|
||||
BQAwRjELMAkGA1UEBhMCQ04xITAfBgNVBAoMGEJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
IEx0ZDEUMBIGA1UEAwwLQkJMIENBMiBSU0EwIBcNMjUwNjE3MDEzODA4WhgPMjA1
|
||||
MDA2MTcwMTM4MDhaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5v
|
||||
bG9naWVzIENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgUlNBMIICIjANBgkqhkiG
|
||||
9w0BAQEFAAOCAg8AMIICCgKCAgEAo4550G4c42gTKzQqixwKT089RizIdZpyOcGA
|
||||
679rPaOdWsMqVwnYPP2FpMqXKkjFbedE+SpGloi2NKCuiPNVRbq9PHOOZwTs7YLo
|
||||
bOwf53FJuO6vRFpzFfX1tlc9zlFqJvZnYO9NgHpMysidocWcgrDN/SIDywgPB5CV
|
||||
bYg3Vvzua9fwZx9e5KT9xd5IpTqdTrWS47jQOVKLhdQCbJFIlMrblOwLBAx+fHok
|
||||
wqh6tkI6Ktuyyjw8Dysebi1ndWjKtZ2mW47r8xZ/J+z3EZqcyJMY6MRtx/zb1jBF
|
||||
uHtkjrb5Kv1DMzSKlkaNJIbvC+Mk+hI97W+SjLSRuIdC7+oJUzWaSzgu9cjXCVfm
|
||||
q8t4IL/35hP69PK95LgLectIrP96CYAT/aVMG19FrFW0QWEyfT+kzG4jkumfPbHq
|
||||
Y2nNkEN0+tjj3h4WdzrWgQEojK/lhfcRFVkts74+aZoMpQP+vmL17CKmSzXk5o/e
|
||||
K21xgxJdzMbdztfTpibiXk0abfOpN+1VR+3NYa+bROAKNyGaReEGsyW2bjcjNx51
|
||||
5Vqzj3SVxhMSp5vfF9E4A1jE99M/l9jQDM6RzkT0lMccGAd5tUSdNvDlrqtQaQiK
|
||||
v/ZsXPgXLTWfOpvaLNEgwdMgZMuhjpkwvAZyoYfeF9kyydjDh7bvrX//cz/VopAU
|
||||
lxUtQtMCAwEAAaNjMGEwHQYDVR0OBBYEFNVJgQad1sNTN0jxVkwbJ/XM1an1MB8G
|
||||
A1UdIwQYMBaAFNVJgQad1sNTN0jxVkwbJ/XM1an1MA8GA1UdEwEB/wQFMAMBAf8w
|
||||
DgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQBFZDKMJfp/N4gBeFHh
|
||||
MiFehaUyMS6e9mzrTfMLJLJoj6Jopa9V9jIfcCEBGZuRThqFcATV+UdFHSINpUcH
|
||||
upcCYnazTRC4dn1hnxnQ1ojQcHxdGp9xGw/YclAKD97d8bPShfBMT1to9zbMK7T5
|
||||
L8zgqg01YIOKjQk0Hcd0+0iUr6m8zQ5P8Rl3QXqAyeWgqmYQrrjTWwPsgdfHNXKX
|
||||
vDrx7/cqry5lKU802hUplKMBxelv4W8407Ytj1lfJOwvxqxxsFU5jSwcUG3zo2vk
|
||||
QtjRs8m5BKup5K1OPYkkPu7Ld89X0XpU073/dNDG11uxb1eDKrtNP6vZuZjNE2Pq
|
||||
8HCoI1EtP+ItyqtUMvHi6Z2zsmlA25broVioeUKxjlIecpQ9JR/FhDu9CWNF/nDW
|
||||
LSORNaMMzgsMSzI+HCiUhqN+qMIvVP6rzGTJzwqz/lc5Lf+ZPCnGA9WJTT4uPIhf
|
||||
ufbZmnUJ35WuWKHxovDsqBh88zQ9sZ+ei4Hi4vVzOhUgfG3aLoSQEYqRoqaboANh
|
||||
wCwzyuW2Rv54u5QSBbd6Gx1OpvsWmLPWd2/iL2kISl5wfmLGVydvSJa+rbOfuAy7
|
||||
ycVQacVDQCAnbhoVrQy7+454QsKSW3ZV6BcyRrorewCyCYgd7nyxflxHZTBEykXX
|
||||
haGNe/KFNvJBMOIuIUzknRRmiQ==
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIB8zCCAZmgAwIBAgIUe61jGQ4RzIC8k+sNuqbI/CaNqPIwCgYIKoZIzj0EAwIw
|
||||
RjELMAkGA1UEBhMCQ04xITAfBgNVBAoMGEJCTCBUZWNobm9sb2dpZXMgQ28uIEx0
|
||||
ZDEUMBIGA1UEAwwLQkJMIENBMiBFQ0MwIBcNMjUwNjE3MDEzODM1WhgPMjA1MDA2
|
||||
MTcwMTM4MzVaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9n
|
||||
aWVzIENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgRUNDMFkwEwYHKoZIzj0CAQYI
|
||||
KoZIzj0DAQcDQgAEpKTF7wRSty4DXpGJzgCPwRh8ghLlxUC3qJbyEgLqTvJgbiwY
|
||||
APPHK7kVbVmerkqhHOT4QeWRlTG3dOQGLA2VpaNjMGEwHQYDVR0OBBYEFKuRpsjY
|
||||
REOyIKH7HwOE6jhGBd6NMB8GA1UdIwQYMBaAFKuRpsjYREOyIKH7HwOE6jhGBd6N
|
||||
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gA
|
||||
MEUCIErBiUm3VdtP3rz4kb8aLpI5p+BzL7M9vElBGWWJxpHMAiEA3r5tJWVGwuxi
|
||||
YCrB1c40KYFRFyahGrhOJZAj/YhRdnU=
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIEeTCCA2GgAwIBAgIUOq+lNIaC2xsswkFqj5JPyVBl45cwDQYJKoZIhvcNAQEL
|
||||
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yNTA2MTcwMjAxMjdaFw0zNTA2MTUw
|
||||
MjAxMjdaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9naWVz
|
||||
IENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgUlNBMIICIjANBgkqhkiG9w0BAQEF
|
||||
AAOCAg8AMIICCgKCAgEAo4550G4c42gTKzQqixwKT089RizIdZpyOcGA679rPaOd
|
||||
WsMqVwnYPP2FpMqXKkjFbedE+SpGloi2NKCuiPNVRbq9PHOOZwTs7YLobOwf53FJ
|
||||
uO6vRFpzFfX1tlc9zlFqJvZnYO9NgHpMysidocWcgrDN/SIDywgPB5CVbYg3Vvzu
|
||||
a9fwZx9e5KT9xd5IpTqdTrWS47jQOVKLhdQCbJFIlMrblOwLBAx+fHokwqh6tkI6
|
||||
Ktuyyjw8Dysebi1ndWjKtZ2mW47r8xZ/J+z3EZqcyJMY6MRtx/zb1jBFuHtkjrb5
|
||||
Kv1DMzSKlkaNJIbvC+Mk+hI97W+SjLSRuIdC7+oJUzWaSzgu9cjXCVfmq8t4IL/3
|
||||
5hP69PK95LgLectIrP96CYAT/aVMG19FrFW0QWEyfT+kzG4jkumfPbHqY2nNkEN0
|
||||
+tjj3h4WdzrWgQEojK/lhfcRFVkts74+aZoMpQP+vmL17CKmSzXk5o/eK21xgxJd
|
||||
zMbdztfTpibiXk0abfOpN+1VR+3NYa+bROAKNyGaReEGsyW2bjcjNx515Vqzj3SV
|
||||
xhMSp5vfF9E4A1jE99M/l9jQDM6RzkT0lMccGAd5tUSdNvDlrqtQaQiKv/ZsXPgX
|
||||
LTWfOpvaLNEgwdMgZMuhjpkwvAZyoYfeF9kyydjDh7bvrX//cz/VopAUlxUtQtMC
|
||||
AwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
|
||||
BBYEFNVJgQad1sNTN0jxVkwbJ/XM1an1MB8GA1UdIwQYMBaAFI80QmjcZ06PxCKe
|
||||
xXxJ5avdRL4eMA0GCSqGSIb3DQEBCwUAA4IBAQAvS8tyfagaGsFf9YncA2ko/Na5
|
||||
9BVF+8TlUo+32oznwIVpS1AhSgLP6rNVekXNFKbuP5htudLQ17ZRBJI/UMVyYEDq
|
||||
IN7xv7Zj+zJwF6W6haYrjb2Vk8igw1XvNULZfvVNNKIkvJUiVqEslWrC+k74crk/
|
||||
Wv8ChVf+zqvfIN6LV3esaGRL02J3AprQGb7DDhR1EefQMScDkNpGJMUmvCmfknrl
|
||||
iK8qgvQN1SWO7JRf6fNKHsN1ZQvyP0pgLWxpT3V0/0/WttqX3cMGuJF+jVUzm/Nh
|
||||
xYhFewG8vc3KzTjnwQApMA6CW554FOJWFyOD2jn5yJLT3Vue+aYDQRp4bKMx
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICrjCCAZagAwIBAgIUOq+lNIaC2xsswkFqj5JPyVBl45gwDQYJKoZIhvcNAQEL
|
||||
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yNTA2MTcwMjAxNDdaFw0zNTA2MTUw
|
||||
MjAxNDdaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9naWVz
|
||||
IENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgRUNDMFkwEwYHKoZIzj0CAQYIKoZI
|
||||
zj0DAQcDQgAEpKTF7wRSty4DXpGJzgCPwRh8ghLlxUC3qJbyEgLqTvJgbiwYAPPH
|
||||
K7kVbVmerkqhHOT4QeWRlTG3dOQGLA2VpaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAO
|
||||
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFKuRpsjYREOyIKH7HwOE6jhGBd6NMB8G
|
||||
A1UdIwQYMBaAFI80QmjcZ06PxCKexXxJ5avdRL4eMA0GCSqGSIb3DQEBCwUAA4IB
|
||||
AQCg6PjUSSZV+4bvejcVMvgXmKzfD95osWn0ctnoMBxPDa+m+Gg+BcLT2IlFAe3E
|
||||
KYMvu4T295WQc92rjKYqW6cirFppng9uEFW2mZLimxaSmutsTftE3sbMVMJ/SLYN
|
||||
PV7TFv6mcBSIFWXwmBOIpbh4BUcVfONTvdSfIqfyAVxsq4xzc2nc6hPBpAm21Ayj
|
||||
ToC1ev/TbDJ8VllFZiEVmWWlIP3aNzAm8S2mOpxPB2WnanaZHSrvXLFhstyzwrjD
|
||||
yO1/isOZ7wtr7rcuTJdEvvvCimOZlkfRhaDoTew9tQ0E2FVpzzSinw02qmQ1xIE9
|
||||
5/H5ZzJSPkpeAHWEPnKkxg0v
|
||||
-----END CERTIFICATE-----
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDZTCCAk2gAwIBAgIUV1FckwXElyek1onFnQ9kL7Bk4N8wDQYJKoZIhvcNAQEL
|
||||
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yMjA0MDQwMzQyMTFaFw0zMjA0MDEw
|
||||
@@ -18,4 +106,4 @@ BdOoo96iX89rRPoxeed1cpq5hZwbeka3+CJGV76itWp35Up5rmmUqrlyQOr/Wax6
|
||||
itosIzG0MfhgUzU51A2P/hSnD3NDMXv+wUY/AvqgIL7u7fbDKnku1GzEKIkfH8hm
|
||||
Rs6d8SCU89xyrwzQ0PR853irHas3WrHVqab3P+qNwR0YirL0Qk7Xt/q3O1griNg2
|
||||
Blbjg3obpHo9
|
||||
-----END CERTIFICATE-----
|
||||
-----END CERTIFICATE-----
|
||||
79
resources/data/helio_hints.ini
Normal file
@@ -0,0 +1,79 @@
|
||||
[hint: Single-Material Only]
|
||||
text = Single-Material Only\nHelio currently simulates one material and one nozzle per job. Multi-material or multi-extruder G-code adds long pauses that break thermal continuity, so results wouldn’t be meaningful.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio0.png
|
||||
|
||||
[hint: One Plate per Job]
|
||||
text = One Plate per Job\nUpload G-code with a single build plate—multi-plate projects aren’t yet supported, so only the first plate would run.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio1.png
|
||||
|
||||
[hint: What is the Thermal Quality Index?]
|
||||
text = What is the Thermal Quality Index?\nThe Thermal Quality Index (scale –100 to +100) shows how hot or cold each region prints—green (≈ 0) is the “just right” zone for strong, warp-free parts. Keep most of the part green for best results.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio2.png
|
||||
|
||||
[hint: Voxel-Level Accuracy]
|
||||
text = Voxel-Level Accuracy\nWe predict temperature in every voxel at every time-step, and for standard jobs the forecast is typically within ±5–10 °C. Pauses, custom firmware or odd cooling can widen that margin.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio3.png
|
||||
|
||||
[hint: Fan & Airflow Model]
|
||||
text = Fan & Airflow Model\nA simplified fan-and-room model shows how cooling settings change part temps without slow CFD maths—great for day-to-day tuning. Chamber vortices aren’t yet simulated so runs stay fast.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio0.png
|
||||
|
||||
[hint: TQI Limits Explained]
|
||||
text = TQI Limits Explained\n-100 → too cold: tensile strength is ~50 % lower than parts printed at the ideal 0 (ASTM D638 dog-bone tests). +100 → too hot: layers stay molten and may sag or collapse. Keep regions near 0 for peak strength and accuracy.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio1.png
|
||||
|
||||
[hint: What Drives Runtime?]
|
||||
text = What Drives Runtime?\nExtra layers, dense infill, lots of tiny arcs (small mesh elements) or very slow printing speeds all extend simulation time because the solver must step through more seconds. Multi-core CPUs or CUDA GPUs speed things up.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio2.png
|
||||
|
||||
[hint: Nozzle Temp Range]
|
||||
text = Nozzle Temp Range\nSupported set-points are 190 – 320 °C; anything outside is clamped to keep physics realistic.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio3.png
|
||||
|
||||
[hint: Debugging Flowchart]
|
||||
text = Debugging Flowchart\nNot sure why a result looks off? Follow our step-by-step debugging flowchart to trace settings, G-code and material issues in minutes.
|
||||
documentation_link = https://wiki.helioadditive.com/en/flowchart
|
||||
image = images/dailytips_helio0.png
|
||||
|
||||
[hint: Why Cooling Varies]
|
||||
text = Why Cooling Varies\nOuter walls and bridges cool fastest while thick interiors stay warmer—geometry, airflow and tool-path all play a part, and the simulation visualises these differences.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio1.png
|
||||
|
||||
[hint: Extrusion Temp Model]
|
||||
text = Extrusion Temp Model\nMaterial properties shape the melt curve, but printer geometry decides how much heat the filament actually gains, so the model is material-specific and printer-calibrated.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio2.png
|
||||
|
||||
[hint: Nozzle setting of 190 °C vs 320 °C?]
|
||||
text = Nozzle setting of 190 °C vs 320 °C?\nA 100 °C nozzle change only nudges the thermal index because extrusion temp, flow rate and post-deposition cooling dominate the part’s heat history.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio3.png
|
||||
|
||||
[hint: Bed Temperature influence]
|
||||
text = Bed Temperature influence\nOnly the first-layer bed temp feeds the model right now; later bed changes aren’t yet captured.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio0.png
|
||||
|
||||
[hint: Actual Tool-Path]
|
||||
text = Actual Tool-Path\nYes—your exact G-code path, speeds and fan commands are simulated.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio1.png
|
||||
|
||||
[hint: Mesh Resolution]
|
||||
text = Mesh Resolution\nThe voxel grid is finer than the G-code line spacing, capturing layer-by-layer detail without wasting compute.
|
||||
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||
image = images/dailytips_helio2.png
|
||||
|
||||
[hint: Shrinkage, Warping & Stress]
|
||||
text = Shrinkage, Warping & Stress\nBy controlling the thermal index you can remove the heat-driven causes of warp and stress.
|
||||
documentation_link = https://wiki.helioadditive.com/en/flowchart
|
||||
image = images/dailytips_helio3.png
|
||||
@@ -1,94 +1,329 @@
|
||||
colors
|
||||
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0A2989 #FF6A13 #0086D6 #F7E6DE #00AE42
|
||||
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0086D6 #F7E6DE #00AE42 #5E43B7 #482960 #0056B8 #FEC600 #EC008C #F5547C #6F5034 #FF9016 #00B1B7 #BECF00
|
||||
src dst flush
|
||||
#000000 #FFFFFF 900
|
||||
#000000 #545454 330
|
||||
#000000 #8E9089 570
|
||||
#000000 #C12E1F 660
|
||||
#000000 #545454 270
|
||||
#000000 #C12E1F 900
|
||||
#000000 #F4EE2A 900
|
||||
#000000 #0A2989 480
|
||||
#000000 #FF6A13 900
|
||||
#000000 #0086D6 630
|
||||
#000000 #0086D6 900
|
||||
#000000 #F7E6DE 900
|
||||
#000000 #00AE42 660
|
||||
#FFFFFF #000000 90
|
||||
#FFFFFF #545454 120
|
||||
#FFFFFF #F4EE2A 120
|
||||
#FFFFFF #0A2989 150
|
||||
#FFFFFF #FF6A13 120
|
||||
#000000 #00AE42 900
|
||||
#000000 #5E43B7 900
|
||||
#000000 #482960 360
|
||||
#000000 #0056B8 660
|
||||
#000000 #FEC600 900
|
||||
#000000 #EC008C 900
|
||||
#000000 #F5547C 900
|
||||
#000000 #6F5034 510
|
||||
#000000 #FF9016 900
|
||||
#000000 #BECF00 900
|
||||
#FFFFFF #000000 120
|
||||
#FFFFFF #545454 150
|
||||
#FFFFFF #8E9089 120
|
||||
#FFFFFF #C12E1F 120
|
||||
#FFFFFF #F4EE2A 150
|
||||
#FFFFFF #0086D6 90
|
||||
#FFFFFF #F7E6DE 120
|
||||
#FFFFFF #00AE42 120
|
||||
#545454 #000000 90
|
||||
#545454 #FFFFFF 780
|
||||
#FFFFFF #5E43B7 150
|
||||
#FFFFFF #482960 120
|
||||
#FFFFFF #0056B8 150
|
||||
#FFFFFF #FEC600 120
|
||||
#FFFFFF #EC008C 150
|
||||
#FFFFFF #F5547C 120
|
||||
#FFFFFF #6F5034 150
|
||||
#FFFFFF #FF9016 120
|
||||
#FFFFFF #00B1B7 90
|
||||
#FFFFFF #BECF00 120
|
||||
#545454 #000000 150
|
||||
#545454 #FFFFFF 480
|
||||
#545454 #8E9089 210
|
||||
#545454 #C12E1F 270
|
||||
#545454 #F4EE2A 390
|
||||
#545454 #0A2989 120
|
||||
#545454 #FF6A13 360
|
||||
#545454 #0086D6 300
|
||||
#545454 #F7E6DE 780
|
||||
#545454 #0086D6 240
|
||||
#545454 #F7E6DE 360
|
||||
#545454 #00AE42 330
|
||||
#8E9089 #000000 210
|
||||
#8E9089 #FFFFFF 450
|
||||
#545454 #5E43B7 180
|
||||
#545454 #482960 150
|
||||
#545454 #0056B8 180
|
||||
#545454 #FEC600 300
|
||||
#545454 #EC008C 240
|
||||
#545454 #F5547C 330
|
||||
#545454 #6F5034 120
|
||||
#545454 #FF9016 330
|
||||
#545454 #00B1B7 270
|
||||
#545454 #BECF00 330
|
||||
#8E9089 #000000 180
|
||||
#8E9089 #FFFFFF 330
|
||||
#8E9089 #545454 180
|
||||
#8E9089 #C12E1F 180
|
||||
#8E9089 #F4EE2A 360
|
||||
#8E9089 #0A2989 210
|
||||
#8E9089 #FF6A13 300
|
||||
#8E9089 #F7E6DE 450
|
||||
#8E9089 #00AE42 210
|
||||
#C12E1F #000000 120
|
||||
#C12E1F #FFFFFF 720
|
||||
#C12E1F #545454 270
|
||||
#C12E1F #8E9089 480
|
||||
#C12E1F #F4EE2A 540
|
||||
#C12E1F #0A2989 300
|
||||
#C12E1F #FF6A13 330
|
||||
#C12E1F #F7E6DE 690
|
||||
#C12E1F #00AE42 600
|
||||
#8E9089 #0086D6 180
|
||||
#8E9089 #F7E6DE 360
|
||||
#8E9089 #00AE42 120
|
||||
#8E9089 #5E43B7 240
|
||||
#8E9089 #482960 240
|
||||
#8E9089 #0056B8 150
|
||||
#8E9089 #FEC600 330
|
||||
#8E9089 #EC008C 270
|
||||
#8E9089 #F5547C 240
|
||||
#8E9089 #6F5034 300
|
||||
#8E9089 #FF9016 300
|
||||
#8E9089 #00B1B7 180
|
||||
#8E9089 #BECF00 300
|
||||
#C12E1F #000000 150
|
||||
#C12E1F #FFFFFF 600
|
||||
#C12E1F #545454 570
|
||||
#C12E1F #8E9089 390
|
||||
#C12E1F #F4EE2A 900
|
||||
#C12E1F #0086D6 900
|
||||
#C12E1F #F7E6DE 900
|
||||
#C12E1F #00AE42 540
|
||||
#C12E1F #5E43B7 570
|
||||
#C12E1F #482960 210
|
||||
#C12E1F #0056B8 630
|
||||
#C12E1F #FEC600 420
|
||||
#C12E1F #EC008C 270
|
||||
#C12E1F #F5547C 300
|
||||
#C12E1F #6F5034 300
|
||||
#C12E1F #FF9016 390
|
||||
#C12E1F #00B1B7 600
|
||||
#C12E1F #BECF00 660
|
||||
#F4EE2A #000000 150
|
||||
#F4EE2A #FFFFFF 870
|
||||
#F4EE2A #545454 330
|
||||
#F4EE2A #0A2989 330
|
||||
#F4EE2A #FF6A13 150
|
||||
#F4EE2A #0086D6 420
|
||||
#F4EE2A #F7E6DE 870
|
||||
#0A2989 #000000 90
|
||||
#0A2989 #FFFFFF 630
|
||||
#0A2989 #545454 150
|
||||
#0A2989 #8E9089 390
|
||||
#0A2989 #C12E1F 450
|
||||
#0A2989 #F4EE2A 510
|
||||
#0A2989 #FF6A13 480
|
||||
#0A2989 #0086D6 300
|
||||
#0A2989 #F7E6DE 630
|
||||
#0A2989 #00AE42 660
|
||||
#FF6A13 #000000 90
|
||||
#FF6A13 #FFFFFF 570
|
||||
#FF6A13 #545454 180
|
||||
#FF6A13 #F4EE2A 390
|
||||
#FF6A13 #0A2989 270
|
||||
#FF6A13 #0086D6 360
|
||||
#FF6A13 #F7E6DE 330
|
||||
#FF6A13 #00AE42 300
|
||||
#F4EE2A #FFFFFF 660
|
||||
#F4EE2A #545454 420
|
||||
#F4EE2A #8E9089 300
|
||||
#F4EE2A #C12E1F 180
|
||||
#F4EE2A #0086D6 900
|
||||
#F4EE2A #F7E6DE 900
|
||||
#F4EE2A #00AE42 180
|
||||
#F4EE2A #5E43B7 690
|
||||
#F4EE2A #0056B8 360
|
||||
#F4EE2A #FEC600 120
|
||||
#F4EE2A #EC008C 600
|
||||
#F4EE2A #F5547C 240
|
||||
#F4EE2A #6F5034 270
|
||||
#F4EE2A #FF9016 120
|
||||
#F4EE2A #00B1B7 630
|
||||
#F4EE2A #BECF00 120
|
||||
#0086D6 #000000 120
|
||||
#0086D6 #FFFFFF 600
|
||||
#0086D6 #FFFFFF 510
|
||||
#0086D6 #545454 150
|
||||
#0086D6 #8E9089 390
|
||||
#0086D6 #C12E1F 420
|
||||
#0086D6 #F4EE2A 480
|
||||
#0086D6 #0A2989 120
|
||||
#0086D6 #FF6A13 330
|
||||
#0086D6 #F7E6DE 450
|
||||
#0086D6 #00AE42 180
|
||||
#F7E6DE #000000 90
|
||||
#0086D6 #8E9089 180
|
||||
#0086D6 #C12E1F 300
|
||||
#0086D6 #F4EE2A 360
|
||||
#0086D6 #F7E6DE 480
|
||||
#0086D6 #00AE42 120
|
||||
#0086D6 #5E43B7 210
|
||||
#0086D6 #482960 120
|
||||
#0086D6 #0056B8 150
|
||||
#0086D6 #FEC600 330
|
||||
#0086D6 #EC008C 330
|
||||
#0086D6 #F5547C 330
|
||||
#0086D6 #6F5034 150
|
||||
#0086D6 #FF9016 300
|
||||
#0086D6 #00B1B7 120
|
||||
#0086D6 #BECF00 360
|
||||
#F7E6DE #000000 150
|
||||
#F7E6DE #FFFFFF 150
|
||||
#F7E6DE #545454 120
|
||||
#F7E6DE #8E9089 150
|
||||
#F7E6DE #C12E1F 150
|
||||
#F7E6DE #F4EE2A 120
|
||||
#F7E6DE #0A2989 150
|
||||
#F7E6DE #FF6A13 120
|
||||
#F7E6DE #00AE42 120
|
||||
#00AE42 #000000 90
|
||||
#00AE42 #FFFFFF 630
|
||||
#00AE42 #545454 210
|
||||
#00AE42 #F4EE2A 360
|
||||
#00AE42 #0A2989 210
|
||||
#00AE42 #0086D6 360
|
||||
#00AE42 #F7E6DE 630
|
||||
#F7E6DE #0086D6 180
|
||||
#F7E6DE #00AE42 150
|
||||
#F7E6DE #5E43B7 210
|
||||
#F7E6DE #482960 150
|
||||
#F7E6DE #0056B8 150
|
||||
#F7E6DE #FEC600 120
|
||||
#F7E6DE #EC008C 150
|
||||
#F7E6DE #F5547C 150
|
||||
#F7E6DE #6F5034 150
|
||||
#F7E6DE #FF9016 120
|
||||
#F7E6DE #00B1B7 120
|
||||
#F7E6DE #BECF00 120
|
||||
#00AE42 #000000 120
|
||||
#00AE42 #FFFFFF 690
|
||||
#00AE42 #545454 330
|
||||
#00AE42 #8E9089 330
|
||||
#00AE42 #C12E1F 270
|
||||
#00AE42 #F4EE2A 480
|
||||
#00AE42 #0086D6 750
|
||||
#00AE42 #F7E6DE 900
|
||||
#00AE42 #5E43B7 450
|
||||
#00AE42 #482960 210
|
||||
#00AE42 #0056B8 240
|
||||
#00AE42 #FEC600 420
|
||||
#00AE42 #F5547C 390
|
||||
#00AE42 #6F5034 210
|
||||
#00AE42 #FF9016 420
|
||||
#00AE42 #00B1B7 390
|
||||
#00AE42 #BECF00 300
|
||||
#5E43B7 #000000 150
|
||||
#5E43B7 #FFFFFF 360
|
||||
#5E43B7 #545454 150
|
||||
#5E43B7 #8E9089 180
|
||||
#5E43B7 #C12E1F 270
|
||||
#5E43B7 #F4EE2A 570
|
||||
#5E43B7 #0086D6 240
|
||||
#5E43B7 #F7E6DE 660
|
||||
#5E43B7 #00AE42 240
|
||||
#5E43B7 #482960 240
|
||||
#5E43B7 #0056B8 150
|
||||
#5E43B7 #FEC600 390
|
||||
#5E43B7 #EC008C 330
|
||||
#5E43B7 #F5547C 270
|
||||
#5E43B7 #6F5034 150
|
||||
#5E43B7 #FF9016 300
|
||||
#5E43B7 #00B1B7 270
|
||||
#5E43B7 #BECF00 390
|
||||
#482960 #000000 120
|
||||
#482960 #FFFFFF 570
|
||||
#482960 #545454 240
|
||||
#482960 #8E9089 330
|
||||
#482960 #C12E1F 480
|
||||
#482960 #F4EE2A 780
|
||||
#482960 #0086D6 420
|
||||
#482960 #F7E6DE 900
|
||||
#482960 #00AE42 510
|
||||
#482960 #5E43B7 270
|
||||
#482960 #0056B8 420
|
||||
#482960 #FEC600 540
|
||||
#482960 #EC008C 480
|
||||
#482960 #F5547C 390
|
||||
#482960 #6F5034 270
|
||||
#482960 #FF9016 510
|
||||
#482960 #00B1B7 480
|
||||
#482960 #BECF00 540
|
||||
#0056B8 #000000 120
|
||||
#0056B8 #FFFFFF 900
|
||||
#0056B8 #545454 240
|
||||
#0056B8 #8E9089 330
|
||||
#0056B8 #C12E1F 570
|
||||
#0056B8 #F4EE2A 900
|
||||
#0056B8 #0086D6 210
|
||||
#0056B8 #F7E6DE 780
|
||||
#0056B8 #00AE42 300
|
||||
#0056B8 #5E43B7 210
|
||||
#0056B8 #482960 270
|
||||
#0056B8 #FEC600 630
|
||||
#0056B8 #EC008C 540
|
||||
#0056B8 #F5547C 660
|
||||
#0056B8 #6F5034 300
|
||||
#0056B8 #FF9016 690
|
||||
#0056B8 #00B1B7 240
|
||||
#0056B8 #BECF00 540
|
||||
#FEC600 #000000 120
|
||||
#FEC600 #FFFFFF 630
|
||||
#FEC600 #545454 540
|
||||
#FEC600 #8E9089 480
|
||||
#FEC600 #C12E1F 180
|
||||
#FEC600 #F4EE2A 180
|
||||
#FEC600 #0086D6 900
|
||||
#FEC600 #F7E6DE 720
|
||||
#FEC600 #00AE42 210
|
||||
#FEC600 #5E43B7 900
|
||||
#FEC600 #482960 330
|
||||
#FEC600 #0056B8 900
|
||||
#FEC600 #EC008C 660
|
||||
#FEC600 #F5547C 390
|
||||
#FEC600 #6F5034 330
|
||||
#FEC600 #FF9016 270
|
||||
#FEC600 #00B1B7 630
|
||||
#FEC600 #BECF00 210
|
||||
#EC008C #000000 120
|
||||
#EC008C #FFFFFF 540
|
||||
#EC008C #545454 270
|
||||
#EC008C #8E9089 330
|
||||
#EC008C #C12E1F 120
|
||||
#EC008C #F4EE2A 900
|
||||
#EC008C #0086D6 330
|
||||
#EC008C #00AE42 450
|
||||
#EC008C #5E43B7 210
|
||||
#EC008C #482960 180
|
||||
#EC008C #0056B8 300
|
||||
#EC008C #FEC600 360
|
||||
#EC008C #F5547C 210
|
||||
#EC008C #6F5034 240
|
||||
#EC008C #FF9016 240
|
||||
#EC008C #00B1B7 450
|
||||
#EC008C #BECF00 510
|
||||
#F5547C #000000 120
|
||||
#F5547C #FFFFFF 570
|
||||
#F5547C #545454 210
|
||||
#F5547C #8E9089 240
|
||||
#F5547C #C12E1F 150
|
||||
#F5547C #F4EE2A 750
|
||||
#F5547C #0086D6 270
|
||||
#F5547C #F7E6DE 900
|
||||
#F5547C #00AE42 540
|
||||
#F5547C #5E43B7 150
|
||||
#F5547C #482960 180
|
||||
#F5547C #0056B8 150
|
||||
#F5547C #FEC600 330
|
||||
#F5547C #EC008C 150
|
||||
#F5547C #6F5034 180
|
||||
#F5547C #FF9016 270
|
||||
#F5547C #00B1B7 390
|
||||
#F5547C #BECF00 360
|
||||
#6F5034 #000000 150
|
||||
#6F5034 #FFFFFF 600
|
||||
#6F5034 #545454 150
|
||||
#6F5034 #8E9089 270
|
||||
#6F5034 #C12E1F 180
|
||||
#6F5034 #F4EE2A 360
|
||||
#6F5034 #0086D6 360
|
||||
#6F5034 #F7E6DE 390
|
||||
#6F5034 #00AE42 330
|
||||
#6F5034 #5E43B7 240
|
||||
#6F5034 #482960 180
|
||||
#6F5034 #0056B8 300
|
||||
#6F5034 #FEC600 300
|
||||
#6F5034 #EC008C 270
|
||||
#6F5034 #F5547C 240
|
||||
#6F5034 #FF9016 270
|
||||
#6F5034 #00B1B7 270
|
||||
#6F5034 #BECF00 390
|
||||
#FF9016 #000000 120
|
||||
#FF9016 #FFFFFF 450
|
||||
#FF9016 #545454 240
|
||||
#FF9016 #8E9089 300
|
||||
#FF9016 #C12E1F 150
|
||||
#FF9016 #F4EE2A 480
|
||||
#FF9016 #0086D6 660
|
||||
#FF9016 #F7E6DE 690
|
||||
#FF9016 #00AE42 360
|
||||
#FF9016 #5E43B7 360
|
||||
#FF9016 #482960 210
|
||||
#FF9016 #0056B8 330
|
||||
#FF9016 #FEC600 210
|
||||
#FF9016 #EC008C 240
|
||||
#FF9016 #F5547C 210
|
||||
#FF9016 #6F5034 270
|
||||
#FF9016 #00B1B7 390
|
||||
#FF9016 #BECF00 330
|
||||
#00B1B7 #FFFFFF 630
|
||||
#00B1B7 #8E9089 240
|
||||
#00B1B7 #F4EE2A 390
|
||||
#00B1B7 #EC008C 240
|
||||
#00B1B7 #6F5034 360
|
||||
#00B1B7 #FF9016 300
|
||||
#00B1B7 #00B1B7 390
|
||||
#00B1B7 #BECF00 300
|
||||
#BECF00 #000000 150
|
||||
#BECF00 #FFFFFF 630
|
||||
#BECF00 #8E9089 300
|
||||
#BECF00 #C12E1F 150
|
||||
#BECF00 #F4EE2A 150
|
||||
#BECF00 #0086D6 270
|
||||
#BECF00 #F7E6DE 540
|
||||
#BECF00 #00AE42 150
|
||||
#BECF00 #5E43B7 270
|
||||
#BECF00 #482960 210
|
||||
#BECF00 #0056B8 240
|
||||
#BECF00 #FEC600 120
|
||||
#BECF00 #EC008C 270
|
||||
#BECF00 #F5547C 270
|
||||
#BECF00 #6F5034 150
|
||||
#BECF00 #FF9016 120
|
||||
#BECF00 #00B1B7 330
|
||||
@@ -1,99 +1,338 @@
|
||||
colors
|
||||
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0A2989 #FF6A13 #0086D6 #F7E6DE #00AE42
|
||||
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0086D6 #F7E6DE #00AE42 #5E43B7 #482960 #0056B8 #FEC600 #EC008C #F5547C #6F5034 #FF9016 #00B1B7 #BECF00
|
||||
src dst flush
|
||||
#000000 #FFFFFF 900
|
||||
#000000 #545454 270
|
||||
#000000 #8E9089 510
|
||||
#000000 #C12E1F 900
|
||||
#000000 #545454 450
|
||||
#000000 #8E9089 540
|
||||
#000000 #C12E1F 600
|
||||
#000000 #F4EE2A 900
|
||||
#000000 #0A2989 360
|
||||
#000000 #FF6A13 900
|
||||
#000000 #0086D6 630
|
||||
#000000 #0086D6 570
|
||||
#000000 #F7E6DE 900
|
||||
#000000 #00AE42 780
|
||||
#000000 #00AE42 810
|
||||
#000000 #5E43B7 480
|
||||
#000000 #482960 270
|
||||
#000000 #0056B8 540
|
||||
#000000 #FEC600 900
|
||||
#000000 #EC008C 900
|
||||
#000000 #F5547C 900
|
||||
#000000 #FF9016 900
|
||||
#000000 #00B1B7 630
|
||||
#000000 #BECF00 900
|
||||
#FFFFFF #000000 90
|
||||
#FFFFFF #545454 90
|
||||
#FFFFFF #8E9089 180
|
||||
#FFFFFF #F4EE2A 150
|
||||
#FFFFFF #0A2989 60
|
||||
#FFFFFF #FF6A13 150
|
||||
#FFFFFF #00AE42 150
|
||||
#FFFFFF #545454 240
|
||||
#FFFFFF #8E9089 120
|
||||
#FFFFFF #C12E1F 90
|
||||
#FFFFFF #F4EE2A 90
|
||||
#FFFFFF #0086D6 90
|
||||
#FFFFFF #F7E6DE 90
|
||||
#FFFFFF #00AE42 120
|
||||
#FFFFFF #5E43B7 90
|
||||
#FFFFFF #0056B8 90
|
||||
#FFFFFF #FEC600 150
|
||||
#FFFFFF #EC008C 150
|
||||
#FFFFFF #F5547C 120
|
||||
#FFFFFF #6F5034 120
|
||||
#FFFFFF #FF9016 120
|
||||
#FFFFFF #00B1B7 120
|
||||
#FFFFFF #BECF00 90
|
||||
#545454 #000000 90
|
||||
#545454 #8E9089 240
|
||||
#545454 #C12E1F 360
|
||||
#545454 #F4EE2A 390
|
||||
#545454 #0A2989 180
|
||||
#545454 #FF6A13 300
|
||||
#545454 #FFFFFF 360
|
||||
#545454 #8E9089 120
|
||||
#545454 #C12E1F 270
|
||||
#545454 #F4EE2A 330
|
||||
#545454 #0086D6 270
|
||||
#545454 #F7E6DE 330
|
||||
#545454 #00AE42 390
|
||||
#8E9089 #000000 210
|
||||
#8E9089 #FFFFFF 390
|
||||
#8E9089 #545454 150
|
||||
#8E9089 #F4EE2A 330
|
||||
#8E9089 #0A2989 330
|
||||
#545454 #F7E6DE 390
|
||||
#545454 #00AE42 270
|
||||
#545454 #5E43B7 120
|
||||
#545454 #482960 150
|
||||
#545454 #0056B8 180
|
||||
#545454 #FEC600 300
|
||||
#545454 #EC008C 240
|
||||
#545454 #F5547C 300
|
||||
#545454 #6F5034 120
|
||||
#545454 #FF9016 240
|
||||
#545454 #00B1B7 270
|
||||
#545454 #BECF00 300
|
||||
#8E9089 #000000 270
|
||||
#8E9089 #FFFFFF 330
|
||||
#8E9089 #545454 300
|
||||
#8E9089 #C12E1F 240
|
||||
#8E9089 #F4EE2A 240
|
||||
#8E9089 #0086D6 240
|
||||
#8E9089 #F7E6DE 390
|
||||
#8E9089 #00AE42 240
|
||||
#C12E1F #000000 90
|
||||
#C12E1F #FFFFFF 780
|
||||
#C12E1F #545454 360
|
||||
#C12E1F #8E9089 510
|
||||
#C12E1F #F4EE2A 600
|
||||
#C12E1F #0A2989 420
|
||||
#C12E1F #FF6A13 390
|
||||
#C12E1F #0086D6 450
|
||||
#C12E1F #F7E6DE 600
|
||||
#C12E1F #00AE42 510
|
||||
#F4EE2A #000000 90
|
||||
#F4EE2A #FFFFFF 690
|
||||
#8E9089 #00AE42 210
|
||||
#8E9089 #5E43B7 270
|
||||
#8E9089 #482960 300
|
||||
#8E9089 #0056B8 180
|
||||
#8E9089 #FEC600 240
|
||||
#8E9089 #EC008C 240
|
||||
#8E9089 #F5547C 240
|
||||
#8E9089 #6F5034 210
|
||||
#8E9089 #FF9016 240
|
||||
#8E9089 #00B1B7 210
|
||||
#8E9089 #BECF00 270
|
||||
#C12E1F #000000 150
|
||||
#C12E1F #FFFFFF 900
|
||||
#C12E1F #545454 300
|
||||
#C12E1F #8E9089 570
|
||||
#C12E1F #F4EE2A 450
|
||||
#C12E1F #0086D6 390
|
||||
#C12E1F #F7E6DE 630
|
||||
#C12E1F #00AE42 420
|
||||
#C12E1F #5E43B7 330
|
||||
#C12E1F #482960 210
|
||||
#C12E1F #0056B8 300
|
||||
#C12E1F #FEC600 660
|
||||
#C12E1F #EC008C 240
|
||||
#C12E1F #F5547C 180
|
||||
#C12E1F #6F5034 210
|
||||
#C12E1F #FF9016 270
|
||||
#C12E1F #00B1B7 540
|
||||
#C12E1F #BECF00 360
|
||||
#F4EE2A #000000 150
|
||||
#F4EE2A #FFFFFF 900
|
||||
#F4EE2A #545454 390
|
||||
#F4EE2A #8E9089 480
|
||||
#F4EE2A #0A2989 390
|
||||
#F4EE2A #FF6A13 180
|
||||
#F4EE2A #0086D6 450
|
||||
#F4EE2A #F7E6DE 690
|
||||
#0A2989 #000000 90
|
||||
#0A2989 #FFFFFF 630
|
||||
#0A2989 #545454 300
|
||||
#0A2989 #8E9089 450
|
||||
#0A2989 #C12E1F 450
|
||||
#0A2989 #F4EE2A 510
|
||||
#0A2989 #FF6A13 420
|
||||
#0A2989 #0086D6 330
|
||||
#0A2989 #F7E6DE 630
|
||||
#0A2989 #00AE42 390
|
||||
#FF6A13 #000000 90
|
||||
#FF6A13 #FFFFFF 420
|
||||
#FF6A13 #545454 90
|
||||
#FF6A13 #8E9089 360
|
||||
#FF6A13 #C12E1F 180
|
||||
#FF6A13 #F4EE2A 180
|
||||
#FF6A13 #0A2989 210
|
||||
#FF6A13 #0086D6 360
|
||||
#FF6A13 #F7E6DE 420
|
||||
#FF6A13 #00AE42 240
|
||||
#0086D6 #000000 90
|
||||
#0086D6 #FFFFFF 510
|
||||
#0086D6 #545454 150
|
||||
#0086D6 #8E9089 420
|
||||
#0086D6 #C12E1F 420
|
||||
#0086D6 #F4EE2A 420
|
||||
#0086D6 #0A2989 120
|
||||
#0086D6 #FF6A13 390
|
||||
#0086D6 #F7E6DE 510
|
||||
#0086D6 #00AE42 300
|
||||
#F4EE2A #8E9089 450
|
||||
#F4EE2A #C12E1F 180
|
||||
#F4EE2A #0086D6 270
|
||||
#F4EE2A #F7E6DE 570
|
||||
#F4EE2A #00AE42 120
|
||||
#F4EE2A #5E43B7 330
|
||||
#F4EE2A #482960 330
|
||||
#F4EE2A #0056B8 240
|
||||
#F4EE2A #FEC600 90
|
||||
#F4EE2A #EC008C 330
|
||||
#F4EE2A #F5547C 420
|
||||
#F4EE2A #6F5034 240
|
||||
#F4EE2A #FF9016 150
|
||||
#F4EE2A #00B1B7 360
|
||||
#F4EE2A #BECF00 240
|
||||
#0086D6 #000000 150
|
||||
#0086D6 #FFFFFF 420
|
||||
#0086D6 #545454 120
|
||||
#0086D6 #8E9089 480
|
||||
#0086D6 #C12E1F 240
|
||||
#0086D6 #F4EE2A 360
|
||||
#0086D6 #F7E6DE 390
|
||||
#0086D6 #00AE42 120
|
||||
#0086D6 #5E43B7 150
|
||||
#0086D6 #482960 150
|
||||
#0086D6 #0056B8 120
|
||||
#0086D6 #EC008C 330
|
||||
#0086D6 #F5547C 330
|
||||
#0086D6 #6F5034 150
|
||||
#0086D6 #FF9016 300
|
||||
#0086D6 #00B1B7 150
|
||||
#0086D6 #BECF00 270
|
||||
#F7E6DE #000000 90
|
||||
#F7E6DE #545454 90
|
||||
#F7E6DE #8E9089 180
|
||||
#F7E6DE #F4EE2A 150
|
||||
#F7E6DE #0A2989 60
|
||||
#F7E6DE #FF6A13 150
|
||||
#F7E6DE #00AE42 150
|
||||
#00AE42 #FFFFFF 570
|
||||
#00AE42 #545454 270
|
||||
#00AE42 #8E9089 480
|
||||
#00AE42 #F4EE2A 450
|
||||
#00AE42 #0A2989 270
|
||||
#00AE42 #FF6A13 300
|
||||
#00AE42 #0086D6 390
|
||||
#00AE42 #F7E6DE 570
|
||||
#F7E6DE #FFFFFF 90
|
||||
#F7E6DE #545454 120
|
||||
#F7E6DE #8E9089 120
|
||||
#F7E6DE #C12E1F 90
|
||||
#F7E6DE #F4EE2A 60
|
||||
#F7E6DE #0086D6 90
|
||||
#F7E6DE #00AE42 90
|
||||
#F7E6DE #5E43B7 90
|
||||
#F7E6DE #482960 120
|
||||
#F7E6DE #0056B8 120
|
||||
#F7E6DE #FEC600 120
|
||||
#F7E6DE #EC008C 150
|
||||
#F7E6DE #F5547C 120
|
||||
#F7E6DE #6F5034 150
|
||||
#F7E6DE #FF9016 120
|
||||
#F7E6DE #00B1B7 90
|
||||
#F7E6DE #BECF00 120
|
||||
#00AE42 #000000 150
|
||||
#00AE42 #FFFFFF 900
|
||||
#00AE42 #545454 240
|
||||
#00AE42 #8E9089 330
|
||||
#00AE42 #C12E1F 210
|
||||
#00AE42 #F4EE2A 270
|
||||
#00AE42 #F7E6DE 360
|
||||
#00AE42 #5E43B7 180
|
||||
#00AE42 #482960 180
|
||||
#00AE42 #0056B8 240
|
||||
#00AE42 #FEC600 300
|
||||
#00AE42 #EC008C 300
|
||||
#00AE42 #F5547C 390
|
||||
#00AE42 #6F5034 180
|
||||
#00AE42 #FF9016 300
|
||||
#00AE42 #00B1B7 360
|
||||
#00AE42 #BECF00 270
|
||||
#5E43B7 #000000 90
|
||||
#5E43B7 #FFFFFF 630
|
||||
#5E43B7 #545454 150
|
||||
#5E43B7 #8E9089 210
|
||||
#5E43B7 #C12E1F 210
|
||||
#5E43B7 #F4EE2A 330
|
||||
#5E43B7 #0086D6 180
|
||||
#5E43B7 #F7E6DE 510
|
||||
#5E43B7 #00AE42 240
|
||||
#5E43B7 #482960 150
|
||||
#5E43B7 #0056B8 120
|
||||
#5E43B7 #FEC600 540
|
||||
#5E43B7 #EC008C 270
|
||||
#5E43B7 #F5547C 420
|
||||
#5E43B7 #6F5034 150
|
||||
#5E43B7 #FF9016 330
|
||||
#5E43B7 #00B1B7 270
|
||||
#5E43B7 #BECF00 330
|
||||
#482960 #000000 90
|
||||
#482960 #FFFFFF 900
|
||||
#482960 #545454 240
|
||||
#482960 #8E9089 510
|
||||
#482960 #C12E1F 360
|
||||
#482960 #F4EE2A 420
|
||||
#482960 #0086D6 330
|
||||
#482960 #F7E6DE 510
|
||||
#482960 #00AE42 390
|
||||
#482960 #5E43B7 270
|
||||
#482960 #0056B8 300
|
||||
#482960 #FEC600 660
|
||||
#482960 #EC008C 360
|
||||
#482960 #F5547C 510
|
||||
#482960 #6F5034 180
|
||||
#482960 #FF9016 540
|
||||
#482960 #00B1B7 450
|
||||
#482960 #BECF00 600
|
||||
#0056B8 #000000 90
|
||||
#0056B8 #FFFFFF 780
|
||||
#0056B8 #545454 270
|
||||
#0056B8 #8E9089 270
|
||||
#0056B8 #C12E1F 330
|
||||
#0056B8 #F4EE2A 630
|
||||
#0056B8 #0086D6 180
|
||||
#0056B8 #F7E6DE 840
|
||||
#0056B8 #00AE42 270
|
||||
#0056B8 #5E43B7 270
|
||||
#0056B8 #482960 150
|
||||
#0056B8 #FEC600 630
|
||||
#0056B8 #EC008C 450
|
||||
#0056B8 #6F5034 240
|
||||
#0056B8 #FF9016 510
|
||||
#0056B8 #00B1B7 240
|
||||
#0056B8 #BECF00 510
|
||||
#FEC600 #000000 90
|
||||
#FEC600 #FFFFFF 900
|
||||
#FEC600 #545454 390
|
||||
#FEC600 #8E9089 600
|
||||
#FEC600 #C12E1F 180
|
||||
#FEC600 #F4EE2A 150
|
||||
#FEC600 #0086D6 330
|
||||
#FEC600 #F7E6DE 600
|
||||
#FEC600 #00AE42 180
|
||||
#FEC600 #5E43B7 270
|
||||
#FEC600 #482960 330
|
||||
#FEC600 #0056B8 300
|
||||
#FEC600 #EC008C 390
|
||||
#FEC600 #F5547C 570
|
||||
#FEC600 #6F5034 240
|
||||
#FEC600 #FF9016 150
|
||||
#FEC600 #00B1B7 510
|
||||
#FEC600 #BECF00 300
|
||||
#EC008C #000000 90
|
||||
#EC008C #FFFFFF 900
|
||||
#EC008C #545454 240
|
||||
#EC008C #8E9089 270
|
||||
#EC008C #C12E1F 120
|
||||
#EC008C #F4EE2A 360
|
||||
#EC008C #0086D6 270
|
||||
#EC008C #F7E6DE 660
|
||||
#EC008C #00AE42 330
|
||||
#EC008C #5E43B7 270
|
||||
#EC008C #482960 270
|
||||
#EC008C #0056B8 210
|
||||
#EC008C #FEC600 510
|
||||
#EC008C #F5547C 120
|
||||
#EC008C #6F5034 180
|
||||
#EC008C #00B1B7 360
|
||||
#EC008C #BECF00 570
|
||||
#F5547C #000000 90
|
||||
#F5547C #FFFFFF 900
|
||||
#F5547C #545454 180
|
||||
#F5547C #8E9089 180
|
||||
#F5547C #C12E1F 150
|
||||
#F5547C #F4EE2A 270
|
||||
#F5547C #0086D6 270
|
||||
#F5547C #F7E6DE 540
|
||||
#F5547C #00AE42 300
|
||||
#F5547C #5E43B7 210
|
||||
#F5547C #482960 240
|
||||
#F5547C #0056B8 210
|
||||
#F5547C #FEC600 330
|
||||
#F5547C #EC008C 120
|
||||
#F5547C #6F5034 180
|
||||
#F5547C #FF9016 150
|
||||
#F5547C #00B1B7 300
|
||||
#F5547C #BECF00 330
|
||||
#6F5034 #000000 180
|
||||
#6F5034 #FFFFFF 660
|
||||
#6F5034 #545454 180
|
||||
#6F5034 #8E9089 240
|
||||
#6F5034 #C12E1F 240
|
||||
#6F5034 #F4EE2A 390
|
||||
#6F5034 #0086D6 330
|
||||
#6F5034 #F7E6DE 420
|
||||
#6F5034 #00AE42 300
|
||||
#6F5034 #5E43B7 300
|
||||
#6F5034 #482960 180
|
||||
#6F5034 #0056B8 300
|
||||
#6F5034 #FEC600 270
|
||||
#6F5034 #EC008C 210
|
||||
#6F5034 #F5547C 240
|
||||
#6F5034 #FF9016 240
|
||||
#6F5034 #00B1B7 270
|
||||
#6F5034 #BECF00 360
|
||||
#FF9016 #FFFFFF 900
|
||||
#FF9016 #545454 240
|
||||
#FF9016 #8E9089 270
|
||||
#FF9016 #C12E1F 150
|
||||
#FF9016 #F4EE2A 330
|
||||
#FF9016 #0086D6 240
|
||||
#FF9016 #F7E6DE 390
|
||||
#FF9016 #00AE42 240
|
||||
#FF9016 #5E43B7 270
|
||||
#FF9016 #482960 180
|
||||
#FF9016 #0056B8 240
|
||||
#FF9016 #FEC600 210
|
||||
#FF9016 #EC008C 210
|
||||
#FF9016 #F5547C 210
|
||||
#FF9016 #6F5034 180
|
||||
#FF9016 #00B1B7 300
|
||||
#FF9016 #BECF00 270
|
||||
#00B1B7 #000000 210
|
||||
#00B1B7 #FFFFFF 480
|
||||
#00B1B7 #545454 300
|
||||
#00B1B7 #8E9089 180
|
||||
#00B1B7 #C12E1F 300
|
||||
#00B1B7 #F4EE2A 300
|
||||
#00B1B7 #0086D6 150
|
||||
#00B1B7 #F7E6DE 390
|
||||
#00B1B7 #00AE42 120
|
||||
#00B1B7 #5E43B7 270
|
||||
#00B1B7 #482960 270
|
||||
#00B1B7 #0056B8 150
|
||||
#00B1B7 #FEC600 330
|
||||
#00B1B7 #EC008C 270
|
||||
#00B1B7 #F5547C 270
|
||||
#00B1B7 #6F5034 210
|
||||
#00B1B7 #FF9016 270
|
||||
#00B1B7 #BECF00 240
|
||||
#BECF00 #000000 270
|
||||
#BECF00 #FFFFFF 450
|
||||
#BECF00 #545454 270
|
||||
#BECF00 #8E9089 270
|
||||
#BECF00 #C12E1F 150
|
||||
#BECF00 #F4EE2A 90
|
||||
#BECF00 #0086D6 300
|
||||
#BECF00 #F7E6DE 300
|
||||
#BECF00 #00AE42 180
|
||||
#BECF00 #5E43B7 270
|
||||
#BECF00 #482960 210
|
||||
#BECF00 #0056B8 240
|
||||
#BECF00 #FEC600 210
|
||||
#BECF00 #EC008C 240
|
||||
#BECF00 #F5547C 150
|
||||
#BECF00 #6F5034 150
|
||||
#BECF00 #FF9016 150
|
||||
#BECF00 #00B1B7 270
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 9.8 KiB |
1
resources/images/add_copies.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V3.5a1,1,0,0,1,1-1h10a1,1,0,0,1,1,1v10a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm13-1a1,1,0,0,0,1-1V1.5a1,1,0,0,0-1-1H3.5a1,1,0,0,0-1,1m0,7h3m2,0h3m-4,4v-8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
||||
|
After Width: | Height: | Size: 346 B |
3
resources/images/ams_drying.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.7124 5.11094V7.01094C12.7124 7.40578 12.3947 7.72344 11.9999 7.72344C11.6051 7.72344 11.2874 7.40578 11.2874 7.01094V5.11094C11.2874 4.71609 11.6051 4.39844 11.9999 4.39844C12.3947 4.39844 12.7124 4.71609 12.7124 5.11094ZM17.3733 7.63141L16.0285 8.97625C15.7494 9.25531 15.2982 9.25531 15.0221 8.97625C14.746 8.69719 14.743 8.24594 15.0221 7.96984L16.3669 6.625C16.646 6.34594 17.0972 6.34594 17.3733 6.625C17.6494 6.90406 17.6524 7.35531 17.3733 7.63141ZM7.63287 6.625L8.97771 7.96984C9.25678 8.24891 9.25678 8.70016 8.97771 8.97625C8.69865 9.25234 8.2474 9.25531 7.97131 8.97625L6.62646 7.63141C6.3474 7.35234 6.3474 6.90109 6.62646 6.625C6.90553 6.34891 7.35678 6.34594 7.63287 6.625ZM5.1124 11.2859H7.0124C7.40725 11.2859 7.7249 11.6036 7.7249 11.9984C7.7249 12.3933 7.40725 12.7109 7.0124 12.7109H5.1124C4.71756 12.7109 4.3999 12.3933 4.3999 11.9984C4.3999 11.6036 4.71756 11.2859 5.1124 11.2859ZM16.9874 11.2859H18.8874C19.2822 11.2859 19.5999 11.6036 19.5999 11.9984C19.5999 12.3933 19.2822 12.7109 18.8874 12.7109H16.9874C16.5926 12.7109 16.2749 12.3933 16.2749 11.9984C16.2749 11.6036 16.5926 11.2859 16.9874 11.2859ZM8.97771 16.03L7.63287 17.3719C7.35381 17.6509 6.90256 17.6509 6.62646 17.3719C6.35037 17.0928 6.3474 16.6416 6.62646 16.3655L7.97131 15.0206C8.25037 14.7416 8.70162 14.7416 8.97771 15.0206C9.25381 15.2997 9.25678 15.7509 8.97771 16.027V16.03ZM16.0315 15.0236L17.3733 16.3655C17.6524 16.6445 17.6524 17.0958 17.3733 17.3719C17.0943 17.648 16.643 17.6509 16.3669 17.3719L15.0221 16.027C14.743 15.748 14.743 15.2967 15.0221 15.0206C15.3012 14.7445 15.7524 14.7416 16.0285 15.0206L16.0315 15.0236ZM12.7124 16.9859V18.8859C12.7124 19.2808 12.3947 19.5984 11.9999 19.5984C11.6051 19.5984 11.2874 19.2808 11.2874 18.8859V16.9859C11.2874 16.5911 11.6051 16.2734 11.9999 16.2734C12.3947 16.2734 12.7124 16.5911 12.7124 16.9859ZM13.8999 11.9984C13.8999 11.4945 13.6997 11.0113 13.3434 10.6549C12.9871 10.2986 12.5038 10.0984 11.9999 10.0984C11.496 10.0984 11.0127 10.2986 10.6564 10.6549C10.3001 11.0113 10.0999 11.4945 10.0999 11.9984C10.0999 12.5023 10.3001 12.9856 10.6564 13.3419C11.0127 13.6983 11.496 13.8984 11.9999 13.8984C12.5038 13.8984 12.9871 13.6983 13.3434 13.3419C13.6997 12.9856 13.8999 12.5023 13.8999 11.9984ZM8.6749 11.9984C8.6749 11.1166 9.02521 10.2709 9.64877 9.64731C10.2723 9.02375 11.1181 8.67344 11.9999 8.67344C12.8817 8.67344 13.7275 9.02375 14.351 9.64731C14.9746 10.2709 15.3249 11.1166 15.3249 11.9984C15.3249 12.8803 14.9746 13.726 14.351 14.3496C13.7275 14.9731 12.8817 15.3234 11.9999 15.3234C11.1181 15.3234 10.2723 14.9731 9.64877 14.3496C9.02521 13.726 8.6749 12.8803 8.6749 11.9984Z" fill="#1F1F1F"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
3
resources/images/ams_is_drying.svg
Normal file
@@ -0,0 +1,3 @@
|
||||
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M12.7124 5.11094V7.01094C12.7124 7.40578 12.3947 7.72344 11.9999 7.72344C11.6051 7.72344 11.2874 7.40578 11.2874 7.01094V5.11094C11.2874 4.71609 11.6051 4.39844 11.9999 4.39844C12.3947 4.39844 12.7124 4.71609 12.7124 5.11094ZM17.3733 7.63141L16.0285 8.97625C15.7494 9.25531 15.2982 9.25531 15.0221 8.97625C14.746 8.69719 14.743 8.24594 15.0221 7.96984L16.3669 6.625C16.646 6.34594 17.0972 6.34594 17.3733 6.625C17.6494 6.90406 17.6524 7.35531 17.3733 7.63141ZM7.63287 6.625L8.97771 7.96984C9.25678 8.24891 9.25678 8.70016 8.97771 8.97625C8.69865 9.25234 8.2474 9.25531 7.97131 8.97625L6.62646 7.63141C6.3474 7.35234 6.3474 6.90109 6.62646 6.625C6.90553 6.34891 7.35678 6.34594 7.63287 6.625ZM5.1124 11.2859H7.0124C7.40725 11.2859 7.7249 11.6036 7.7249 11.9984C7.7249 12.3933 7.40725 12.7109 7.0124 12.7109H5.1124C4.71756 12.7109 4.3999 12.3933 4.3999 11.9984C4.3999 11.6036 4.71756 11.2859 5.1124 11.2859ZM16.9874 11.2859H18.8874C19.2822 11.2859 19.5999 11.6036 19.5999 11.9984C19.5999 12.3933 19.2822 12.7109 18.8874 12.7109H16.9874C16.5926 12.7109 16.2749 12.3933 16.2749 11.9984C16.2749 11.6036 16.5926 11.2859 16.9874 11.2859ZM8.97771 16.03L7.63287 17.3719C7.35381 17.6509 6.90256 17.6509 6.62646 17.3719C6.35037 17.0928 6.3474 16.6416 6.62646 16.3655L7.97131 15.0206C8.25037 14.7416 8.70162 14.7416 8.97771 15.0206C9.25381 15.2997 9.25678 15.7509 8.97771 16.027V16.03ZM16.0315 15.0236L17.3733 16.3655C17.6524 16.6445 17.6524 17.0958 17.3733 17.3719C17.0943 17.648 16.643 17.6509 16.3669 17.3719L15.0221 16.027C14.743 15.748 14.743 15.2967 15.0221 15.0206C15.3012 14.7445 15.7524 14.7416 16.0285 15.0206L16.0315 15.0236ZM12.7124 16.9859V18.8859C12.7124 19.2808 12.3947 19.5984 11.9999 19.5984C11.6051 19.5984 11.2874 19.2808 11.2874 18.8859V16.9859C11.2874 16.5911 11.6051 16.2734 11.9999 16.2734C12.3947 16.2734 12.7124 16.5911 12.7124 16.9859ZM13.8999 11.9984C13.8999 11.4945 13.6997 11.0113 13.3434 10.6549C12.9871 10.2986 12.5038 10.0984 11.9999 10.0984C11.496 10.0984 11.0127 10.2986 10.6564 10.6549C10.3001 11.0113 10.0999 11.4945 10.0999 11.9984C10.0999 12.5023 10.3001 12.9856 10.6564 13.3419C11.0127 13.6983 11.496 13.8984 11.9999 13.8984C12.5038 13.8984 12.9871 13.6983 13.3434 13.3419C13.6997 12.9856 13.8999 12.5023 13.8999 11.9984ZM8.6749 11.9984C8.6749 11.1166 9.02521 10.2709 9.64877 9.64731C10.2723 9.02375 11.1181 8.67344 11.9999 8.67344C12.8817 8.67344 13.7275 9.02375 14.351 9.64731C14.9746 10.2709 15.3249 11.1166 15.3249 11.9984C15.3249 12.8803 14.9746 13.726 14.351 14.3496C13.7275 14.9731 12.8817 15.3234 11.9999 15.3234C11.1181 15.3234 10.2723 14.9731 9.64877 14.3496C9.02521 13.726 8.6749 12.8803 8.6749 11.9984Z" fill="#F09A17"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
14
resources/images/ams_rfid_0.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_7112_29362">
|
||||
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="svg_2" clip-path="url(#clip0_7112_29362)">
|
||||
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||
<path id="svg_4" fill="#6B6B6B" d="m22.2754,10.1387c0.9615,1.439 1.4747,3.1307 1.4747,4.8613l-2.49,0c-0.219,0 -0.3396,0.2544 -0.201,0.4239l3.5682,4.3626c0.1039,0.127 0.2981,0.127 0.4019,0l3.5682,-4.3626c0.1387,-0.1695 0.0181,-0.4239 -0.2009,-0.4239l-2.3965,0c0,-0.5037 -0.0346,-1.0048 -0.1027,-1.5c-0.2263,-1.6434 -0.8223,-3.2212 -1.7511,-4.61127c-1.2087,-1.80894 -2.9267,-3.21884 -4.9367,-4.0514c-2.01,-0.83256 -4.2217,-1.0504 -6.3555,-0.62596c-2.1338,0.42443 -4.09379,1.47208 -5.63217,3.01046c-1.53838,1.53838 -2.58603,3.49837 -3.01046,5.63217c-0.42444,2.1338 -0.2066,4.3455 0.62596,6.3555c0.83256,2.01 2.24246,3.728 4.0514,4.9367c1.39007,0.9288 2.96787,1.5248 4.61127,1.7511c0.4952,0.0681 0.9963,0.1027 1.5,0.1027l0,-0.7499l0,-0.7501l0,-0.7499c-1.7306,0 -3.4223,-0.5132 -4.8613,-1.4747c-1.43891,-0.9615 -2.56043,-2.328 -3.2227,-3.9269c-0.66227,-1.5989 -0.83555,-3.3582 -0.49793,-5.0555c0.33762,-1.6974 1.17099,-3.2565 2.3947,-4.48023c1.22373,-1.22371 2.78283,-2.05708 4.48023,-2.3947c1.6973,-0.33762 3.4566,-0.16434 5.0555,0.49793c1.5989,0.66227 2.9654,1.78379 3.9269,3.2227z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_1.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_7112_29437">
|
||||
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="svg_2" clip-path="url(#clip0_7112_29437)">
|
||||
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||
<path id="svg_4" fill="#6B6B6B" d="m22.7973,22.759l1.6843,1.6843c0.1549,0.1549 0.0602,0.42 -0.1577,0.4418l-5.6079,0.5617c-0.1632,0.0164 -0.3005,-0.1209 -0.2842,-0.2841l0.5617,-5.608c0.0219,-0.2178 0.287,-0.3124 0.4419,-0.1576l1.7709,1.771c1.2133,-1.2209 2.0398,-2.7726 2.3756,-4.461c0.3377,-1.6974 0.1644,-3.4567 -0.4979,-5.0556c-0.6623,-1.5989 -1.7838,-2.96544 -3.2227,-3.92691c-1.439,-0.96147 -3.1307,-1.47465 -4.8613,-1.47465c-1.7306,0 -3.4223,0.51318 -4.8613,1.47465c-1.43891,0.96147 -2.56043,2.32801 -3.2227,3.92691c-0.66227,1.5989 -0.83555,3.3582 -0.49793,5.0556c0.33762,1.6973 1.17099,3.2564 2.3947,4.4801l-0.53028,0.5303l-0.53038,0.5304l-0.53028,0.5303c-0.35619,-0.3562 -0.68608,-0.735 -0.98801,-1.1333c-1.0021,-1.3221 -1.69629,-2.8592 -2.02245,-4.4989c-0.42444,-2.1338 -0.2066,-4.3455 0.62596,-6.3555c0.83256,-2.01001 2.24246,-3.72797 4.0514,-4.93667c1.80897,-1.20869 3.93567,-1.85383 6.11127,-1.85383c2.1756,0 4.3023,0.64514 6.1113,1.85383c1.8089,1.2087 3.2188,2.92666 4.0514,4.93667c0.8325,2.01 1.0504,4.2217 0.6259,6.3555c-0.3261,1.6397 -1.0203,3.1768 -2.0224,4.4989c-0.2965,0.3912 -0.62,0.7635 -0.9689,1.1141z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_2.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_7112_29465">
|
||||
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="svg_2" clip-path="url(#clip0_7112_29465)">
|
||||
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||
<path id="svg_4" fill="#6B6B6B" d="m19.8613,22.2754c-1.439,0.9615 -3.1307,1.4747 -4.8613,1.4747l0,-2.3962c0,-0.219 -0.2544,-0.3396 -0.4239,-0.201l-4.3626,3.5682c-0.127,0.1039 -0.127,0.2981 0,0.4019l4.3626,3.5682c0.1695,0.1387 0.4239,0.0181 0.4239,-0.2009l0,-2.4903c0.5037,0 1.0048,-0.0346 1.5,-0.1027c1.6434,-0.2263 3.2212,-0.8223 4.6113,-1.7511c1.8089,-1.2087 3.2188,-2.9267 4.0514,-4.9367c0.8325,-2.01 1.0504,-4.2217 0.6259,-6.3555c-0.4244,-2.1338 -1.472,-4.09379 -3.0104,-5.63217c-1.5384,-1.53838 -3.4984,-2.58603 -5.6322,-3.01046c-2.1338,-0.42444 -4.3455,-0.2066 -6.3555,0.62596c-2.01001,0.83256 -3.72797,2.24246 -4.93667,4.0514c-0.92883,1.39007 -1.52487,2.96787 -1.75109,4.61127c-0.06815,0.4952 -0.10274,0.9963 -0.10274,1.5l0.74993,0l0.75007,0l0.74993,0c0,-1.7306 0.51319,-3.4223 1.47466,-4.8613c0.96147,-1.43891 2.32801,-2.56043 3.92691,-3.2227c1.5989,-0.66227 3.3582,-0.83555 5.0556,-0.49793c1.6973,0.33762 3.2564,1.17099 4.4801,2.39471c1.2237,1.22372 2.0571,2.78282 2.3947,4.48022c0.3377,1.6973 0.1644,3.4566 -0.4979,5.0555c-0.6623,1.5989 -1.7838,2.9654 -3.2227,3.9269z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_3.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_7112_29471">
|
||||
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="svg_2" clip-path="url(#clip0_7112_29471)">
|
||||
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||
<path id="svg_4" fill="#6B6B6B" d="m7.26862,22.8248l-1.70224,1.7022c-0.15485,0.1549 -0.42002,0.0603 -0.4418,-0.1577l-0.56172,-5.6079c-0.01641,-0.1632 0.12091,-0.3005 0.28418,-0.2842l5.60796,0.5617c0.2178,0.0219 0.3124,0.2871 0.1576,0.4419l-1.753,1.753c1.2165,1.1983 2.7575,2.0148 4.4333,2.3481c1.6973,0.3377 3.4567,0.1644 5.0555,-0.4979c1.5989,-0.6623 2.9655,-1.7838 3.9269,-3.2227c0.9615,-1.439 1.4747,-3.1307 1.4747,-4.8613c0,-1.7306 -0.5132,-3.4223 -1.4747,-4.8613c-0.9614,-1.43891 -2.328,-2.56043 -3.9269,-3.2227c-1.5988,-0.66227 -3.3582,-0.83555 -5.0555,-0.49793c-1.6974,0.33762 -3.2565,1.17099 -4.4802,2.3947l-0.53029,-0.53028l-0.53037,-0.53038l-0.53029,-0.53028c0.35619,-0.35619 0.73499,-0.68608 1.13331,-0.98801c1.32202,-1.0021 2.85914,-1.69629 4.49884,-2.02245c2.1338,-0.42444 4.3456,-0.2066 6.3555,0.62596c2.01,0.83256 3.728,2.24246 4.9367,4.0514c1.2087,1.80897 1.8538,3.93567 1.8538,6.11127c0,2.1756 -0.6451,4.3023 -1.8538,6.1113c-1.2087,1.8089 -2.9267,3.2188 -4.9367,4.0514c-2.0099,0.8325 -4.2217,1.0504 -6.3555,0.6259c-1.6397,-0.3261 -3.17682,-1.0203 -4.49884,-2.0224c-0.3809,-0.2887 -0.74394,-0.603 -1.08644,-0.9414z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_4.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_7112_29432">
|
||||
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="svg_2" clip-path="url(#clip0_7112_29432)">
|
||||
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||
<path id="svg_4" fill="#6B6B6B" d="m7.72445,19.8613c-0.96147,-1.439 -1.47465,-3.1307 -1.47465,-4.8613l2.55489,0c0.219,0 0.3396,-0.2544 0.201,-0.4239l-3.5682,-4.3626c-0.1039,-0.127 -0.2981,-0.127 -0.4019,0l-3.5682,4.3626c-0.1387,0.1695 -0.0181,0.4239 0.2009,0.4239l2.33157,0c0,0.5037 0.03459,1.0048 0.10275,1.5c0.22621,1.6434 0.82225,3.2212 1.75109,4.6113c1.20869,1.8089 2.92666,3.2188 4.9366,4.0514c2.01,0.8325 4.2218,1.0504 6.3556,0.6259c2.1337,-0.4244 4.0938,-1.472 5.6321,-3.0104c1.5384,-1.5384 2.5861,-3.4984 3.0105,-5.6322c0.4244,-2.1338 0.2066,-4.3455 -0.626,-6.3555c-0.8325,-2.01001 -2.2424,-3.72797 -4.0514,-4.93667c-1.3901,-0.92883 -2.9678,-1.52487 -4.6112,-1.75109c-0.4952,-0.06815 -0.9963,-0.10274 -1.5,-0.10274l0,0.74993l0,0.75007l0,0.74993c1.7306,0 3.4223,0.51319 4.8612,1.47466c1.439,0.96147 2.5605,2.32801 3.2228,3.92691c0.6622,1.5989 0.8355,3.3582 0.4979,5.0556c-0.3376,1.6973 -1.171,3.2564 -2.3947,4.4801c-1.2237,1.2237 -2.7828,2.0571 -4.4802,2.3947c-1.6973,0.3377 -3.4567,0.1644 -5.0555,-0.4979c-1.5989,-0.6623 -2.96548,-1.7838 -3.92695,-3.2227z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_5.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_7112_29427">
|
||||
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="svg_2" clip-path="url(#clip0_7112_29427)">
|
||||
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||
<path id="svg_4" fill="#6B6B6B" d="m11.4427,4.81286c0.0164,-0.16327 -0.121,-0.30059 -0.2842,-0.28418l-5.60789,0.56172c-0.21793,0.02178 -0.31254,0.28695 -0.15769,0.4418l1.75906,1.75906c-0.32956,0.33556 -0.63606,0.69067 -0.91816,1.06283c-1.0021,1.32201 -1.69629,2.85911 -2.02245,4.49891c-0.42444,2.1337 -0.2066,4.3455 0.62596,6.3555c0.83256,2.01 2.24246,3.7279 4.0514,4.9366c1.80897,1.2087 3.93567,1.8539 6.11127,1.8539c2.1756,0 4.3023,-0.6452 6.1113,-1.8539c1.8089,-1.2087 3.2188,-2.9266 4.0514,-4.9366c0.8325,-2.01 1.0504,-4.2218 0.6259,-6.3555c-0.3261,-1.6398 -1.0203,-3.1769 -2.0224,-4.49891c-0.3019,-0.39833 -0.6318,-0.77712 -0.988,-1.13331l-0.5303,0.53028l-0.5304,0.53038l-0.5303,0.53028c1.2238,1.22368 2.0571,2.78288 2.3947,4.48018c0.3377,1.6973 0.1644,3.4567 -0.4979,5.0556c-0.6623,1.5988 -1.7838,2.9654 -3.2227,3.9269c-1.439,0.9614 -3.1307,1.4746 -4.8613,1.4746c-1.7306,0 -3.4223,-0.5132 -4.8613,-1.4746c-1.43891,-0.9615 -2.56043,-2.3281 -3.2227,-3.9269c-0.66227,-1.5989 -0.83555,-3.3583 -0.49793,-5.0556c0.33117,-1.6649 1.1393,-3.1968 2.32494,-4.40961l1.69609,1.69611c0.1549,0.1549 0.42,0.0602 0.4419,-0.1576l0.5617,-5.60794z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_6.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_7112_29422">
|
||||
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="svg_2" clip-path="url(#clip0_7112_29422)">
|
||||
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||
<path id="svg_4" fill="#6B6B6B" d="m19.7865,5.34178c0.127,-0.1039 0.127,-0.2981 0,-0.4019l-4.3626,-3.5682c-0.1695,-0.1387 -0.4239,-0.0181 -0.4239,0.2009l0,2.42777c-0.5037,0 -1.0048,0.03459 -1.5,0.10275c-1.6434,0.22621 -3.2212,0.82225 -4.61127,1.75109c-1.80894,1.20869 -3.21884,2.92666 -4.0514,4.93661c-0.83256,2.01 -1.0504,4.2218 -0.62596,6.3555c0.42443,2.1338 1.47208,4.0938 3.01046,5.6322c1.53838,1.5384 3.49837,2.5861 5.63217,3.0105c2.1338,0.4244 4.3455,0.2066 6.3555,-0.626c2.01,-0.8325 3.728,-2.2424 4.9367,-4.0514c0.9288,-1.3901 1.5248,-2.9679 1.7511,-4.6113c0.0681,-0.4951 0.1027,-0.9962 0.1027,-1.5l-0.7499,0l-0.7501,0l-0.7499,0c0,1.7306 -0.5132,3.4224 -1.4747,4.8613c-0.9615,1.439 -2.328,2.5605 -3.9269,3.2228c-1.5989,0.6622 -3.3582,0.8355 -5.0555,0.4979c-1.6974,-0.3376 -3.2565,-1.171 -4.48022,-2.3947c-1.22372,-1.2237 -2.05709,-2.7828 -2.39471,-4.4802c-0.33762,-1.6973 -0.16434,-3.4567 0.49793,-5.0556c0.66227,-1.5988 1.78379,-2.96539 3.2227,-3.92686c1.439,-0.96147 3.1307,-1.47465 4.8613,-1.47465l0,2.45869c0,0.219 0.2544,0.3396 0.4239,0.201l4.3626,-3.5682z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
14
resources/images/ams_rfid_7.svg
Normal file
@@ -0,0 +1,14 @@
|
||||
<svg width="30" height="30" xmlns="http://www.w3.org/2000/svg" fill="none">
|
||||
<defs>
|
||||
<clipPath id="clip0_7112_29417">
|
||||
<rect id="svg_1" fill="white" height="30" width="30"/>
|
||||
</clipPath>
|
||||
</defs>
|
||||
<g>
|
||||
<title>Layer 1</title>
|
||||
<g id="svg_2" clip-path="url(#clip0_7112_29417)">
|
||||
<path id="svg_3" stroke="black" d="m31.1539,-1.15234l-32.30771,0l0,32.30764l32.30771,0l0,-32.30764z"/>
|
||||
<path id="svg_4" fill="#6B6B6B" d="m20.8872,8.52665c-1.174,-1.06775 -2.6186,-1.79796 -4.1801,-2.10858c-1.6974,-0.33762 -3.4567,-0.16434 -5.0556,0.49793c-1.5989,0.66227 -2.96544,1.78379 -3.92691,3.2227c-0.96147,1.439 -1.47465,3.1307 -1.47465,4.8613c0,1.7306 0.51318,3.4223 1.47465,4.8613c0.96147,1.4389 2.32801,2.5604 3.92691,3.2227c1.5989,0.6623 3.3582,0.8356 5.0556,0.4979c1.6973,-0.3376 3.2564,-1.1709 4.4801,-2.3947l0.5303,0.5303l0.5304,0.5304l0.5303,0.5303c-0.3562,0.3562 -0.735,0.6861 -1.1333,0.988c-1.3221,1.0021 -2.8592,1.6963 -4.4989,2.0224c-2.1338,0.4245 -4.3455,0.2066 -6.3555,-0.6259c-2.01001,-0.8326 -3.72797,-2.2425 -4.93667,-4.0514c-1.20869,-1.809 -1.85383,-3.9357 -1.85383,-6.1113c0,-2.1756 0.64514,-4.3023 1.85383,-6.11127c1.2087,-1.80894 2.92666,-3.21884 4.93667,-4.0514c2.01,-0.83256 4.2217,-1.0504 6.3555,-0.62596c1.6397,0.32616 3.1768,1.02035 4.4989,2.02245c0.2889,0.21899 0.5675,0.45269 0.8347,0.70047l1.7503,-1.75035c0.1549,-0.15486 0.4201,-0.06025 0.4418,0.15768l0.5618,5.60788c0.0164,0.1632 -0.121,0.3006 -0.2842,0.2842l-5.608,-0.5617c-0.2178,-0.0218 -0.3124,-0.287 -0.1576,-0.4419l1.7035,-1.70345z" clip-rule="evenodd" fill-rule="evenodd"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.5 KiB |
BIN
resources/images/bed_cool_Q2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
resources/images/bed_cool_supertack_Q2.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
resources/images/bed_engineering_Q2.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
resources/images/bed_high_templ_Q2.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
resources/images/bed_pei_Q2.png
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
resources/images/big_bed_cool_Q2.png
Normal file
|
After Width: | Height: | Size: 56 KiB |
BIN
resources/images/big_bed_cool_supertack_Q2.png
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
resources/images/big_bed_engineering_Q2.png
Normal file
|
After Width: | Height: | Size: 14 KiB |
BIN
resources/images/big_bed_high_templ_Q2.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
BIN
resources/images/big_bed_pei_Q2.png
Normal file
|
After Width: | Height: | Size: 199 KiB |