Some checks failed
Build and Test / build (pull_request) Has been cancelled
Adds the Kindred constraint solver as a pluggable Assembly workbench backend, covering phases 3d through 5 of the solver roadmap. Phase 3d: SolveContext packing - Pack/unpack SolveContext into .kc archive on document save Solver addon (mods/solver): - Phase 1: Expression DAG, Newton-Raphson + BFGS, 3 basic constraints - Phase 2: Full constraint vocabulary — all 24 BaseJointKind types - Phase 3: Graph decomposition for cluster-by-cluster solving - Phase 4: Per-entity DOF diagnostics, overconstrained detection, half-space preference tracking, minimum-movement weighting - Phase 5: _build_system extraction, diagnose(), drag protocol, joint limits warning Assembly workbench integration: - Preference-driven solver selection (reads Mod/Assembly/Solver param) - Solver backend combo box in Assembly preferences UI - resetSolver() on AssemblyObject for live preference switching - Integration tests (TestKindredSolverIntegration.py) - In-client console test script (console_test_phase5.py)
102 lines
2.0 KiB
CMake
102 lines
2.0 KiB
CMake
# Kindred Create core module
|
|
# Handles auto-loading of ztools and Silo addons
|
|
|
|
# C++ module targets
|
|
add_subdirectory(App)
|
|
|
|
if(BUILD_GUI)
|
|
add_subdirectory(Gui)
|
|
endif(BUILD_GUI)
|
|
|
|
# Generate version.py from template with Kindred Create version
|
|
configure_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/version.py.in
|
|
${CMAKE_CURRENT_BINARY_DIR}/version.py
|
|
@ONLY
|
|
)
|
|
|
|
# Install Python init files
|
|
install(
|
|
FILES
|
|
Init.py
|
|
InitGui.py
|
|
addon_loader.py
|
|
kc_format.py
|
|
silo_document.py
|
|
silo_objects.py
|
|
silo_tree.py
|
|
silo_viewers.py
|
|
silo_viewproviders.py
|
|
update_checker.py
|
|
${CMAKE_CURRENT_BINARY_DIR}/version.py
|
|
DESTINATION
|
|
Mod/Create
|
|
)
|
|
|
|
# Install Silo tree-node icons
|
|
install(
|
|
DIRECTORY
|
|
${CMAKE_CURRENT_SOURCE_DIR}/resources/icons/
|
|
DESTINATION
|
|
Mod/Create/resources/icons
|
|
)
|
|
|
|
# Install ztools addon
|
|
install(
|
|
DIRECTORY
|
|
${CMAKE_SOURCE_DIR}/mods/ztools/ztools
|
|
DESTINATION
|
|
mods/ztools
|
|
)
|
|
install(
|
|
FILES
|
|
${CMAKE_SOURCE_DIR}/mods/ztools/package.xml
|
|
DESTINATION
|
|
mods/ztools
|
|
)
|
|
|
|
# Install Silo addon
|
|
install(
|
|
DIRECTORY
|
|
${CMAKE_SOURCE_DIR}/mods/silo/freecad/
|
|
DESTINATION
|
|
mods/silo/freecad
|
|
)
|
|
install(
|
|
DIRECTORY
|
|
${CMAKE_SOURCE_DIR}/mods/silo/silo-client/
|
|
DESTINATION
|
|
mods/silo/silo-client
|
|
)
|
|
|
|
# Install SDK
|
|
install(
|
|
DIRECTORY
|
|
${CMAKE_SOURCE_DIR}/mods/sdk/kindred_sdk
|
|
DESTINATION
|
|
mods/sdk
|
|
)
|
|
install(
|
|
FILES
|
|
${CMAKE_SOURCE_DIR}/mods/sdk/package.xml
|
|
${CMAKE_SOURCE_DIR}/mods/sdk/Init.py
|
|
${CMAKE_SOURCE_DIR}/mods/sdk/InitGui.py
|
|
DESTINATION
|
|
mods/sdk
|
|
)
|
|
|
|
# Install Kindred Solver addon
|
|
install(
|
|
DIRECTORY
|
|
${CMAKE_SOURCE_DIR}/mods/solver/kindred_solver
|
|
DESTINATION
|
|
mods/solver
|
|
)
|
|
install(
|
|
FILES
|
|
${CMAKE_SOURCE_DIR}/mods/solver/package.xml
|
|
${CMAKE_SOURCE_DIR}/mods/solver/Init.py
|
|
DESTINATION
|
|
mods/solver
|
|
)
|