Compare commits
16 Commits
alan/ci-start
...
develop
| Author | SHA1 | Date | |
|---|---|---|---|
| df1ef686f2 | |||
| 4ff7d68516 | |||
| d21f3da414 | |||
| 18ca0318a7 | |||
| e9dff1a12d | |||
| 67cbcba357 | |||
| 2784e6c38d | |||
| 90e133b03e | |||
| 861d6bf7b2 | |||
| 482f7a08a6 | |||
| 7fb898cc47 | |||
| ac16fe2974 | |||
| d78a443395 | |||
| 30b1d4d8b9 | |||
| e5754d51f0 | |||
| 4abf2b5719 |
@@ -13,7 +13,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ActiveLib17", "..\..\Active
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SpeckleLib17", "..\SpeckleLib\SpeckleLib17.vcxproj", "{942743B7-B3CB-4F91-BE46-28937F5E3FD1}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "SpeckleLib17", "..\SpeckleLib\SpeckleLib17.vcxproj", "{942743B7-B3CB-4F91-BE46-28937F5E3FD1}"
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Build", "..\ci-build\Build.csproj", "{702DE13A-1CCF-485D-A50D-846F645F07D3}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Build", "..\ci-build\Build.csproj", "{702DE13A-1CCF-485D-A50D-846F645F07D3}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@@ -21,16 +21,28 @@ Global
|
|||||||
Debug16|x86 = Debug16|x86
|
Debug16|x86 = Debug16|x86
|
||||||
Debug17|x64 = Debug17|x64
|
Debug17|x64 = Debug17|x64
|
||||||
Debug17|x86 = Debug17|x86
|
Debug17|x86 = Debug17|x86
|
||||||
|
DebugAC25|x64 = DebugAC25|x64
|
||||||
|
DebugAC25|x86 = DebugAC25|x86
|
||||||
|
DebugAC26|x64 = DebugAC26|x64
|
||||||
|
DebugAC26|x86 = DebugAC26|x86
|
||||||
DebugAC27|x64 = DebugAC27|x64
|
DebugAC27|x64 = DebugAC27|x64
|
||||||
DebugAC27|x86 = DebugAC27|x86
|
DebugAC27|x86 = DebugAC27|x86
|
||||||
|
DebugAC28|x64 = DebugAC28|x64
|
||||||
|
DebugAC28|x86 = DebugAC28|x86
|
||||||
DebugVS2022|x64 = DebugVS2022|x64
|
DebugVS2022|x64 = DebugVS2022|x64
|
||||||
DebugVS2022|x86 = DebugVS2022|x86
|
DebugVS2022|x86 = DebugVS2022|x86
|
||||||
Release16|x64 = Release16|x64
|
Release16|x64 = Release16|x64
|
||||||
Release16|x86 = Release16|x86
|
Release16|x86 = Release16|x86
|
||||||
Release17|x64 = Release17|x64
|
Release17|x64 = Release17|x64
|
||||||
Release17|x86 = Release17|x86
|
Release17|x86 = Release17|x86
|
||||||
|
ReleaseAC25|x64 = ReleaseAC25|x64
|
||||||
|
ReleaseAC25|x86 = ReleaseAC25|x86
|
||||||
|
ReleaseAC26|x64 = ReleaseAC26|x64
|
||||||
|
ReleaseAC26|x86 = ReleaseAC26|x86
|
||||||
ReleaseAC27|x64 = ReleaseAC27|x64
|
ReleaseAC27|x64 = ReleaseAC27|x64
|
||||||
ReleaseAC27|x86 = ReleaseAC27|x86
|
ReleaseAC27|x86 = ReleaseAC27|x86
|
||||||
|
ReleaseAC28|x64 = ReleaseAC28|x64
|
||||||
|
ReleaseAC28|x86 = ReleaseAC28|x86
|
||||||
ReleaseVS2019|x64 = ReleaseVS2019|x64
|
ReleaseVS2019|x64 = ReleaseVS2019|x64
|
||||||
ReleaseVS2019|x86 = ReleaseVS2019|x86
|
ReleaseVS2019|x86 = ReleaseVS2019|x86
|
||||||
ReleaseVS2022|x64 = ReleaseVS2022|x64
|
ReleaseVS2022|x64 = ReleaseVS2022|x64
|
||||||
@@ -45,10 +57,22 @@ Global
|
|||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Debug17|x64.Build.0 = DebugVW2024|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Debug17|x64.Build.0 = DebugVW2024|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Debug17|x86.ActiveCfg = DebugAC27|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Debug17|x86.ActiveCfg = DebugAC27|Win32
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Debug17|x86.Build.0 = DebugAC27|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Debug17|x86.Build.0 = DebugAC27|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC25|x64.ActiveCfg = DebugAC25|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC25|x64.Build.0 = DebugAC25|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC25|x86.ActiveCfg = DebugVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC25|x86.Build.0 = DebugVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC26|x64.ActiveCfg = DebugAC26|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC26|x64.Build.0 = DebugAC26|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC26|x86.ActiveCfg = DebugVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC26|x86.Build.0 = DebugVW2024|Win32
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC27|x64.ActiveCfg = DebugAC27|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC27|x64.ActiveCfg = DebugAC27|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC27|x64.Build.0 = DebugAC27|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC27|x64.Build.0 = DebugAC27|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC27|x86.ActiveCfg = DebugVW2024|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC27|x86.ActiveCfg = DebugVW2024|Win32
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC27|x86.Build.0 = DebugVW2024|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC27|x86.Build.0 = DebugVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC28|x64.ActiveCfg = DebugAC28|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC28|x64.Build.0 = DebugAC28|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC28|x86.ActiveCfg = DebugVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugAC28|x86.Build.0 = DebugVW2024|Win32
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugVS2022|x64.ActiveCfg = DebugVW2024|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugVS2022|x64.ActiveCfg = DebugVW2024|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugVS2022|x64.Build.0 = DebugVW2024|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugVS2022|x64.Build.0 = DebugVW2024|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugVS2022|x86.ActiveCfg = DebugRV2024|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.DebugVS2022|x86.ActiveCfg = DebugRV2024|Win32
|
||||||
@@ -61,10 +85,22 @@ Global
|
|||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Release17|x64.Build.0 = ReleaseVW2024|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Release17|x64.Build.0 = ReleaseVW2024|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Release17|x86.ActiveCfg = ReleaseAC27|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Release17|x86.ActiveCfg = ReleaseAC27|Win32
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Release17|x86.Build.0 = ReleaseAC27|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.Release17|x86.Build.0 = ReleaseAC27|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC25|x64.ActiveCfg = ReleaseAC25|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC25|x64.Build.0 = ReleaseAC25|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC25|x86.ActiveCfg = ReleaseVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC25|x86.Build.0 = ReleaseVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC26|x64.ActiveCfg = ReleaseAC26|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC26|x64.Build.0 = ReleaseAC26|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC26|x86.ActiveCfg = ReleaseVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC26|x86.Build.0 = ReleaseVW2024|Win32
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC27|x64.ActiveCfg = ReleaseAC27|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC27|x64.ActiveCfg = ReleaseAC27|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC27|x64.Build.0 = ReleaseAC27|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC27|x64.Build.0 = ReleaseAC27|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC27|x86.ActiveCfg = ReleaseVW2024|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC27|x86.ActiveCfg = ReleaseVW2024|Win32
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC27|x86.Build.0 = ReleaseVW2024|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC27|x86.Build.0 = ReleaseVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC28|x64.ActiveCfg = ReleaseAC28|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC28|x64.Build.0 = ReleaseAC28|x64
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC28|x86.ActiveCfg = ReleaseVW2024|Win32
|
||||||
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseAC28|x86.Build.0 = ReleaseVW2024|Win32
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseVS2019|x64.ActiveCfg = ReleaseVW2024|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseVS2019|x64.ActiveCfg = ReleaseVW2024|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseVS2019|x64.Build.0 = ReleaseVW2024|x64
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseVS2019|x64.Build.0 = ReleaseVW2024|x64
|
||||||
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseVS2019|x86.ActiveCfg = ReleaseRV2024|Win32
|
{CB120C04-054F-485B-BB5F-1EDE23F7FACB}.ReleaseVS2019|x86.ActiveCfg = ReleaseRV2024|Win32
|
||||||
@@ -81,10 +117,22 @@ Global
|
|||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Debug17|x64.Build.0 = Debug17|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Debug17|x64.Build.0 = Debug17|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Debug17|x86.ActiveCfg = Debug17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Debug17|x86.ActiveCfg = Debug17|Win32
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Debug17|x86.Build.0 = Debug17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Debug17|x86.Build.0 = Debug17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC25|x64.ActiveCfg = Debug16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC25|x64.Build.0 = Debug16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC25|x86.ActiveCfg = Debug17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC25|x86.Build.0 = Debug17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC26|x64.ActiveCfg = Debug16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC26|x64.Build.0 = Debug16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC26|x86.ActiveCfg = Debug17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC26|x86.Build.0 = Debug17|Win32
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC27|x64.ActiveCfg = Debug16|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC27|x64.ActiveCfg = Debug16|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC27|x64.Build.0 = Debug16|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC27|x64.Build.0 = Debug16|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC27|x86.ActiveCfg = Debug17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC27|x86.ActiveCfg = Debug17|Win32
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC27|x86.Build.0 = Debug17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC27|x86.Build.0 = Debug17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC28|x64.ActiveCfg = Debug16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC28|x64.Build.0 = Debug16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC28|x86.ActiveCfg = Debug17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugAC28|x86.Build.0 = Debug17|Win32
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugVS2022|x64.ActiveCfg = Debug16|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugVS2022|x64.ActiveCfg = Debug16|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugVS2022|x64.Build.0 = Debug16|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugVS2022|x64.Build.0 = Debug16|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugVS2022|x86.ActiveCfg = Debug17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.DebugVS2022|x86.ActiveCfg = Debug17|Win32
|
||||||
@@ -97,10 +145,22 @@ Global
|
|||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Release17|x64.Build.0 = Release17|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Release17|x64.Build.0 = Release17|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Release17|x86.ActiveCfg = Release17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Release17|x86.ActiveCfg = Release17|Win32
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Release17|x86.Build.0 = Release17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.Release17|x86.Build.0 = Release17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC25|x64.ActiveCfg = Release16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC25|x64.Build.0 = Release16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC25|x86.ActiveCfg = Release17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC25|x86.Build.0 = Release17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC26|x64.ActiveCfg = Release16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC26|x64.Build.0 = Release16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC26|x86.ActiveCfg = Release17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC26|x86.Build.0 = Release17|Win32
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC27|x64.ActiveCfg = Release16|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC27|x64.ActiveCfg = Release16|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC27|x64.Build.0 = Release16|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC27|x64.Build.0 = Release16|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC27|x86.ActiveCfg = Release17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC27|x86.ActiveCfg = Release17|Win32
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC27|x86.Build.0 = Release17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC27|x86.Build.0 = Release17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC28|x64.ActiveCfg = Release16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC28|x64.Build.0 = Release16|x64
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC28|x86.ActiveCfg = Release17|Win32
|
||||||
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseAC28|x86.Build.0 = Release17|Win32
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseVS2019|x64.ActiveCfg = Release16|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseVS2019|x64.ActiveCfg = Release16|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseVS2019|x64.Build.0 = Release16|x64
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseVS2019|x64.Build.0 = Release16|x64
|
||||||
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseVS2019|x86.ActiveCfg = Release17|Win32
|
{64EBDBC7-AB2D-4AE1-8E54-922B6FA6E1CC}.ReleaseVS2019|x86.ActiveCfg = Release17|Win32
|
||||||
@@ -117,10 +177,22 @@ Global
|
|||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Debug17|x64.Build.0 = DebugAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Debug17|x64.Build.0 = DebugAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Debug17|x86.ActiveCfg = DebugAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Debug17|x86.ActiveCfg = DebugAC27|Win32
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Debug17|x86.Build.0 = DebugAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Debug17|x86.Build.0 = DebugAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC25|x64.ActiveCfg = DebugAC25|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC25|x64.Build.0 = DebugAC25|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC25|x86.ActiveCfg = DebugAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC25|x86.Build.0 = DebugAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC26|x64.ActiveCfg = DebugAC26|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC26|x64.Build.0 = DebugAC26|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC26|x86.ActiveCfg = DebugAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC26|x86.Build.0 = DebugAC27|Win32
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC27|x64.ActiveCfg = DebugAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC27|x64.ActiveCfg = DebugAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC27|x64.Build.0 = DebugAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC27|x64.Build.0 = DebugAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC27|x86.ActiveCfg = DebugAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC27|x86.ActiveCfg = DebugAC27|Win32
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC27|x86.Build.0 = DebugAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC27|x86.Build.0 = DebugAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC28|x64.ActiveCfg = DebugAC28|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC28|x64.Build.0 = DebugAC28|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC28|x86.ActiveCfg = DebugAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugAC28|x86.Build.0 = DebugAC27|Win32
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugVS2022|x64.ActiveCfg = DebugAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugVS2022|x64.ActiveCfg = DebugAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugVS2022|x64.Build.0 = DebugAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugVS2022|x64.Build.0 = DebugAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugVS2022|x86.ActiveCfg = DebugAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.DebugVS2022|x86.ActiveCfg = DebugAC27|Win32
|
||||||
@@ -133,10 +205,22 @@ Global
|
|||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Release17|x64.Build.0 = ReleaseAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Release17|x64.Build.0 = ReleaseAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Release17|x86.ActiveCfg = ReleaseAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Release17|x86.ActiveCfg = ReleaseAC27|Win32
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Release17|x86.Build.0 = ReleaseAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.Release17|x86.Build.0 = ReleaseAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC25|x64.ActiveCfg = ReleaseAC25|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC25|x64.Build.0 = ReleaseAC25|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC25|x86.ActiveCfg = ReleaseAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC25|x86.Build.0 = ReleaseAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC26|x64.ActiveCfg = ReleaseAC26|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC26|x64.Build.0 = ReleaseAC26|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC26|x86.ActiveCfg = ReleaseAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC26|x86.Build.0 = ReleaseAC27|Win32
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC27|x64.ActiveCfg = ReleaseAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC27|x64.ActiveCfg = ReleaseAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC27|x64.Build.0 = ReleaseAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC27|x64.Build.0 = ReleaseAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC27|x86.ActiveCfg = ReleaseAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC27|x86.ActiveCfg = ReleaseAC27|Win32
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC27|x86.Build.0 = ReleaseAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC27|x86.Build.0 = ReleaseAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC28|x64.ActiveCfg = ReleaseAC28|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC28|x64.Build.0 = ReleaseAC28|x64
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC28|x86.ActiveCfg = ReleaseAC27|Win32
|
||||||
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseAC28|x86.Build.0 = ReleaseAC27|Win32
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseVS2019|x64.ActiveCfg = ReleaseAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseVS2019|x64.ActiveCfg = ReleaseAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseVS2019|x64.Build.0 = ReleaseAC27|x64
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseVS2019|x64.Build.0 = ReleaseAC27|x64
|
||||||
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseVS2019|x86.ActiveCfg = ReleaseAC27|Win32
|
{942743B7-B3CB-4F91-BE46-28937F5E3FD1}.ReleaseVS2019|x86.ActiveCfg = ReleaseAC27|Win32
|
||||||
@@ -153,9 +237,18 @@ Global
|
|||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Debug17|x64.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Debug17|x64.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Debug17|x86.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Debug17|x86.ActiveCfg = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Debug17|x86.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Debug17|x86.Build.0 = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC25|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC25|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC25|x86.Build.0 = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC26|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC26|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC26|x86.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC27|x64.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC27|x64.ActiveCfg = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC27|x86.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC27|x86.ActiveCfg = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC27|x86.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC27|x86.Build.0 = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC28|x64.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC28|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugAC28|x86.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugVS2022|x64.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugVS2022|x64.ActiveCfg = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugVS2022|x64.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugVS2022|x64.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugVS2022|x86.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.DebugVS2022|x86.ActiveCfg = Debug|Any CPU
|
||||||
@@ -168,8 +261,18 @@ Global
|
|||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Release17|x64.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Release17|x64.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Release17|x86.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Release17|x86.ActiveCfg = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Release17|x86.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.Release17|x86.Build.0 = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC25|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC25|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC25|x86.Build.0 = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC26|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC26|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC26|x86.Build.0 = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC27|x64.ActiveCfg = Release|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC27|x86.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC27|x86.ActiveCfg = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC27|x86.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC27|x86.Build.0 = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC28|x64.ActiveCfg = Release|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC28|x86.ActiveCfg = Debug|Any CPU
|
||||||
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC28|x86.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2019|x64.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2019|x64.ActiveCfg = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2019|x64.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2019|x64.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2019|x86.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2019|x86.ActiveCfg = Debug|Any CPU
|
||||||
@@ -178,7 +281,6 @@ Global
|
|||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2022|x64.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2022|x64.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2022|x86.ActiveCfg = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2022|x86.ActiveCfg = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2022|x86.Build.0 = Debug|Any CPU
|
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseVS2022|x86.Build.0 = Debug|Any CPU
|
||||||
{702DE13A-1CCF-485D-A50D-846F645F07D3}.ReleaseAC27|x64.ActiveCfg = Release|Any CPU
|
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
<ItemGroup Label="ProjectConfigurations">
|
<ItemGroup Label="ProjectConfigurations">
|
||||||
|
<ProjectConfiguration Include="DebugAC25|Win32">
|
||||||
|
<Configuration>DebugAC25</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="DebugAC25|x64">
|
||||||
|
<Configuration>DebugAC25</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="DebugAC26|Win32">
|
||||||
|
<Configuration>DebugAC26</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="DebugAC26|x64">
|
||||||
|
<Configuration>DebugAC26</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="DebugAC27|Win32">
|
<ProjectConfiguration Include="DebugAC27|Win32">
|
||||||
<Configuration>DebugAC27</Configuration>
|
<Configuration>DebugAC27</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@@ -9,6 +25,14 @@
|
|||||||
<Configuration>DebugAC27</Configuration>
|
<Configuration>DebugAC27</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="DebugAC28|Win32">
|
||||||
|
<Configuration>DebugAC28</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="DebugAC28|x64">
|
||||||
|
<Configuration>DebugAC28</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="DebugRV2024|Win32">
|
<ProjectConfiguration Include="DebugRV2024|Win32">
|
||||||
<Configuration>DebugRV2024</Configuration>
|
<Configuration>DebugRV2024</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@@ -21,6 +45,22 @@
|
|||||||
<Configuration>DebugVW2024</Configuration>
|
<Configuration>DebugVW2024</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseAC25|Win32">
|
||||||
|
<Configuration>ReleaseAC25</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseAC25|x64">
|
||||||
|
<Configuration>ReleaseAC25</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseAC26|Win32">
|
||||||
|
<Configuration>ReleaseAC26</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseAC26|x64">
|
||||||
|
<Configuration>ReleaseAC26</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="ReleaseAC27|Win32">
|
<ProjectConfiguration Include="ReleaseAC27|Win32">
|
||||||
<Configuration>ReleaseAC27</Configuration>
|
<Configuration>ReleaseAC27</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@@ -29,6 +69,14 @@
|
|||||||
<Configuration>ReleaseAC27</Configuration>
|
<Configuration>ReleaseAC27</Configuration>
|
||||||
<Platform>x64</Platform>
|
<Platform>x64</Platform>
|
||||||
</ProjectConfiguration>
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseAC28|Win32">
|
||||||
|
<Configuration>ReleaseAC28</Configuration>
|
||||||
|
<Platform>Win32</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
|
<ProjectConfiguration Include="ReleaseAC28|x64">
|
||||||
|
<Configuration>ReleaseAC28</Configuration>
|
||||||
|
<Platform>x64</Platform>
|
||||||
|
</ProjectConfiguration>
|
||||||
<ProjectConfiguration Include="ReleaseRV2024|Win32">
|
<ProjectConfiguration Include="ReleaseRV2024|Win32">
|
||||||
<Configuration>ReleaseRV2024</Configuration>
|
<Configuration>ReleaseRV2024</Configuration>
|
||||||
<Platform>Win32</Platform>
|
<Platform>Win32</Platform>
|
||||||
@@ -64,12 +112,24 @@
|
|||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseRV2024|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseRV2024|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC27|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC27|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugRV2024|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugRV2024|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC27|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC27|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC28|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC26|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC25|x64'">true</ExcludedFromBuild>
|
||||||
</None>
|
</None>
|
||||||
<None Include="RFIX.win\Connector.rc2">
|
<None Include="RFIX.win\Connector.rc2">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC27|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC27|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC27|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC27|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC28|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC26|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='DebugAC25|x64'">true</ExcludedFromBuild>
|
||||||
</None>
|
</None>
|
||||||
<None Include="RINT\Connector.grc" />
|
<None Include="RINT\Connector.grc" />
|
||||||
<None Include="RINT\ConnectorMenu.grc" />
|
<None Include="RINT\ConnectorMenu.grc" />
|
||||||
@@ -115,6 +175,8 @@
|
|||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Config\GetConfig.cpp" />
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Config\GetConfig.cpp" />
|
||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Config\GetIsDevMode.cpp" />
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Config\GetIsDevMode.cpp" />
|
||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Config\UpdateConfig.cpp" />
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Config\UpdateConfig.cpp" />
|
||||||
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Receive\Receive.cpp" />
|
||||||
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Receive\ReceiveBridge.cpp" />
|
||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Selection\Arg\SelectionInfo.cpp" />
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Selection\Arg\SelectionInfo.cpp" />
|
||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Selection\GetSelection.cpp" />
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Selection\GetSelection.cpp" />
|
||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Selection\SelectionBridge.cpp" />
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Selection\SelectionBridge.cpp" />
|
||||||
@@ -146,6 +208,7 @@
|
|||||||
<ClCompile Include="Connector\Record\Model\ModelCard.cpp" />
|
<ClCompile Include="Connector\Record\Model\ModelCard.cpp" />
|
||||||
<ClCompile Include="Connector\Record\Model\ReceiverModelCard.cpp" />
|
<ClCompile Include="Connector\Record\Model\ReceiverModelCard.cpp" />
|
||||||
<ClCompile Include="Connector\Record\Model\SenderModelCard.cpp" />
|
<ClCompile Include="Connector\Record\Model\SenderModelCard.cpp" />
|
||||||
|
<ClCompile Include="Connector\Tool\ElementHighlighter.cpp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Connector\Connector.h" />
|
<ClInclude Include="Connector\Connector.h" />
|
||||||
@@ -174,6 +237,8 @@
|
|||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Config\GetConfig.h" />
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Config\GetConfig.h" />
|
||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Config\GetIsDevMode.h" />
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Config\GetIsDevMode.h" />
|
||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Config\UpdateConfig.h" />
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Config\UpdateConfig.h" />
|
||||||
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Receive\Receive.h" />
|
||||||
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Receive\ReceiveBridge.h" />
|
||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Selection\Arg\SelectionInfo.h" />
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Selection\Arg\SelectionInfo.h" />
|
||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Selection\GetSelection.h" />
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Selection\GetSelection.h" />
|
||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Selection\SelectionBridge.h" />
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Selection\SelectionBridge.h" />
|
||||||
@@ -208,6 +273,7 @@
|
|||||||
<ClInclude Include="Connector\Record\Model\ModelCard.h" />
|
<ClInclude Include="Connector\Record\Model\ModelCard.h" />
|
||||||
<ClInclude Include="Connector\Record\Model\ReceiverModelCard.h" />
|
<ClInclude Include="Connector\Record\Model\ReceiverModelCard.h" />
|
||||||
<ClInclude Include="Connector\Record\Model\SenderModelCard.h" />
|
<ClInclude Include="Connector\Record\Model\SenderModelCard.h" />
|
||||||
|
<ClInclude Include="Connector\Tool\ElementHighlighter.h" />
|
||||||
<ClInclude Include="Connector\Version.h" />
|
<ClInclude Include="Connector\Version.h" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<PropertyGroup Label="Globals">
|
<PropertyGroup Label="Globals">
|
||||||
@@ -237,6 +303,24 @@
|
|||||||
<PlatformToolset>v143</PlatformToolset>
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|Win32'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|Win32'" Label="Configuration">
|
||||||
<ConfigurationType>StaticLibrary</ConfigurationType>
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
@@ -258,6 +342,27 @@
|
|||||||
<WholeProgramOptimization>true</WholeProgramOptimization>
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
<CharacterSet>Unicode</CharacterSet>
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|Win32'" Label="Configuration">
|
||||||
|
<ConfigurationType>StaticLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v143</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>Unicode</CharacterSet>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>true</UseDebugLibraries>
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
@@ -283,6 +388,30 @@
|
|||||||
<VCToolsVersion>
|
<VCToolsVersion>
|
||||||
</VCToolsVersion>
|
</VCToolsVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||||
|
<VCToolsVersion />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||||
|
<VCToolsVersion />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>true</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||||
|
<VCToolsVersion />
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|x64'" Label="Configuration">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|x64'" Label="Configuration">
|
||||||
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
<UseDebugLibraries>false</UseDebugLibraries>
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
@@ -311,6 +440,33 @@
|
|||||||
<VCToolsVersion>
|
<VCToolsVersion>
|
||||||
</VCToolsVersion>
|
</VCToolsVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||||
|
<VCToolsVersion />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||||
|
<VCToolsVersion />
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|x64'" Label="Configuration">
|
||||||
|
<ConfigurationType>DynamicLibrary</ConfigurationType>
|
||||||
|
<UseDebugLibraries>false</UseDebugLibraries>
|
||||||
|
<PlatformToolset>v142</PlatformToolset>
|
||||||
|
<WholeProgramOptimization>true</WholeProgramOptimization>
|
||||||
|
<CharacterSet>MultiByte</CharacterSet>
|
||||||
|
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
|
||||||
|
<VCToolsVersion />
|
||||||
|
</PropertyGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
|
||||||
<ImportGroup Label="ExtensionSettings">
|
<ImportGroup Label="ExtensionSettings">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@@ -325,6 +481,15 @@
|
|||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC27|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC27|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|Win32'">
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|Win32'">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
@@ -334,6 +499,15 @@
|
|||||||
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC27|Win32'" Label="PropertySheets">
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC27|Win32'" Label="PropertySheets">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|Win32'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'">
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="..\SpeckleLib\Make.win\VW2024.props" />
|
<Import Project="..\SpeckleLib\Make.win\VW2024.props" />
|
||||||
@@ -349,6 +523,21 @@
|
|||||||
<Import Project="..\SpeckleLib\Make.win\AC27.props" />
|
<Import Project="..\SpeckleLib\Make.win\AC27.props" />
|
||||||
<Import Project="Make.win\ConnectorAC27.props" />
|
<Import Project="Make.win\ConnectorAC27.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\SpeckleLib\Make.win\AC28.props" />
|
||||||
|
<Import Project="Make.win\ConnectorAC28.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\SpeckleLib\Make.win\AC26.props" />
|
||||||
|
<Import Project="Make.win\ConnectorAC26.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\SpeckleLib\Make.win\AC25.props" />
|
||||||
|
<Import Project="Make.win\ConnectorAC25.props" />
|
||||||
|
</ImportGroup>
|
||||||
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|x64'">
|
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|x64'">
|
||||||
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
<Import Project="..\SpeckleLib\Make.win\VW2024.props" />
|
<Import Project="..\SpeckleLib\Make.win\VW2024.props" />
|
||||||
@@ -364,6 +553,21 @@
|
|||||||
<Import Project="..\SpeckleLib\Make.win\AC27.props" />
|
<Import Project="..\SpeckleLib\Make.win\AC27.props" />
|
||||||
<Import Project="Make.win\ConnectorAC27.props" />
|
<Import Project="Make.win\ConnectorAC27.props" />
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\SpeckleLib\Make.win\AC28.props" />
|
||||||
|
<Import Project="Make.win\ConnectorAC28.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\SpeckleLib\Make.win\AC26.props" />
|
||||||
|
<Import Project="Make.win\ConnectorAC26.props" />
|
||||||
|
</ImportGroup>
|
||||||
|
<ImportGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|x64'" Label="PropertySheets">
|
||||||
|
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
|
||||||
|
<Import Project="..\SpeckleLib\Make.win\AC25.props" />
|
||||||
|
<Import Project="Make.win\ConnectorAC25.props" />
|
||||||
|
</ImportGroup>
|
||||||
<PropertyGroup Label="UserMacros" />
|
<PropertyGroup Label="UserMacros" />
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|Win32'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
@@ -374,6 +578,15 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC27|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC27|Win32'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|Win32'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|Win32'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
@@ -383,6 +596,15 @@
|
|||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC27|Win32'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC27|Win32'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|Win32'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'">
|
||||||
<LinkIncremental>true</LinkIncremental>
|
<LinkIncremental>true</LinkIncremental>
|
||||||
<SourcePath>$(SourcePath)</SourcePath>
|
<SourcePath>$(SourcePath)</SourcePath>
|
||||||
@@ -404,6 +626,27 @@
|
|||||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||||
<TargetName>$(BASE_NAME)</TargetName>
|
<TargetName>$(BASE_NAME)</TargetName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<SourcePath>$(SourcePath)</SourcePath>
|
||||||
|
<TargetExt>.apx</TargetExt>
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<TargetName>$(BASE_NAME)</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<SourcePath>$(SourcePath)</SourcePath>
|
||||||
|
<TargetExt>.apx</TargetExt>
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<TargetName>$(BASE_NAME)</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|x64'">
|
||||||
|
<LinkIncremental>true</LinkIncremental>
|
||||||
|
<SourcePath>$(SourcePath)</SourcePath>
|
||||||
|
<TargetExt>.apx</TargetExt>
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<TargetName>$(BASE_NAME)</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|x64'">
|
||||||
<LinkIncremental>false</LinkIncremental>
|
<LinkIncremental>false</LinkIncremental>
|
||||||
<TargetExt>.vlb</TargetExt>
|
<TargetExt>.vlb</TargetExt>
|
||||||
@@ -422,6 +665,24 @@
|
|||||||
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||||
<TargetName>$(BASE_NAME)</TargetName>
|
<TargetName>$(BASE_NAME)</TargetName>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<TargetExt>.apx</TargetExt>
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<TargetName>$(BASE_NAME)</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<TargetExt>.apx</TargetExt>
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<TargetName>$(BASE_NAME)</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|x64'">
|
||||||
|
<LinkIncremental>false</LinkIncremental>
|
||||||
|
<TargetExt>.apx</TargetExt>
|
||||||
|
<OutDir>$(Platform)\$(Configuration)\</OutDir>
|
||||||
|
<TargetName>$(BASE_NAME)</TargetName>
|
||||||
|
</PropertyGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
@@ -467,6 +728,51 @@
|
|||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|Win32'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|Win32'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
@@ -524,6 +830,63 @@
|
|||||||
<GenerateDebugInformation>true</GenerateDebugInformation>
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
</Link>
|
</Link>
|
||||||
</ItemDefinitionGroup>
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|Win32'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>true</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>true</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>WIN32;NDEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>Use</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>pch.h</PrecompiledHeaderFile>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
</Link>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'">
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugVW2024|x64'">
|
||||||
<ClCompile>
|
<ClCompile>
|
||||||
<WarningLevel>Level3</WarningLevel>
|
<WarningLevel>Level3</WarningLevel>
|
||||||
@@ -685,6 +1048,219 @@ CALL "$(ProjectDir)..\SpeckleLib\Make.win\install.bat"</Command>
|
|||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>REM Archicad installbuild script
|
<Command>REM Archicad installbuild script
|
||||||
|
|
||||||
|
SET PROJECTDIR=$(ProjectDir)
|
||||||
|
SET TARGETNAME=$(TargetName)
|
||||||
|
SET TARGETDIR=$(TargetDir)
|
||||||
|
SET BIMVERSION=$(BIM_VERSION)
|
||||||
|
ECHO ON
|
||||||
|
ECHO "Starting Install"
|
||||||
|
set CONFIGURATION=$(Configuration)
|
||||||
|
set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\install.bat"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Message>Creating VWR File</Message>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\buildResAC.bat"</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(HEADER_PATH_5)\Inc;$(HEADER_PATH_5)\Modules\DGLib;$(RES_OUTPUT);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>
|
||||||
|
</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>TESTING_MODE;DEBUG;ARCHICAD;"__ACENV_CALL= ";WIN32;_WINDOWS;WINDOWS;AddOn_EXPORTS;ACExtension;_STLP_DONT_FORCE_MSVC_LIB_NAME;_USRDLL;_WIN_EXTERNAL_;_WINDLL;_CRT_SECURE_NO_WARNINGS;_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>false</ConformanceMode>
|
||||||
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>
|
||||||
|
</PrecompiledHeaderFile>
|
||||||
|
<DisableLanguageExtensions>false</DisableLanguageExtensions>
|
||||||
|
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||||
|
<PrecompiledHeaderOutputFile>
|
||||||
|
</PrecompiledHeaderOutputFile>
|
||||||
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
|
<AdditionalIncludeDirectories>./;$(HEADER_PATH_1)/;$(HEADER_PATH_2)/;$(HEADER_PATH_3)/;$(HEADER_PATH_3)/$(BIM_PLATFORM)/;$(HEADER_PATH_4)/;$(HEADER_PATH_5)/;$(HEADER_PATH_5)/Inc;$(HEADER_PATH_5)/Modules/AnalyticalModelAPI;$(HEADER_PATH_5)/Modules/ArchicadAPI;$(HEADER_PATH_5)/Modules/Brep;$(HEADER_PATH_5)/Modules/BuiltInLibrary;$(HEADER_PATH_5)/Modules/CADInfrastructureBase;$(HEADER_PATH_5)/Modules/CommunicationClient;$(HEADER_PATH_5)/Modules/CommunicationCommon;$(HEADER_PATH_5)/Modules/DGGraphix;$(HEADER_PATH_5)/Modules/DGLib;$(HEADER_PATH_5)/Modules/DesignVariantAPI;$(HEADER_PATH_5)/Modules/GDL;$(HEADER_PATH_5)/Modules/GSMSections;$(HEADER_PATH_5)/Modules/GSModelDevLib;$(HEADER_PATH_5)/Modules/GSModeler;$(HEADER_PATH_5)/Modules/GSModeler2D;$(HEADER_PATH_5)/Modules/GSRoot;$(HEADER_PATH_5)/Modules/GSUtils;$(HEADER_PATH_5)/Modules/GSXML;$(HEADER_PATH_5)/Modules/GSXMLUtils;$(HEADER_PATH_5)/Modules/GX;$(HEADER_PATH_5)/Modules/GXImage;$(HEADER_PATH_5)/Modules/GXImageBase;$(HEADER_PATH_5)/Modules/GXMedia;$(HEADER_PATH_5)/Modules/Geometry;$(HEADER_PATH_5)/Modules/Graphix;$(HEADER_PATH_5)/Modules/HTTP;$(HEADER_PATH_5)/Modules/InputOutput;$(HEADER_PATH_5)/Modules/JSON;$(HEADER_PATH_5)/Modules/JSONConversion;$(HEADER_PATH_5)/Modules/JavascriptEngine;$(HEADER_PATH_5)/Modules/LibXL;$(HEADER_PATH_5)/Modules/MEPAPI;$(HEADER_PATH_5)/Modules/MPIInterfaceDevLib;$(HEADER_PATH_5)/Modules/MPIInterfaceImpDevLib;$(HEADER_PATH_5)/Modules/Model3D;$(HEADER_PATH_5)/Modules/Model3DViewerControl;$(HEADER_PATH_5)/Modules/Network;$(HEADER_PATH_5)/Modules/Pattern;$(HEADER_PATH_5)/Modules/PointCloud;$(HEADER_PATH_5)/Modules/PointCloudManager;$(HEADER_PATH_5)/Modules/QGDrawing;$(HEADER_PATH_5)/Modules/RS;$(HEADER_PATH_5)/Modules/RapidJSON;$(HEADER_PATH_5)/Modules/SecureCommunication;$(HEADER_PATH_5)/Modules/TWClientLib;$(HEADER_PATH_5)/Modules/TWRoot;$(HEADER_PATH_5)/Modules/TextEngine;$(HEADER_PATH_5)/Modules/TransparentWindowLib;$(HEADER_PATH_5)/Modules/UCLib;$(HEADER_PATH_5)/Modules/UDLib;$(HEADER_PATH_5)/Modules/UserInterfaceAPI;$(HEADER_PATH_5)/Modules/VBElemDialogs;$(HEADER_PATH_5)/Modules/VBUtils;$(HEADER_PATH_5)/Modules/VectorImage $(inherited)</AdditionalIncludeDirectories>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<CallingConvention>FastCall</CallingConvention>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
<ForcedIncludeFiles>
|
||||||
|
</ForcedIncludeFiles>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FunctionLevelLinking>
|
||||||
|
</FunctionLevelLinking>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<TreatLinkerWarningAsErrors>false</TreatLinkerWarningAsErrors>
|
||||||
|
<AdditionalDependencies>$(HEADER_PATH_5)\Lib\ACAP_STATD.lib;$(HEADER_PATH_5)\Modules\DGGraphix\Win\DGGraphixImp.LIB;$(HEADER_PATH_5)\Modules\DGLib\Win\DGImp.lib;$(HEADER_PATH_5)\Modules\Geometry\Win\GeometryImp.LIB;$(HEADER_PATH_5)\Modules\Graphix\Win\GraphixImp.LIB;$(HEADER_PATH_5)\Modules\GSModeler\Win\GSModelerImp.LIB;$(HEADER_PATH_5)\Modules\GSRoot\Win\GSRootImp.lib;$(HEADER_PATH_5)\Modules\GXImage\Win\GXImageImp.lib;$(HEADER_PATH_5)\Modules\GXImageBase\Win\GXImageBaseImp.lib;$(HEADER_PATH_5)\Modules\GX\Win\GXImp.LIB;$(HEADER_PATH_5)\Modules\InputOutput\Win\InputOutputImp.lib;$(HEADER_PATH_5)\Modules\RS\Win\RSImp.LIB;$(HEADER_PATH_5)\Modules\UCLib\Win\UCImp.lib;$(HEADER_PATH_5)\Modules\UDLib\Win\UDImp.lib;$(HEADER_PATH_5)\Modules\VBElemDialogs\Win\VBElemDialogsImp.LIB;$(HEADER_PATH_5)\Modules\VectorImage\Win\VectorImageImp.LIB;$(HEADER_PATH_5)\Modules\JavascriptEngine\Win\JavascriptEngineImp.LIB;$(HEADER_PATH_5)\Modules\JSON\Win\JSONImp.LIB;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<IgnoreAllDefaultLibraries>
|
||||||
|
</IgnoreAllDefaultLibraries>
|
||||||
|
<IgnoreSpecificDefaultLibraries>msvcrt.lib</IgnoreSpecificDefaultLibraries>
|
||||||
|
<AdditionalLibraryDirectories>$(HEADER_PATH_5)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<EntryPointSymbol>DllMainEntry</EntryPointSymbol>
|
||||||
|
<AdditionalOptions>/export:GetExportedFuncAddrs,%401 /export:SetImportedFuncAddrs,%402 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
</Link>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalDependencies>../zlib/x64/ZlibStatRelease/zlibstat.lib</AdditionalDependencies>
|
||||||
|
</Lib>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>REM Archicad installbuild script
|
||||||
|
|
||||||
|
SET PROJECTDIR=$(ProjectDir)
|
||||||
|
SET TARGETNAME=$(TargetName)
|
||||||
|
SET TARGETDIR=$(TargetDir)
|
||||||
|
SET BIMVERSION=$(BIM_VERSION)
|
||||||
|
ECHO ON
|
||||||
|
ECHO "Starting Install"
|
||||||
|
set CONFIGURATION=$(Configuration)
|
||||||
|
set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\install.bat"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Message>Creating VWR File</Message>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\buildResAC.bat"</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(HEADER_PATH_5)\Inc;$(HEADER_PATH_5)\Modules\DGLib;$(RES_OUTPUT);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>
|
||||||
|
</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>TESTING_MODE;DEBUG;ARCHICAD;WIN32;_WINDOWS;WINDOWS;AddOn_EXPORTS;ACExtension;_STLP_DONT_FORCE_MSVC_LIB_NAME;_USRDLL;_WIN_EXTERNAL_;_WINDLL;_CRT_SECURE_NO_WARNINGS;_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>false</ConformanceMode>
|
||||||
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>
|
||||||
|
</PrecompiledHeaderFile>
|
||||||
|
<DisableLanguageExtensions>false</DisableLanguageExtensions>
|
||||||
|
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||||
|
<PrecompiledHeaderOutputFile>
|
||||||
|
</PrecompiledHeaderOutputFile>
|
||||||
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
|
<AdditionalIncludeDirectories>./;$(HEADER_PATH_1)/;$(HEADER_PATH_2)/;$(HEADER_PATH_3)/;$(HEADER_PATH_3)/$(BIM_PLATFORM)/;$(HEADER_PATH_4)/;$(HEADER_PATH_5)/;$(HEADER_PATH_5)/Inc;$(HEADER_PATH_5)/Modules/AnalyticalModelAPI;$(HEADER_PATH_5)/Modules/ArchicadAPI;$(HEADER_PATH_5)/Modules/Brep;$(HEADER_PATH_5)/Modules/BuiltInLibrary;$(HEADER_PATH_5)/Modules/CADInfrastructureBase;$(HEADER_PATH_5)/Modules/CommunicationClient;$(HEADER_PATH_5)/Modules/CommunicationCommon;$(HEADER_PATH_5)/Modules/DGGraphix;$(HEADER_PATH_5)/Modules/DGLib;$(HEADER_PATH_5)/Modules/DesignVariantAPI;$(HEADER_PATH_5)/Modules/GDL;$(HEADER_PATH_5)/Modules/GSMSections;$(HEADER_PATH_5)/Modules/GSModelDevLib;$(HEADER_PATH_5)/Modules/GSModeler;$(HEADER_PATH_5)/Modules/GSModeler2D;$(HEADER_PATH_5)/Modules/GSRoot;$(HEADER_PATH_5)/Modules/GSUtils;$(HEADER_PATH_5)/Modules/GSXML;$(HEADER_PATH_5)/Modules/GSXMLUtils;$(HEADER_PATH_5)/Modules/GX;$(HEADER_PATH_5)/Modules/GXImage;$(HEADER_PATH_5)/Modules/GXImageBase;$(HEADER_PATH_5)/Modules/GXMedia;$(HEADER_PATH_5)/Modules/Geometry;$(HEADER_PATH_5)/Modules/Graphix;$(HEADER_PATH_5)/Modules/HTTP;$(HEADER_PATH_5)/Modules/InputOutput;$(HEADER_PATH_5)/Modules/JSON;$(HEADER_PATH_5)/Modules/JSONConversion;$(HEADER_PATH_5)/Modules/JavascriptEngine;$(HEADER_PATH_5)/Modules/LibXL;$(HEADER_PATH_5)/Modules/MEPAPI;$(HEADER_PATH_5)/Modules/MPIInterfaceDevLib;$(HEADER_PATH_5)/Modules/MPIInterfaceImpDevLib;$(HEADER_PATH_5)/Modules/Model3D;$(HEADER_PATH_5)/Modules/Model3DViewerControl;$(HEADER_PATH_5)/Modules/Network;$(HEADER_PATH_5)/Modules/Pattern;$(HEADER_PATH_5)/Modules/PointCloud;$(HEADER_PATH_5)/Modules/PointCloudManager;$(HEADER_PATH_5)/Modules/QGDrawing;$(HEADER_PATH_5)/Modules/RS;$(HEADER_PATH_5)/Modules/RapidJSON;$(HEADER_PATH_5)/Modules/SecureCommunication;$(HEADER_PATH_5)/Modules/TWClientLib;$(HEADER_PATH_5)/Modules/TWRoot;$(HEADER_PATH_5)/Modules/TextEngine;$(HEADER_PATH_5)/Modules/TransparentWindowLib;$(HEADER_PATH_5)/Modules/UCLib;$(HEADER_PATH_5)/Modules/UDLib;$(HEADER_PATH_5)/Modules/UserInterfaceAPI;$(HEADER_PATH_5)/Modules/VBElemDialogs;$(HEADER_PATH_5)/Modules/VBUtils;$(HEADER_PATH_5)/Modules/VectorImage $(inherited)</AdditionalIncludeDirectories>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<CallingConvention>FastCall</CallingConvention>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
<ForcedIncludeFiles>
|
||||||
|
</ForcedIncludeFiles>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FunctionLevelLinking>
|
||||||
|
</FunctionLevelLinking>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<TreatLinkerWarningAsErrors>false</TreatLinkerWarningAsErrors>
|
||||||
|
<AdditionalDependencies>$(HEADER_PATH_5)\Lib\Win\ACAP_STATD.lib;$(HEADER_PATH_5)\Modules\DGGraphix\Win\DGGraphixImp.LIB;$(HEADER_PATH_5)\Modules\DGLib\Win\DGImp.lib;$(HEADER_PATH_5)\Modules\Geometry\Win\GeometryImp.LIB;$(HEADER_PATH_5)\Modules\Graphix\Win\GraphixImp.LIB;$(HEADER_PATH_5)\Modules\GSModeler\Win\GSModelerImp.LIB;$(HEADER_PATH_5)\Modules\GSRoot\Win\GSRootImp.lib;$(HEADER_PATH_5)\Modules\GXImage\Win\GXImageImp.lib;$(HEADER_PATH_5)\Modules\GXImageBase\Win\GXImageBaseImp.lib;$(HEADER_PATH_5)\Modules\GX\Win\GXImp.LIB;$(HEADER_PATH_5)\Modules\InputOutput\Win\InputOutputImp.lib;$(HEADER_PATH_5)\Modules\RS\Win\RSImp.LIB;$(HEADER_PATH_5)\Modules\TextEngine\Win\TextEngineImp.LIB;$(HEADER_PATH_5)\Modules\UCLib\Win\UCImp.lib;$(HEADER_PATH_5)\Modules\UDLib\Win\UDImp.lib;$(HEADER_PATH_5)\Modules\VBElemDialogs\Win\VBElemDialogsImp.LIB;$(HEADER_PATH_5)\Modules\VectorImage\Win\VectorImageImp.LIB;$(HEADER_PATH_5)\Modules\JSON\Win\JSONImp.LIB;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<IgnoreAllDefaultLibraries>
|
||||||
|
</IgnoreAllDefaultLibraries>
|
||||||
|
<IgnoreSpecificDefaultLibraries>msvcrt.lib</IgnoreSpecificDefaultLibraries>
|
||||||
|
<AdditionalLibraryDirectories>$(HEADER_PATH_5)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<EntryPointSymbol>DllMainEntry</EntryPointSymbol>
|
||||||
|
<AdditionalOptions>/export:GetExportedFuncAddrs,%401 /export:SetImportedFuncAddrs,%402 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
</Link>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalDependencies>../zlib/x64/ZlibStatRelease/zlibstat.lib</AdditionalDependencies>
|
||||||
|
</Lib>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>REM Archicad installbuild script
|
||||||
|
|
||||||
|
SET PROJECTDIR=$(ProjectDir)
|
||||||
|
SET TARGETNAME=$(TargetName)
|
||||||
|
SET TARGETDIR=$(TargetDir)
|
||||||
|
SET BIMVERSION=$(BIM_VERSION)
|
||||||
|
ECHO ON
|
||||||
|
ECHO "Starting Install"
|
||||||
|
set CONFIGURATION=$(Configuration)
|
||||||
|
set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\install.bat"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Message>Creating VWR File</Message>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\buildResAC.bat"</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(HEADER_PATH_5)\Inc;$(HEADER_PATH_5)\Modules\DGLib;$(RES_OUTPUT);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<SDLCheck>
|
||||||
|
</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>TESTING_MODE;DEBUG;ARCHICAD;WIN32;_WINDOWS;WINDOWS;AddOn_EXPORTS;ACExtension;_STLP_DONT_FORCE_MSVC_LIB_NAME;_USRDLL;_WIN_EXTERNAL_;_WINDLL;_CRT_SECURE_NO_WARNINGS;_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>false</ConformanceMode>
|
||||||
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>
|
||||||
|
</PrecompiledHeaderFile>
|
||||||
|
<DisableLanguageExtensions>false</DisableLanguageExtensions>
|
||||||
|
<ForceConformanceInForLoopScope>true</ForceConformanceInForLoopScope>
|
||||||
|
<PrecompiledHeaderOutputFile>
|
||||||
|
</PrecompiledHeaderOutputFile>
|
||||||
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
|
<AdditionalIncludeDirectories>./;$(HEADER_PATH_1)/;$(HEADER_PATH_2)/;$(HEADER_PATH_3)/;$(HEADER_PATH_3)/$(BIM_PLATFORM)/;$(HEADER_PATH_4)/;$(HEADER_PATH_5)/;$(HEADER_PATH_5)/Inc;$(HEADER_PATH_5)/Modules/AnalyticalModelAPI;$(HEADER_PATH_5)/Modules/ArchicadAPI;$(HEADER_PATH_5)/Modules/Brep;$(HEADER_PATH_5)/Modules/BuiltInLibrary;$(HEADER_PATH_5)/Modules/CADInfrastructureBase;$(HEADER_PATH_5)/Modules/CommunicationClient;$(HEADER_PATH_5)/Modules/CommunicationCommon;$(HEADER_PATH_5)/Modules/DGGraphix;$(HEADER_PATH_5)/Modules/DGLib;$(HEADER_PATH_5)/Modules/DesignVariantAPI;$(HEADER_PATH_5)/Modules/GDL;$(HEADER_PATH_5)/Modules/GSMSections;$(HEADER_PATH_5)/Modules/GSModelDevLib;$(HEADER_PATH_5)/Modules/GSModeler;$(HEADER_PATH_5)/Modules/GSModeler2D;$(HEADER_PATH_5)/Modules/GSRoot;$(HEADER_PATH_5)/Modules/GSUtils;$(HEADER_PATH_5)/Modules/GSXML;$(HEADER_PATH_5)/Modules/GSXMLUtils;$(HEADER_PATH_5)/Modules/GX;$(HEADER_PATH_5)/Modules/GXImage;$(HEADER_PATH_5)/Modules/GXImageBase;$(HEADER_PATH_5)/Modules/GXMedia;$(HEADER_PATH_5)/Modules/Geometry;$(HEADER_PATH_5)/Modules/Graphix;$(HEADER_PATH_5)/Modules/HTTP;$(HEADER_PATH_5)/Modules/InputOutput;$(HEADER_PATH_5)/Modules/JSON;$(HEADER_PATH_5)/Modules/JSONConversion;$(HEADER_PATH_5)/Modules/JavascriptEngine;$(HEADER_PATH_5)/Modules/LibXL;$(HEADER_PATH_5)/Modules/MEPAPI;$(HEADER_PATH_5)/Modules/MPIInterfaceDevLib;$(HEADER_PATH_5)/Modules/MPIInterfaceImpDevLib;$(HEADER_PATH_5)/Modules/Model3D;$(HEADER_PATH_5)/Modules/Model3DViewerControl;$(HEADER_PATH_5)/Modules/Network;$(HEADER_PATH_5)/Modules/Pattern;$(HEADER_PATH_5)/Modules/PointCloud;$(HEADER_PATH_5)/Modules/PointCloudManager;$(HEADER_PATH_5)/Modules/QGDrawing;$(HEADER_PATH_5)/Modules/RS;$(HEADER_PATH_5)/Modules/RapidJSON;$(HEADER_PATH_5)/Modules/SecureCommunication;$(HEADER_PATH_5)/Modules/TWClientLib;$(HEADER_PATH_5)/Modules/TWRoot;$(HEADER_PATH_5)/Modules/TextEngine;$(HEADER_PATH_5)/Modules/TransparentWindowLib;$(HEADER_PATH_5)/Modules/UCLib;$(HEADER_PATH_5)/Modules/UDLib;$(HEADER_PATH_5)/Modules/UserInterfaceAPI;$(HEADER_PATH_5)/Modules/VBElemDialogs;$(HEADER_PATH_5)/Modules/VBUtils;$(HEADER_PATH_5)/Modules/VectorImage $(inherited)</AdditionalIncludeDirectories>
|
||||||
|
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<CallingConvention>FastCall</CallingConvention>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
<ForcedIncludeFiles>
|
||||||
|
</ForcedIncludeFiles>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<FunctionLevelLinking>
|
||||||
|
</FunctionLevelLinking>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<FloatingPointExceptions>false</FloatingPointExceptions>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<TreatLinkerWarningAsErrors>false</TreatLinkerWarningAsErrors>
|
||||||
|
<AdditionalDependencies>$(HEADER_PATH_5)\Lib\Win\ACAP_STATD.lib;$(HEADER_PATH_5)\Modules\DGGraphix\Win\DGGraphixImp.LIB;$(HEADER_PATH_5)\Modules\DGLib\Win\DGImp.lib;$(HEADER_PATH_5)\Modules\Geometry\Win\GeometryImp.LIB;$(HEADER_PATH_5)\Modules\Graphix\Win\GraphixImp.LIB;$(HEADER_PATH_5)\Modules\GSModeler\Win\GSModelerImp.LIB;$(HEADER_PATH_5)\Modules\GSRoot\Win\GSRootImp.lib;$(HEADER_PATH_5)\Modules\GXImage\Win\GXImageImp.lib;$(HEADER_PATH_5)\Modules\GXImageBase\Win\GXImageBaseImp.lib;$(HEADER_PATH_5)\Modules\GX\Win\GXImp.LIB;$(HEADER_PATH_5)\Modules\InputOutput\Win\InputOutputImp.lib;$(HEADER_PATH_5)\Modules\RS\Win\RSImp.LIB;$(HEADER_PATH_5)\Modules\TextEngine\Win\TextEngineImp.LIB;$(HEADER_PATH_5)\Modules\UCLib\Win\UCImp.lib;$(HEADER_PATH_5)\Modules\UDLib\Win\UDImp.lib;$(HEADER_PATH_5)\Modules\VBAttributes\Win\VBAttributesImp.LIB;$(HEADER_PATH_5)\Modules\VBElemDialogs\Win\VBElemDialogsImp.LIB;$(HEADER_PATH_5)\Modules\VectorImage\Win\VectorImageImp.LIB;$(HEADER_PATH_5)\Modules\ObjectDatabase\Win\ObjectDatabaseImp.LIB;$(HEADER_PATH_5)\Modules\JSON\Win\JSONImp.LIB;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<IgnoreAllDefaultLibraries>
|
||||||
|
</IgnoreAllDefaultLibraries>
|
||||||
|
<IgnoreSpecificDefaultLibraries>msvcrt.lib</IgnoreSpecificDefaultLibraries>
|
||||||
|
<AdditionalLibraryDirectories>$(HEADER_PATH_5)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<EntryPointSymbol>DllMainEntry</EntryPointSymbol>
|
||||||
|
<AdditionalOptions>/export:GetExportedFuncAddrs,%401 /export:SetImportedFuncAddrs,%402 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
</Link>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalDependencies>../zlib/x64/ZlibStatRelease/zlibstat.lib</AdditionalDependencies>
|
||||||
|
</Lib>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>REM Archicad installbuild script
|
||||||
|
|
||||||
SET PROJECTDIR=$(ProjectDir)
|
SET PROJECTDIR=$(ProjectDir)
|
||||||
SET TARGETNAME=$(TargetName)
|
SET TARGETNAME=$(TargetName)
|
||||||
SET TARGETDIR=$(TargetDir)
|
SET TARGETDIR=$(TargetDir)
|
||||||
@@ -872,6 +1448,228 @@ CALL "$(ProjectDir)..\SpeckleLib\Make.win\install.bat"</Command>
|
|||||||
<PostBuildEvent>
|
<PostBuildEvent>
|
||||||
<Command>REM Archicad installbuild script
|
<Command>REM Archicad installbuild script
|
||||||
|
|
||||||
|
SET PROJECTDIR=$(ProjectDir)
|
||||||
|
SET TARGETNAME=$(TargetName)
|
||||||
|
SET TARGETDIR=$(TargetDir)
|
||||||
|
SET BIMVERSION=$(BIM_VERSION)
|
||||||
|
ECHO ON
|
||||||
|
ECHO "Starting Install $(TargetName)"
|
||||||
|
set CONFIGURATION=$(Configuration)
|
||||||
|
set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\install.bat"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Message>Creating VWR File</Message>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\buildResAC.bat"</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(HEADER_PATH_5)\Inc;$(HEADER_PATH_5)\Modules\DGLib;$(RES_OUTPUT);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>
|
||||||
|
</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>
|
||||||
|
</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;ARCHICAD;"__ACENV_CALL= ";WIN32;_WINDOWS;WINDOWS;AddOn_EXPORTS;ACExtension;_USRDLL;_WIN_EXTERNAL_;_WINDLL;_CRT_SECURE_NO_WARNINGS;_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>
|
||||||
|
</PrecompiledHeaderFile>
|
||||||
|
<AdditionalIncludeDirectories>./;$(HEADER_PATH_1)/;$(HEADER_PATH_2)/;$(HEADER_PATH_3)/;$(HEADER_PATH_3)/$(BIM_PLATFORM)/;$(HEADER_PATH_4)/;$(HEADER_PATH_5)/;$(HEADER_PATH_5)/Inc;$(HEADER_PATH_5)/Modules/AnalyticalModelAPI;$(HEADER_PATH_5)/Modules/ArchicadAPI;$(HEADER_PATH_5)/Modules/Brep;$(HEADER_PATH_5)/Modules/BuiltInLibrary;$(HEADER_PATH_5)/Modules/CADInfrastructureBase;$(HEADER_PATH_5)/Modules/CommunicationClient;$(HEADER_PATH_5)/Modules/CommunicationCommon;$(HEADER_PATH_5)/Modules/DGGraphix;$(HEADER_PATH_5)/Modules/DGLib;$(HEADER_PATH_5)/Modules/DesignVariantAPI;$(HEADER_PATH_5)/Modules/GDL;$(HEADER_PATH_5)/Modules/GSMSections;$(HEADER_PATH_5)/Modules/GSModelDevLib;$(HEADER_PATH_5)/Modules/GSModeler;$(HEADER_PATH_5)/Modules/GSModeler2D;$(HEADER_PATH_5)/Modules/GSRoot;$(HEADER_PATH_5)/Modules/GSUtils;$(HEADER_PATH_5)/Modules/GSXML;$(HEADER_PATH_5)/Modules/GSXMLUtils;$(HEADER_PATH_5)/Modules/GX;$(HEADER_PATH_5)/Modules/GXImage;$(HEADER_PATH_5)/Modules/GXImageBase;$(HEADER_PATH_5)/Modules/GXMedia;$(HEADER_PATH_5)/Modules/Geometry;$(HEADER_PATH_5)/Modules/Graphix;$(HEADER_PATH_5)/Modules/HTTP;$(HEADER_PATH_5)/Modules/InputOutput;$(HEADER_PATH_5)/Modules/JSON;$(HEADER_PATH_5)/Modules/JSONConversion;$(HEADER_PATH_5)/Modules/JavascriptEngine;$(HEADER_PATH_5)/Modules/LibXL;$(HEADER_PATH_5)/Modules/MEPAPI;$(HEADER_PATH_5)/Modules/MPIInterfaceDevLib;$(HEADER_PATH_5)/Modules/MPIInterfaceImpDevLib;$(HEADER_PATH_5)/Modules/Model3D;$(HEADER_PATH_5)/Modules/Model3DViewerControl;$(HEADER_PATH_5)/Modules/Network;$(HEADER_PATH_5)/Modules/Pattern;$(HEADER_PATH_5)/Modules/PointCloud;$(HEADER_PATH_5)/Modules/PointCloudManager;$(HEADER_PATH_5)/Modules/QGDrawing;$(HEADER_PATH_5)/Modules/RS;$(HEADER_PATH_5)/Modules/RapidJSON;$(HEADER_PATH_5)/Modules/SecureCommunication;$(HEADER_PATH_5)/Modules/TWClientLib;$(HEADER_PATH_5)/Modules/TWRoot;$(HEADER_PATH_5)/Modules/TextEngine;$(HEADER_PATH_5)/Modules/TransparentWindowLib;$(HEADER_PATH_5)/Modules/UCLib;$(HEADER_PATH_5)/Modules/UDLib;$(HEADER_PATH_5)/Modules/UserInterfaceAPI;$(HEADER_PATH_5)/Modules/VBElemDialogs;$(HEADER_PATH_5)/Modules/VBUtils;$(HEADER_PATH_5)/Modules/VectorImage $(inherited)</AdditionalIncludeDirectories>
|
||||||
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
|
<ForcedIncludeFiles>
|
||||||
|
</ForcedIncludeFiles>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
<PrecompiledHeaderOutputFile>
|
||||||
|
</PrecompiledHeaderOutputFile>
|
||||||
|
<ForceConformanceInForLoopScope>
|
||||||
|
</ForceConformanceInForLoopScope>
|
||||||
|
<CallingConvention>FastCall</CallingConvention>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<TreatLinkerWarningAsErrors>false</TreatLinkerWarningAsErrors>
|
||||||
|
<AdditionalDependencies>$(HEADER_PATH_5)\Lib\ACAP_STAT.lib;$(HEADER_PATH_5)\Modules\DGGraphix\Win\DGGraphixImp.LIB;$(HEADER_PATH_5)\Modules\DGLib\Win\DGImp.lib;$(HEADER_PATH_5)\Modules\Geometry\Win\GeometryImp.LIB;$(HEADER_PATH_5)\Modules\Graphix\Win\GraphixImp.LIB;$(HEADER_PATH_5)\Modules\GSModeler\Win\GSModelerImp.LIB;$(HEADER_PATH_5)\Modules\GSRoot\Win\GSRootImp.lib;$(HEADER_PATH_5)\Modules\GXImage\Win\GXImageImp.lib;$(HEADER_PATH_5)\Modules\GXImageBase\Win\GXImageBaseImp.lib;$(HEADER_PATH_5)\Modules\GX\Win\GXImp.LIB;$(HEADER_PATH_5)\Modules\InputOutput\Win\InputOutputImp.lib;$(HEADER_PATH_5)\Modules\RS\Win\RSImp.LIB;$(HEADER_PATH_5)\Modules\UCLib\Win\UCImp.lib;$(HEADER_PATH_5)\Modules\UDLib\Win\UDImp.lib;$(HEADER_PATH_5)\Modules\VBElemDialogs\Win\VBElemDialogsImp.LIB;$(HEADER_PATH_5)\Modules\VectorImage\Win\VectorImageImp.LIB;$(HEADER_PATH_5)\Modules\JavascriptEngine\Win\JavascriptEngineImp.LIB;$(HEADER_PATH_5)\Modules\JSON\Win\JSONImp.LIB;msvcrt.lib;msvcprt.lib;IPHLPAPI.lib;Wininet.lib;Dbghelp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(HEADER_PATH_5)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<IgnoreAllDefaultLibraries>
|
||||||
|
</IgnoreAllDefaultLibraries>
|
||||||
|
<IgnoreSpecificDefaultLibraries>msvcrtd.lib</IgnoreSpecificDefaultLibraries>
|
||||||
|
<AdditionalOptions>/export:GetExportedFuncAddrs,%401 /export:SetImportedFuncAddrs,%402 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
</Link>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalDependencies>../zlib/x64/ZlibStatRelease/zlibstat.lib</AdditionalDependencies>
|
||||||
|
</Lib>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>REM Archicad installbuild script
|
||||||
|
|
||||||
|
SET PROJECTDIR=$(ProjectDir)
|
||||||
|
SET TARGETNAME=$(TargetName)
|
||||||
|
SET TARGETDIR=$(TargetDir)
|
||||||
|
SET BIMVERSION=$(BIM_VERSION)
|
||||||
|
ECHO ON
|
||||||
|
ECHO "Starting Install $(TargetName)"
|
||||||
|
set CONFIGURATION=$(Configuration)
|
||||||
|
set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\install.bat"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Message>Creating VWR File</Message>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\buildResAC.bat"</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(HEADER_PATH_5)\Inc;$(HEADER_PATH_5)\Modules\DGLib;$(RES_OUTPUT);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>
|
||||||
|
</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>
|
||||||
|
</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;ARCHICAD;WIN32;_WINDOWS;WINDOWS;AddOn_EXPORTS;ACExtension;_USRDLL;_WIN_EXTERNAL_;_WINDLL;_CRT_SECURE_NO_WARNINGS;_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>
|
||||||
|
</PrecompiledHeaderFile>
|
||||||
|
<AdditionalIncludeDirectories>./;$(HEADER_PATH_1)/;$(HEADER_PATH_2)/;$(HEADER_PATH_3)/;$(HEADER_PATH_3)/$(BIM_PLATFORM)/;$(HEADER_PATH_4)/;$(HEADER_PATH_5)/;$(HEADER_PATH_5)/Inc;$(HEADER_PATH_5)/Modules/AnalyticalModelAPI;$(HEADER_PATH_5)/Modules/ArchicadAPI;$(HEADER_PATH_5)/Modules/Brep;$(HEADER_PATH_5)/Modules/BuiltInLibrary;$(HEADER_PATH_5)/Modules/CADInfrastructureBase;$(HEADER_PATH_5)/Modules/CommunicationClient;$(HEADER_PATH_5)/Modules/CommunicationCommon;$(HEADER_PATH_5)/Modules/DGGraphix;$(HEADER_PATH_5)/Modules/DGLib;$(HEADER_PATH_5)/Modules/DesignVariantAPI;$(HEADER_PATH_5)/Modules/GDL;$(HEADER_PATH_5)/Modules/GSMSections;$(HEADER_PATH_5)/Modules/GSModelDevLib;$(HEADER_PATH_5)/Modules/GSModeler;$(HEADER_PATH_5)/Modules/GSModeler2D;$(HEADER_PATH_5)/Modules/GSRoot;$(HEADER_PATH_5)/Modules/GSUtils;$(HEADER_PATH_5)/Modules/GSXML;$(HEADER_PATH_5)/Modules/GSXMLUtils;$(HEADER_PATH_5)/Modules/GX;$(HEADER_PATH_5)/Modules/GXImage;$(HEADER_PATH_5)/Modules/GXImageBase;$(HEADER_PATH_5)/Modules/GXMedia;$(HEADER_PATH_5)/Modules/Geometry;$(HEADER_PATH_5)/Modules/Graphix;$(HEADER_PATH_5)/Modules/HTTP;$(HEADER_PATH_5)/Modules/InputOutput;$(HEADER_PATH_5)/Modules/JSON;$(HEADER_PATH_5)/Modules/JSONConversion;$(HEADER_PATH_5)/Modules/JavascriptEngine;$(HEADER_PATH_5)/Modules/LibXL;$(HEADER_PATH_5)/Modules/MEPAPI;$(HEADER_PATH_5)/Modules/MPIInterfaceDevLib;$(HEADER_PATH_5)/Modules/MPIInterfaceImpDevLib;$(HEADER_PATH_5)/Modules/Model3D;$(HEADER_PATH_5)/Modules/Model3DViewerControl;$(HEADER_PATH_5)/Modules/Network;$(HEADER_PATH_5)/Modules/Pattern;$(HEADER_PATH_5)/Modules/PointCloud;$(HEADER_PATH_5)/Modules/PointCloudManager;$(HEADER_PATH_5)/Modules/QGDrawing;$(HEADER_PATH_5)/Modules/RS;$(HEADER_PATH_5)/Modules/RapidJSON;$(HEADER_PATH_5)/Modules/SecureCommunication;$(HEADER_PATH_5)/Modules/TWClientLib;$(HEADER_PATH_5)/Modules/TWRoot;$(HEADER_PATH_5)/Modules/TextEngine;$(HEADER_PATH_5)/Modules/TransparentWindowLib;$(HEADER_PATH_5)/Modules/UCLib;$(HEADER_PATH_5)/Modules/UDLib;$(HEADER_PATH_5)/Modules/UserInterfaceAPI;$(HEADER_PATH_5)/Modules/VBElemDialogs;$(HEADER_PATH_5)/Modules/VBUtils;$(HEADER_PATH_5)/Modules/VectorImage $(inherited)</AdditionalIncludeDirectories>
|
||||||
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
|
<ForcedIncludeFiles>
|
||||||
|
</ForcedIncludeFiles>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
<PrecompiledHeaderOutputFile>
|
||||||
|
</PrecompiledHeaderOutputFile>
|
||||||
|
<ForceConformanceInForLoopScope>
|
||||||
|
</ForceConformanceInForLoopScope>
|
||||||
|
<CallingConvention>FastCall</CallingConvention>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<TreatLinkerWarningAsErrors>false</TreatLinkerWarningAsErrors>
|
||||||
|
<AdditionalDependencies>$(HEADER_PATH_5)\Lib\Win\ACAP_STAT.lib;$(HEADER_PATH_5)\Modules\DGGraphix\Win\DGGraphixImp.LIB;$(HEADER_PATH_5)\Modules\DGLib\Win\DGImp.lib;$(HEADER_PATH_5)\Modules\Geometry\Win\GeometryImp.LIB;$(HEADER_PATH_5)\Modules\Graphix\Win\GraphixImp.LIB;$(HEADER_PATH_5)\Modules\GSModeler\Win\GSModelerImp.LIB;$(HEADER_PATH_5)\Modules\GSRoot\Win\GSRootImp.lib;$(HEADER_PATH_5)\Modules\GXImage\Win\GXImageImp.lib;$(HEADER_PATH_5)\Modules\GXImageBase\Win\GXImageBaseImp.lib;$(HEADER_PATH_5)\Modules\GX\Win\GXImp.LIB;$(HEADER_PATH_5)\Modules\InputOutput\Win\InputOutputImp.lib;$(HEADER_PATH_5)\Modules\RS\Win\RSImp.LIB;$(HEADER_PATH_5)\Modules\TextEngine\Win\TextEngineImp.LIB;$(HEADER_PATH_5)\Modules\UCLib\Win\UCImp.lib;$(HEADER_PATH_5)\Modules\UDLib\Win\UDImp.lib;$(HEADER_PATH_5)\Modules\VBElemDialogs\Win\VBElemDialogsImp.LIB;$(HEADER_PATH_5)\Modules\VectorImage\Win\VectorImageImp.LIB;$(HEADER_PATH_5)\Modules\JSON\Win\JSONImp.LIB;msvcrt.lib;msvcprt.lib;IPHLPAPI.lib;Wininet.lib;Dbghelp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(HEADER_PATH_5)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<IgnoreAllDefaultLibraries>
|
||||||
|
</IgnoreAllDefaultLibraries>
|
||||||
|
<IgnoreSpecificDefaultLibraries>msvcrtd.lib</IgnoreSpecificDefaultLibraries>
|
||||||
|
<AdditionalOptions>/export:GetExportedFuncAddrs,%401 /export:SetImportedFuncAddrs,%402 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
</Link>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalDependencies>../zlib/x64/ZlibStatRelease/zlibstat.lib</AdditionalDependencies>
|
||||||
|
</Lib>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>REM Archicad installbuild script
|
||||||
|
|
||||||
|
SET PROJECTDIR=$(ProjectDir)
|
||||||
|
SET TARGETNAME=$(TargetName)
|
||||||
|
SET TARGETDIR=$(TargetDir)
|
||||||
|
SET BIMVERSION=$(BIM_VERSION)
|
||||||
|
ECHO ON
|
||||||
|
ECHO "Starting Install $(TargetName)"
|
||||||
|
set CONFIGURATION=$(Configuration)
|
||||||
|
set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\install.bat"</Command>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Message>Creating VWR File</Message>
|
||||||
|
</PostBuildEvent>
|
||||||
|
<PreBuildEvent>
|
||||||
|
<Command>set PLATFORM_NAME=$(Platform)
|
||||||
|
set SYMROOT=$(SolutionDir)
|
||||||
|
"$(ProjectDir)..\SpeckleLib\Make.win\buildResAC.bat"</Command>
|
||||||
|
</PreBuildEvent>
|
||||||
|
<ResourceCompile>
|
||||||
|
<AdditionalIncludeDirectories>$(HEADER_PATH_5)\Inc;$(HEADER_PATH_5)\Modules\DGLib;$(RES_OUTPUT);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
|
||||||
|
</ResourceCompile>
|
||||||
|
</ItemDefinitionGroup>
|
||||||
|
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|x64'">
|
||||||
|
<ClCompile>
|
||||||
|
<WarningLevel>Level3</WarningLevel>
|
||||||
|
<FunctionLevelLinking>
|
||||||
|
</FunctionLevelLinking>
|
||||||
|
<IntrinsicFunctions>true</IntrinsicFunctions>
|
||||||
|
<SDLCheck>
|
||||||
|
</SDLCheck>
|
||||||
|
<PreprocessorDefinitions>NDEBUG;ARCHICAD;WIN32;_WINDOWS;WINDOWS;AddOn_EXPORTS;ACExtension;_USRDLL;_WIN_EXTERNAL_;_WINDLL;_CRT_SECURE_NO_WARNINGS;_SILENCE_ALL_CXX20_DEPRECATION_WARNINGS;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
|
||||||
|
<ConformanceMode>true</ConformanceMode>
|
||||||
|
<PrecompiledHeader>NotUsing</PrecompiledHeader>
|
||||||
|
<PrecompiledHeaderFile>
|
||||||
|
</PrecompiledHeaderFile>
|
||||||
|
<AdditionalIncludeDirectories>./;$(HEADER_PATH_1)/;$(HEADER_PATH_2)/;$(HEADER_PATH_3)/;$(HEADER_PATH_3)/$(BIM_PLATFORM)/;$(HEADER_PATH_4)/;$(HEADER_PATH_5)/;$(HEADER_PATH_5)/Inc;$(HEADER_PATH_5)/Modules/AnalyticalModelAPI;$(HEADER_PATH_5)/Modules/ArchicadAPI;$(HEADER_PATH_5)/Modules/Brep;$(HEADER_PATH_5)/Modules/BuiltInLibrary;$(HEADER_PATH_5)/Modules/CADInfrastructureBase;$(HEADER_PATH_5)/Modules/CommunicationClient;$(HEADER_PATH_5)/Modules/CommunicationCommon;$(HEADER_PATH_5)/Modules/DGGraphix;$(HEADER_PATH_5)/Modules/DGLib;$(HEADER_PATH_5)/Modules/DesignVariantAPI;$(HEADER_PATH_5)/Modules/GDL;$(HEADER_PATH_5)/Modules/GSMSections;$(HEADER_PATH_5)/Modules/GSModelDevLib;$(HEADER_PATH_5)/Modules/GSModeler;$(HEADER_PATH_5)/Modules/GSModeler2D;$(HEADER_PATH_5)/Modules/GSRoot;$(HEADER_PATH_5)/Modules/GSUtils;$(HEADER_PATH_5)/Modules/GSXML;$(HEADER_PATH_5)/Modules/GSXMLUtils;$(HEADER_PATH_5)/Modules/GX;$(HEADER_PATH_5)/Modules/GXImage;$(HEADER_PATH_5)/Modules/GXImageBase;$(HEADER_PATH_5)/Modules/GXMedia;$(HEADER_PATH_5)/Modules/Geometry;$(HEADER_PATH_5)/Modules/Graphix;$(HEADER_PATH_5)/Modules/HTTP;$(HEADER_PATH_5)/Modules/InputOutput;$(HEADER_PATH_5)/Modules/JSON;$(HEADER_PATH_5)/Modules/JSONConversion;$(HEADER_PATH_5)/Modules/JavascriptEngine;$(HEADER_PATH_5)/Modules/LibXL;$(HEADER_PATH_5)/Modules/MEPAPI;$(HEADER_PATH_5)/Modules/MPIInterfaceDevLib;$(HEADER_PATH_5)/Modules/MPIInterfaceImpDevLib;$(HEADER_PATH_5)/Modules/Model3D;$(HEADER_PATH_5)/Modules/Model3DViewerControl;$(HEADER_PATH_5)/Modules/Network;$(HEADER_PATH_5)/Modules/Pattern;$(HEADER_PATH_5)/Modules/PointCloud;$(HEADER_PATH_5)/Modules/PointCloudManager;$(HEADER_PATH_5)/Modules/QGDrawing;$(HEADER_PATH_5)/Modules/RS;$(HEADER_PATH_5)/Modules/RapidJSON;$(HEADER_PATH_5)/Modules/SecureCommunication;$(HEADER_PATH_5)/Modules/TWClientLib;$(HEADER_PATH_5)/Modules/TWRoot;$(HEADER_PATH_5)/Modules/TextEngine;$(HEADER_PATH_5)/Modules/TransparentWindowLib;$(HEADER_PATH_5)/Modules/UCLib;$(HEADER_PATH_5)/Modules/UDLib;$(HEADER_PATH_5)/Modules/UserInterfaceAPI;$(HEADER_PATH_5)/Modules/VBElemDialogs;$(HEADER_PATH_5)/Modules/VBUtils;$(HEADER_PATH_5)/Modules/VectorImage $(inherited)</AdditionalIncludeDirectories>
|
||||||
|
<LanguageStandard>stdcpp20</LanguageStandard>
|
||||||
|
<ForcedIncludeFiles>
|
||||||
|
</ForcedIncludeFiles>
|
||||||
|
<TreatWarningAsError>true</TreatWarningAsError>
|
||||||
|
<MultiProcessorCompilation>true</MultiProcessorCompilation>
|
||||||
|
<WholeProgramOptimization>false</WholeProgramOptimization>
|
||||||
|
<BasicRuntimeChecks>Default</BasicRuntimeChecks>
|
||||||
|
<StringPooling>true</StringPooling>
|
||||||
|
<BufferSecurityCheck>false</BufferSecurityCheck>
|
||||||
|
<RuntimeTypeInfo>true</RuntimeTypeInfo>
|
||||||
|
<PrecompiledHeaderOutputFile>
|
||||||
|
</PrecompiledHeaderOutputFile>
|
||||||
|
<ForceConformanceInForLoopScope>
|
||||||
|
</ForceConformanceInForLoopScope>
|
||||||
|
<CallingConvention>FastCall</CallingConvention>
|
||||||
|
<CompileAs>CompileAsCpp</CompileAs>
|
||||||
|
</ClCompile>
|
||||||
|
<Link>
|
||||||
|
<SubSystem>
|
||||||
|
</SubSystem>
|
||||||
|
<EnableCOMDATFolding>true</EnableCOMDATFolding>
|
||||||
|
<OptimizeReferences>true</OptimizeReferences>
|
||||||
|
<GenerateDebugInformation>true</GenerateDebugInformation>
|
||||||
|
<TreatLinkerWarningAsErrors>false</TreatLinkerWarningAsErrors>
|
||||||
|
<AdditionalDependencies>$(HEADER_PATH_5)\Lib\Win\ACAP_STAT.lib;$(HEADER_PATH_5)\Modules\DGGraphix\Win\DGGraphixImp.LIB;$(HEADER_PATH_5)\Modules\DGLib\Win\DGImp.lib;$(HEADER_PATH_5)\Modules\Geometry\Win\GeometryImp.LIB;$(HEADER_PATH_5)\Modules\Graphix\Win\GraphixImp.LIB;$(HEADER_PATH_5)\Modules\GSModeler\Win\GSModelerImp.LIB;$(HEADER_PATH_5)\Modules\GSRoot\Win\GSRootImp.lib;$(HEADER_PATH_5)\Modules\GXImage\Win\GXImageImp.lib;$(HEADER_PATH_5)\Modules\GXImageBase\Win\GXImageBaseImp.lib;$(HEADER_PATH_5)\Modules\GX\Win\GXImp.LIB;$(HEADER_PATH_5)\Modules\InputOutput\Win\InputOutputImp.lib;$(HEADER_PATH_5)\Modules\RS\Win\RSImp.LIB;$(HEADER_PATH_5)\Modules\TextEngine\Win\TextEngineImp.LIB;$(HEADER_PATH_5)\Modules\UCLib\Win\UCImp.lib;$(HEADER_PATH_5)\Modules\UDLib\Win\UDImp.lib;$(HEADER_PATH_5)\Modules\VBAttributes\Win\VBAttributesImp.LIB;$(HEADER_PATH_5)\Modules\VBElemDialogs\Win\VBElemDialogsImp.LIB;$(HEADER_PATH_5)\Modules\VectorImage\Win\VectorImageImp.LIB;$(HEADER_PATH_5)\Modules\ObjectDatabase\Win\ObjectDatabaseImp.LIB;$(HEADER_PATH_5)\Modules\JSON\Win\JSONImp.LIB;msvcrt.lib;msvcprt.lib;IPHLPAPI.lib;Wininet.lib;Dbghelp.lib;%(AdditionalDependencies)</AdditionalDependencies>
|
||||||
|
<AdditionalLibraryDirectories>$(HEADER_PATH_5)\;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
|
||||||
|
<IgnoreAllDefaultLibraries>
|
||||||
|
</IgnoreAllDefaultLibraries>
|
||||||
|
<IgnoreSpecificDefaultLibraries>msvcrtd.lib</IgnoreSpecificDefaultLibraries>
|
||||||
|
<AdditionalOptions>/export:GetExportedFuncAddrs,%401 /export:SetImportedFuncAddrs,%402 %(AdditionalOptions)</AdditionalOptions>
|
||||||
|
</Link>
|
||||||
|
<Lib>
|
||||||
|
<AdditionalDependencies>../zlib/x64/ZlibStatRelease/zlibstat.lib</AdditionalDependencies>
|
||||||
|
</Lib>
|
||||||
|
<PostBuildEvent>
|
||||||
|
<Command>REM Archicad installbuild script
|
||||||
|
|
||||||
SET PROJECTDIR=$(ProjectDir)
|
SET PROJECTDIR=$(ProjectDir)
|
||||||
SET TARGETNAME=$(TargetName)
|
SET TARGETNAME=$(TargetName)
|
||||||
SET TARGETDIR=$(TargetDir)
|
SET TARGETDIR=$(TargetDir)
|
||||||
|
|||||||
@@ -74,6 +74,12 @@
|
|||||||
<Filter Include="Connector\Environment">
|
<Filter Include="Connector\Environment">
|
||||||
<UniqueIdentifier>{1d9a10c3-cac6-4b15-afb9-f117b99b3a24}</UniqueIdentifier>
|
<UniqueIdentifier>{1d9a10c3-cac6-4b15-afb9-f117b99b3a24}</UniqueIdentifier>
|
||||||
</Filter>
|
</Filter>
|
||||||
|
<Filter Include="Connector\Interface\Browser\Bridge\Receive">
|
||||||
|
<UniqueIdentifier>{896b7b9b-61d8-46e7-8432-cfbdab4918fb}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
|
<Filter Include="Connector\Tool">
|
||||||
|
<UniqueIdentifier>{f9330e8f-8242-4605-b25c-b1ba24451825}</UniqueIdentifier>
|
||||||
|
</Filter>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="RFIX.win\Connector.rc2">
|
<None Include="RFIX.win\Connector.rc2">
|
||||||
@@ -98,9 +104,6 @@
|
|||||||
</ResourceCompile>
|
</ResourceCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClCompile Include="Connector\Connector.cpp">
|
|
||||||
<Filter>Connector</Filter>
|
|
||||||
</ClCompile>
|
|
||||||
<ClCompile Include="Connector\Interface\ConnectorMenu.cpp">
|
<ClCompile Include="Connector\Interface\ConnectorMenu.cpp">
|
||||||
<Filter>Connector\Interface</Filter>
|
<Filter>Connector\Interface</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -167,7 +170,6 @@
|
|||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Send\SendBridge.cpp">
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Send\SendBridge.cpp">
|
||||||
<Filter>Connector\Interface\Browser\Bridge\Send</Filter>
|
<Filter>Connector\Interface\Browser\Bridge\Send</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Config\GetIsDevMode.cpp" />
|
|
||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Send\Send.cpp">
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Send\Send.cpp">
|
||||||
<Filter>Connector\Interface\Browser\Bridge\Send</Filter>
|
<Filter>Connector\Interface\Browser\Bridge\Send</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
@@ -258,6 +260,21 @@
|
|||||||
<ClCompile Include="Connector\Interface\Browser\Bridge\Base\HighlightObjects.cpp">
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Base\HighlightObjects.cpp">
|
||||||
<Filter>Connector\Interface\Browser\Bridge\Base</Filter>
|
<Filter>Connector\Interface\Browser\Bridge\Base</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Config\GetIsDevMode.cpp">
|
||||||
|
<Filter>Connector\Interface\Browser\Bridge\Config</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Receive\Receive.cpp">
|
||||||
|
<Filter>Connector\Interface\Browser\Bridge\Receive</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Connector\Interface\Browser\Bridge\Receive\ReceiveBridge.cpp">
|
||||||
|
<Filter>Connector\Interface\Browser\Bridge\Receive</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Connector\Tool\ElementHighlighter.cpp">
|
||||||
|
<Filter>Connector\Tool</Filter>
|
||||||
|
</ClCompile>
|
||||||
|
<ClCompile Include="Connector\Connector.cpp">
|
||||||
|
<Filter>Connector</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="Connector\ConnectorResource.h">
|
<ClInclude Include="Connector\ConnectorResource.h">
|
||||||
@@ -338,7 +355,6 @@
|
|||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Send\SendBridge.h">
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Send\SendBridge.h">
|
||||||
<Filter>Connector\Interface\Browser\Bridge\Send</Filter>
|
<Filter>Connector\Interface\Browser\Bridge\Send</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Config\GetIsDevMode.h" />
|
|
||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Send\Send.h">
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Send\Send.h">
|
||||||
<Filter>Connector\Interface\Browser\Bridge\Send</Filter>
|
<Filter>Connector\Interface\Browser\Bridge\Send</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
@@ -441,5 +457,17 @@
|
|||||||
<ClInclude Include="Connector\Interface\Browser\Bridge\Base\HighlightObjects.h">
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Base\HighlightObjects.h">
|
||||||
<Filter>Connector\Interface\Browser\Bridge\Base</Filter>
|
<Filter>Connector\Interface\Browser\Bridge\Base</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Config\GetIsDevMode.h">
|
||||||
|
<Filter>Connector\Interface\Browser\Bridge\Config</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Receive\Receive.h">
|
||||||
|
<Filter>Connector\Interface\Browser\Bridge\Receive</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Connector\Interface\Browser\Bridge\Receive\ReceiveBridge.h">
|
||||||
|
<Filter>Connector\Interface\Browser\Bridge\Receive</Filter>
|
||||||
|
</ClInclude>
|
||||||
|
<ClInclude Include="Connector\Tool\ElementHighlighter.h">
|
||||||
|
<Filter>Connector\Tool</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -15,6 +15,21 @@
|
|||||||
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC28|x64'">
|
||||||
|
<LocalDebuggerCommand>C:\Program Files\Graphisoft\Archicad 28\Archicad.exe</LocalDebuggerCommand>
|
||||||
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC26|x64'">
|
||||||
|
<LocalDebuggerCommand>C:\Program Files\Graphisoft\Archicad 26\Archicad.exe</LocalDebuggerCommand>
|
||||||
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='DebugAC25|x64'">
|
||||||
|
<LocalDebuggerCommand>C:\Program Files\Graphisoft\ARCHICAD 25\Archicad.exe</LocalDebuggerCommand>
|
||||||
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|x64'">
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseVW2024|x64'">
|
||||||
<LocalDebuggerCommand>C:\Program Files\Vectorworks 2024\Vectorworks2024.exe</LocalDebuggerCommand>
|
<LocalDebuggerCommand>C:\Program Files\Vectorworks 2024\Vectorworks2024.exe</LocalDebuggerCommand>
|
||||||
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
@@ -30,4 +45,19 @@
|
|||||||
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC28|x64'">
|
||||||
|
<LocalDebuggerCommand>C:\Program Files\Graphisoft\Archicad 28\Archicad.exe</LocalDebuggerCommand>
|
||||||
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC26|x64'">
|
||||||
|
<LocalDebuggerCommand>C:\Program Files\Graphisoft\Archicad 26\Archicad.exe</LocalDebuggerCommand>
|
||||||
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='ReleaseAC25|x64'">
|
||||||
|
<LocalDebuggerCommand>C:\Program Files\Graphisoft\ARCHICAD 25\Archicad.exe</LocalDebuggerCommand>
|
||||||
|
<LocalDebuggerAttach>false</LocalDebuggerAttach>
|
||||||
|
<DebuggerFlavor>WindowsLocalDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
</Project>
|
</Project>
|
||||||
File diff suppressed because it is too large
Load Diff
+71
@@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1610"
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES"
|
||||||
|
buildArchitectures = "Automatic">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21BD79802CE23E4D00526AD1"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC25-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<PathRunnable
|
||||||
|
runnableDebuggingMode = "0"
|
||||||
|
FilePath = "/Applications/Graphisoft/ARCHICAD 25/ARCHICAD 25.app">
|
||||||
|
</PathRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21BD79802CE23E4D00526AD1"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC25-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
+71
@@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1610"
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES"
|
||||||
|
buildArchitectures = "Automatic">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21BD79802CE23E4D00526AD1"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC25-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
selectedDebuggerIdentifier = ""
|
||||||
|
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
selectedDebuggerIdentifier = ""
|
||||||
|
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<PathRunnable
|
||||||
|
runnableDebuggingMode = "0"
|
||||||
|
FilePath = "/Applications/Graphisoft/ARCHICAD 25/ARCHICAD 25.app">
|
||||||
|
</PathRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21BD79802CE23E4D00526AD1"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC25-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Release">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
+72
@@ -0,0 +1,72 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1610"
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES"
|
||||||
|
buildArchitectures = "Automatic">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21CE8A922CE4F3370076522F"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC26-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<PathRunnable
|
||||||
|
runnableDebuggingMode = "0"
|
||||||
|
BundleIdentifier = "com.graphisoft.archicad26"
|
||||||
|
FilePath = "/Applications/Graphisoft/Archicad 26/Archicad 26.app">
|
||||||
|
</PathRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21CE8A922CE4F3370076522F"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC26-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
+71
@@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1610"
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES"
|
||||||
|
buildArchitectures = "Automatic">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21CE8A922CE4F3370076522F"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC26-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
selectedDebuggerIdentifier = ""
|
||||||
|
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
selectedDebuggerIdentifier = ""
|
||||||
|
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<PathRunnable
|
||||||
|
runnableDebuggingMode = "0"
|
||||||
|
FilePath = "/Applications/Graphisoft/Archicad 26/Archicad 26.app">
|
||||||
|
</PathRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21CE8A922CE4F3370076522F"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC26-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Release">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1530"
|
LastUpgradeVersion = "1610"
|
||||||
version = "1.7">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1530"
|
LastUpgradeVersion = "1610"
|
||||||
version = "1.7">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|||||||
+5
-1
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1530"
|
LastUpgradeVersion = "1610"
|
||||||
version = "1.7">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
@@ -39,6 +39,10 @@
|
|||||||
debugDocumentVersioning = "YES"
|
debugDocumentVersioning = "YES"
|
||||||
debugServiceExtension = "internal"
|
debugServiceExtension = "internal"
|
||||||
allowLocationSimulation = "YES">
|
allowLocationSimulation = "YES">
|
||||||
|
<PathRunnable
|
||||||
|
runnableDebuggingMode = "0"
|
||||||
|
FilePath = "/Applications/Graphisoft/Archicad 27/Archicad 27.app">
|
||||||
|
</PathRunnable>
|
||||||
</LaunchAction>
|
</LaunchAction>
|
||||||
<ProfileAction
|
<ProfileAction
|
||||||
buildConfiguration = "Release"
|
buildConfiguration = "Release"
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<Scheme
|
<Scheme
|
||||||
LastUpgradeVersion = "1530"
|
LastUpgradeVersion = "1610"
|
||||||
version = "1.7">
|
version = "1.7">
|
||||||
<BuildAction
|
<BuildAction
|
||||||
parallelizeBuildables = "YES"
|
parallelizeBuildables = "YES"
|
||||||
|
|||||||
+71
@@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1610"
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES"
|
||||||
|
buildArchitectures = "Automatic">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21CE8DD22CE5137C0076522F"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC28-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Debug"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<PathRunnable
|
||||||
|
runnableDebuggingMode = "0"
|
||||||
|
FilePath = "/Applications/Graphisoft/Archicad 28/Archicad 28.app">
|
||||||
|
</PathRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21CE8DD22CE5137C0076522F"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC28-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Debug">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
+71
@@ -0,0 +1,71 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Scheme
|
||||||
|
LastUpgradeVersion = "1610"
|
||||||
|
version = "1.7">
|
||||||
|
<BuildAction
|
||||||
|
parallelizeBuildables = "YES"
|
||||||
|
buildImplicitDependencies = "YES"
|
||||||
|
buildArchitectures = "Automatic">
|
||||||
|
<BuildActionEntries>
|
||||||
|
<BuildActionEntry
|
||||||
|
buildForTesting = "YES"
|
||||||
|
buildForRunning = "YES"
|
||||||
|
buildForProfiling = "YES"
|
||||||
|
buildForArchiving = "YES"
|
||||||
|
buildForAnalyzing = "YES">
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21CE8DD22CE5137C0076522F"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC28-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</BuildActionEntry>
|
||||||
|
</BuildActionEntries>
|
||||||
|
</BuildAction>
|
||||||
|
<TestAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
selectedDebuggerIdentifier = ""
|
||||||
|
selectedLauncherIdentifier = "Xcode.IDEFoundation.Launcher.PosixSpawn"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
shouldAutocreateTestPlan = "YES">
|
||||||
|
</TestAction>
|
||||||
|
<LaunchAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
|
launchStyle = "0"
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
ignoresPersistentStateOnLaunch = "NO"
|
||||||
|
debugDocumentVersioning = "YES"
|
||||||
|
debugServiceExtension = "internal"
|
||||||
|
allowLocationSimulation = "YES">
|
||||||
|
<PathRunnable
|
||||||
|
runnableDebuggingMode = "0"
|
||||||
|
FilePath = "/Applications/Graphisoft/Archicad 28/Archicad 28.app">
|
||||||
|
</PathRunnable>
|
||||||
|
</LaunchAction>
|
||||||
|
<ProfileAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
shouldUseLaunchSchemeArgsEnv = "YES"
|
||||||
|
savedToolIdentifier = ""
|
||||||
|
useCustomWorkingDirectory = "NO"
|
||||||
|
debugDocumentVersioning = "YES">
|
||||||
|
<MacroExpansion>
|
||||||
|
<BuildableReference
|
||||||
|
BuildableIdentifier = "primary"
|
||||||
|
BlueprintIdentifier = "21CE8DD22CE5137C0076522F"
|
||||||
|
BuildableName = "Speckle Connector.bundle"
|
||||||
|
BlueprintName = "Connector-AC28-EN-GB"
|
||||||
|
ReferencedContainer = "container:Connector.xcodeproj">
|
||||||
|
</BuildableReference>
|
||||||
|
</MacroExpansion>
|
||||||
|
</ProfileAction>
|
||||||
|
<AnalyzeAction
|
||||||
|
buildConfiguration = "Release">
|
||||||
|
</AnalyzeAction>
|
||||||
|
<ArchiveAction
|
||||||
|
buildConfiguration = "Release"
|
||||||
|
revealArchiveInOrganizer = "YES">
|
||||||
|
</ArchiveAction>
|
||||||
|
</Scheme>
|
||||||
@@ -4,10 +4,21 @@
|
|||||||
#include "Connector/Environment/ConnectorProject.h"
|
#include "Connector/Environment/ConnectorProject.h"
|
||||||
#include "Connector/Interface/ConnectorMenu.h"
|
#include "Connector/Interface/ConnectorMenu.h"
|
||||||
#include "Connector/Interface/ConnectorPalette.h"
|
#include "Connector/Interface/ConnectorPalette.h"
|
||||||
|
#include "Connector/Tool/ElementHighlighter.h"
|
||||||
#include "Speckle/Database/AccountDatabase.h"
|
#include "Speckle/Database/AccountDatabase.h"
|
||||||
#include "Speckle/Environment/Addon.h"
|
#include "Speckle/Environment/Addon.h"
|
||||||
#include "Speckle/Utility/String.h"
|
#include "Speckle/Utility/String.h"
|
||||||
|
|
||||||
|
#include <mutex>
|
||||||
|
|
||||||
|
#ifdef WINDOWS
|
||||||
|
//NB: VS is ignoring template specialisations unless they are explicitly used in the top-level project
|
||||||
|
#include "Active/Setting/Values/GuidValue.h"
|
||||||
|
#include "Active/Setting/Values/TimeValue.h"
|
||||||
|
#include "Active/Setting/Values/StringValue.h"
|
||||||
|
using namespace active::setting;
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace active::file;
|
using namespace active::file;
|
||||||
using namespace active::environment;
|
using namespace active::environment;
|
||||||
using namespace connector;
|
using namespace connector;
|
||||||
@@ -23,12 +34,24 @@ namespace {
|
|||||||
//The account database name
|
//The account database name
|
||||||
const char* accountDBaseName = "Accounts.db";
|
const char* accountDBaseName = "Accounts.db";
|
||||||
|
|
||||||
///The Connector addon class
|
|
||||||
|
/*!
|
||||||
|
Class for a concrete instance of an add-on
|
||||||
|
|
||||||
|
This class is private to prevent ad-hoc construction of instances while fulfilling the requirements of the public interface. Essentially
|
||||||
|
this should behave as a singleton, representing the sole instance of the running add-on
|
||||||
|
*/
|
||||||
class ConnectorInstance : public ConnectorAddon {
|
class ConnectorInstance : public ConnectorAddon {
|
||||||
public:
|
public:
|
||||||
|
/*!
|
||||||
|
Constructor
|
||||||
|
@param name The connector add-on name
|
||||||
|
*/
|
||||||
ConnectorInstance(const String& name) : ConnectorAddon{name} {
|
ConnectorInstance(const String& name) : ConnectorAddon{name} {
|
||||||
|
//Define the connector UI components
|
||||||
add<ConnectorMenu>();
|
add<ConnectorMenu>();
|
||||||
add<ConnectorPalette>();
|
add<ConnectorPalette>();
|
||||||
|
add<ElementHighlighter>();
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: Functions (const)
|
// MARK: Functions (const)
|
||||||
@@ -49,9 +72,13 @@ namespace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
///The accounts database - always a single instance for the active user
|
||||||
mutable std::unique_ptr<AccountDatabase> m_account;
|
mutable std::unique_ptr<AccountDatabase> m_account;
|
||||||
|
///Mutex to control access to the accounts database
|
||||||
|
mutable std::mutex m_accountMutex;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
///The active addon instance
|
///The active addon instance
|
||||||
std::unique_ptr<ConnectorAddon> m_addonInstance;
|
std::unique_ptr<ConnectorAddon> m_addonInstance;
|
||||||
|
|
||||||
@@ -68,6 +95,18 @@ namespace {
|
|||||||
return Directory{*appData, speckleDataDirName, true};
|
return Directory{*appData, speckleDataDirName, true};
|
||||||
} //getAppDataDirectory
|
} //getAppDataDirectory
|
||||||
|
|
||||||
|
#ifdef WINDOWS
|
||||||
|
//NB: VS is ignoring template specialisations unless they are explicitly used in the top-level project
|
||||||
|
void invokeSpecialisation() {
|
||||||
|
StringValue stringValue;
|
||||||
|
active::utility::String unusedString = stringValue;
|
||||||
|
GuidValue guidValue;
|
||||||
|
active::utility::Guid unusedGuid = guidValue;
|
||||||
|
TimeValue timeValue;
|
||||||
|
active::utility::Time unusedTime = timeValue;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
@@ -76,6 +115,9 @@ namespace {
|
|||||||
name: The add-on name
|
name: The add-on name
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
ConnectorAddon::ConnectorAddon(const speckle::utility::String& name) : Addon{name} {
|
ConnectorAddon::ConnectorAddon(const speckle::utility::String& name) : Addon{name} {
|
||||||
|
#ifdef WINDOWS
|
||||||
|
invokeSpecialisation();
|
||||||
|
#endif
|
||||||
} //ConnectorAddon::ConnectorAddon
|
} //ConnectorAddon::ConnectorAddon
|
||||||
|
|
||||||
|
|
||||||
@@ -85,6 +127,7 @@ ConnectorAddon::ConnectorAddon(const speckle::utility::String& name) : Addon{nam
|
|||||||
return: The account database
|
return: The account database
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
const AccountDatabase* ConnectorInstance::getAccountDatabase() const {
|
const AccountDatabase* ConnectorInstance::getAccountDatabase() const {
|
||||||
|
const std::lock_guard<std::mutex> lock{m_accountMutex};
|
||||||
if (!m_account) {
|
if (!m_account) {
|
||||||
auto speckleDirectory = getAppDataDirectory();
|
auto speckleDirectory = getAppDataDirectory();
|
||||||
if (!speckleDirectory)
|
if (!speckleDirectory)
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
#include "Speckle/Environment/Addon.h"
|
#include "Speckle/Environment/Addon.h"
|
||||||
#include "Speckle/Utility/String.h"
|
|
||||||
|
|
||||||
namespace speckle::database {
|
namespace speckle::database {
|
||||||
class AccountDatabase;
|
class AccountDatabase;
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ enum TitleString {
|
|||||||
addonNameID = 1,
|
addonNameID = 1,
|
||||||
addonDescriptionID,
|
addonDescriptionID,
|
||||||
noStoreyID,
|
noStoreyID,
|
||||||
|
showLayersID,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -44,6 +45,7 @@ enum GeneralString {
|
|||||||
|
|
||||||
//Notification strings (advice displayed in alerts)
|
//Notification strings (advice displayed in alerts)
|
||||||
enum NotifyString {
|
enum NotifyString {
|
||||||
|
showHiddenLayersID = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -96,7 +96,7 @@ Vector<ModelCard> ModelCardDatabase::getCards() const {
|
|||||||
|
|
||||||
card: The card to write
|
card: The card to write
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void ModelCardDatabase::write(const ModelCard& card) const {
|
void ModelCardDatabase::write(ModelCard& card) const {
|
||||||
m_store->write(card);
|
m_store->write(card);
|
||||||
} //ModelCardDatabase::write
|
} //ModelCardDatabase::write
|
||||||
|
|
||||||
|
|||||||
@@ -43,7 +43,7 @@ namespace connector::database {
|
|||||||
Write a card to storage
|
Write a card to storage
|
||||||
@param card The card to write
|
@param card The card to write
|
||||||
*/
|
*/
|
||||||
void write(const record::ModelCard& card) const;
|
void write(record::ModelCard& card) const;
|
||||||
/*!
|
/*!
|
||||||
Erase a card
|
Erase a card
|
||||||
@param cardID The ID of the card to erase
|
@param cardID The ID of the card to erase
|
||||||
|
|||||||
@@ -3,6 +3,20 @@
|
|||||||
|
|
||||||
#include "Active/Utility/NameID.h"
|
#include "Active/Utility/NameID.h"
|
||||||
|
|
||||||
|
// MARK: - Event identities
|
||||||
|
|
||||||
|
//Identifier for event signalling the connector palette visibility should be toggled
|
||||||
inline const active::utility::NameID toggleConnectorPaletteID{"toggleConnectorPalette"};
|
inline const active::utility::NameID toggleConnectorPaletteID{"toggleConnectorPalette"};
|
||||||
|
//Identifier for event signalling the connector palette has changed (state carried with event)
|
||||||
|
inline const active::utility::NameID reflectPaletteVisibilityID{"setConnectorMenuCheck"};
|
||||||
|
//Identifier for event signalling the that an attached list of elements should be highlighted
|
||||||
|
inline const active::utility::NameID setElementHighlight{"setElementHighlight"};
|
||||||
|
|
||||||
|
// MARK: - Event setting identities
|
||||||
|
|
||||||
|
//Identifier for setting carrying a menu state
|
||||||
|
inline const active::utility::NameID paletteVisibilityStateID{"menuCheckState"};
|
||||||
|
//Identifier for setting carrying a list of element links
|
||||||
|
inline const active::utility::NameID recordLinks{"recordLinks"};
|
||||||
|
|
||||||
#endif //CONNECTOR_EVENT_ID
|
#endif //CONNECTOR_EVENT_ID
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ void AddModel::run(const ModelCard& card) const {
|
|||||||
auto connectorProject = dynamic_cast<ConnectorProject*>(project.get());
|
auto connectorProject = dynamic_cast<ConnectorProject*>(project.get());
|
||||||
if (!connectorProject)
|
if (!connectorProject)
|
||||||
return;
|
return;
|
||||||
if (auto modelCardDBase = connectorProject->getModelCardDatabase(); modelCardDBase != nullptr)
|
if (auto modelCardDBase = connectorProject->getModelCardDatabase(); modelCardDBase != nullptr) {
|
||||||
modelCardDBase->write(card);
|
auto newCard = clone(card);
|
||||||
|
modelCardDBase->write(*newCard);
|
||||||
|
}
|
||||||
} //AddModel::run
|
} //AddModel::run
|
||||||
|
|||||||
@@ -1,7 +1,11 @@
|
|||||||
|
#include "Active/Setting/ValueSetting.h"
|
||||||
|
#include "Active/Setting/Values/GuidValue.h"
|
||||||
|
#include "Active/Event/Event.h"
|
||||||
#include "Connector/Interface/Browser/Bridge/Base/HighlightModel.h"
|
#include "Connector/Interface/Browser/Bridge/Base/HighlightModel.h"
|
||||||
#include "Connector/Connector.h"
|
#include "Connector/Connector.h"
|
||||||
#include "Connector/ConnectorResource.h"
|
#include "Connector/ConnectorResource.h"
|
||||||
#include "Connector/Environment/ConnectorProject.h"
|
#include "Connector/Environment/ConnectorProject.h"
|
||||||
|
#include "Connector/Event/ConnectorEventID.h"
|
||||||
#include "Connector/Database/ModelCardDatabase.h"
|
#include "Connector/Database/ModelCardDatabase.h"
|
||||||
#include "Connector/Interface/Browser/Bridge/Send/Arg/SendError.h"
|
#include "Connector/Interface/Browser/Bridge/Send/Arg/SendError.h"
|
||||||
#include "Connector/Record/Model/SenderModelCard.h"
|
#include "Connector/Record/Model/SenderModelCard.h"
|
||||||
@@ -9,12 +13,16 @@
|
|||||||
#include "Speckle/Interface/Browser/Bridge/BrowserBridge.h"
|
#include "Speckle/Interface/Browser/Bridge/BrowserBridge.h"
|
||||||
#include "Speckle/Record/Element/Element.h"
|
#include "Speckle/Record/Element/Element.h"
|
||||||
#include "Speckle/Database/BIMElementDatabase.h"
|
#include "Speckle/Database/BIMElementDatabase.h"
|
||||||
|
#include "Speckle/Environment/Host.h"
|
||||||
#include "Speckle/Environment/Project.h"
|
#include "Speckle/Environment/Project.h"
|
||||||
|
|
||||||
using namespace speckle::record::element;
|
using namespace active::event;
|
||||||
|
using namespace active::setting;
|
||||||
using namespace connector::environment;
|
using namespace connector::environment;
|
||||||
using namespace connector::interfac::browser::bridge;
|
using namespace connector::interfac::browser::bridge;
|
||||||
using namespace connector::record;
|
using namespace connector::record;
|
||||||
|
using namespace speckle::environment;
|
||||||
|
using namespace speckle::record::element;
|
||||||
using namespace speckle::utility;
|
using namespace speckle::utility;
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
@@ -44,12 +52,9 @@ void HighlightModel::run(const String& modelCardID) const {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (auto senderCard = dynamic_cast<SenderModelCard*>(modelCard.get())) {
|
if (auto senderCard = dynamic_cast<SenderModelCard*>(modelCard.get())) {
|
||||||
auto modelCardSelection = senderCard->getFilter().getElementIDs();
|
ValueSetting elementIDs{recordLinks};
|
||||||
auto project = connector()->getActiveProject().lock();
|
for (const auto& elementID : senderCard->getFilter().getElementIDs())
|
||||||
if (!project)
|
elementIDs.emplace_back(GuidValue{elementID});
|
||||||
return; // TODO: is this OK? should this throw?
|
connector()->publish(Event{setElementHighlight, { elementIDs }});
|
||||||
auto elementDatabase = project->getElementDatabase();
|
|
||||||
elementDatabase->clearSelection();
|
|
||||||
elementDatabase->setSelection(modelCardSelection);
|
|
||||||
}
|
}
|
||||||
} //HighlightModel::run
|
} //HighlightModel::run
|
||||||
|
|||||||
@@ -1,13 +1,16 @@
|
|||||||
#include "Connector/Interface/Browser/Bridge/Base/HighlightObjects.h"
|
#include "Connector/Interface/Browser/Bridge/Base/HighlightObjects.h"
|
||||||
|
|
||||||
|
#include "Active/Setting/ValueSetting.h"
|
||||||
|
#include "Active/Event/Event.h"
|
||||||
#include "Connector/Connector.h"
|
#include "Connector/Connector.h"
|
||||||
#include "Connector/Environment/ConnectorProject.h"
|
#include "Connector/Event/ConnectorEventID.h"
|
||||||
#include "Speckle/Database/BIMElementDatabase.h"
|
|
||||||
#include "Speckle/Environment/Project.h"
|
|
||||||
|
|
||||||
using namespace connector::environment;
|
using namespace active::event;
|
||||||
|
using namespace active::setting;
|
||||||
|
using namespace connector;
|
||||||
using namespace connector::interfac::browser::bridge;
|
using namespace connector::interfac::browser::bridge;
|
||||||
using namespace speckle::database;
|
using namespace speckle::database;
|
||||||
|
using namespace speckle::environment;
|
||||||
using namespace speckle::utility;
|
using namespace speckle::utility;
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
@@ -24,17 +27,5 @@ HighlightObjects::HighlightObjects() : BridgeMethod{"HighlightObjects", [&](cons
|
|||||||
objectIDs: List of object IDs to be highlighted
|
objectIDs: List of object IDs to be highlighted
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void HighlightObjects::run(const StringList& objectIDs) const {
|
void HighlightObjects::run(const StringList& objectIDs) const {
|
||||||
BIMLinkList objectSelection;
|
connector()->publish(Event{setElementHighlight, { ValueSetting{objectIDs, recordLinks} }});
|
||||||
for (const auto& text : objectIDs)
|
|
||||||
if (Guid guid{text}; !guid.empty())
|
|
||||||
objectSelection.emplace_back(guid);
|
|
||||||
if (objectSelection.empty())
|
|
||||||
return;
|
|
||||||
auto project = connector()->getActiveProject().lock();
|
|
||||||
auto connectorProject = dynamic_cast<ConnectorProject*>(project.get());
|
|
||||||
if (!connectorProject)
|
|
||||||
return;
|
|
||||||
auto elementDatabase = project->getElementDatabase();
|
|
||||||
elementDatabase->clearSelection();
|
|
||||||
elementDatabase->setSelection(objectSelection);
|
|
||||||
} //HighlightObjects::run
|
} //HighlightObjects::run
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ void UpdateModel::run(const ModelCard& card) const {
|
|||||||
auto connectorProject = dynamic_cast<ConnectorProject*>(project.get());
|
auto connectorProject = dynamic_cast<ConnectorProject*>(project.get());
|
||||||
if (!connectorProject)
|
if (!connectorProject)
|
||||||
return;
|
return;
|
||||||
if (auto modelCardDBase = connectorProject->getModelCardDatabase(); modelCardDBase != nullptr)
|
if (auto modelCardDBase = connectorProject->getModelCardDatabase(); modelCardDBase != nullptr) {
|
||||||
modelCardDBase->write(card);
|
auto newCard = clone(card);
|
||||||
|
modelCardDBase->write(*newCard);
|
||||||
|
}
|
||||||
} //UpdateModel::run
|
} //UpdateModel::run
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
#include "Connector/Interface/Browser/Bridge/Receive/Receive.h"
|
||||||
|
|
||||||
|
#include "Active/Serialise/CargoHold.h"
|
||||||
|
#include "Active/Serialise/Package/Wrapper/PackageWrap.h"
|
||||||
|
#include "Connector/Connector.h"
|
||||||
|
#include "Connector/ConnectorResource.h"
|
||||||
|
#include "Connector/Database/ModelCardDatabase.h"
|
||||||
|
#include "Connector/Environment/ConnectorProject.h"
|
||||||
|
#include "Connector/Record/Collection/ProjectCollection.h"
|
||||||
|
#include "Connector/Record/Model/ReceiverModelCard.h"
|
||||||
|
#include "Speckle/Database/AccountDatabase.h"
|
||||||
|
#include "Speckle/Database/BIMElementDatabase.h"
|
||||||
|
#include "Speckle/Database/Content/BIMRecord.h"
|
||||||
|
#include "Speckle/Environment/Project.h"
|
||||||
|
#include "Speckle/Environment/Host.h"
|
||||||
|
#include "Speckle/Interface/Browser/Bridge/BrowserBridge.h"
|
||||||
|
#include "Speckle/Record/Credentials/Account.h"
|
||||||
|
#include "Speckle/Record/Element/Element.h"
|
||||||
|
#include "Speckle/Serialise/Detached/Storage/DetachedMemoryStore.h"
|
||||||
|
#include "Speckle/Utility/Exception.h"
|
||||||
|
|
||||||
|
using namespace active::serialise;
|
||||||
|
using namespace connector::environment;
|
||||||
|
using namespace connector::interfac::browser::bridge;
|
||||||
|
using namespace connector::record;
|
||||||
|
using namespace speckle::database;
|
||||||
|
using namespace speckle::environment;
|
||||||
|
using namespace speckle::record::element;
|
||||||
|
using namespace speckle::serialise;
|
||||||
|
using namespace speckle::utility;
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Default constructor
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
Receive::Receive() : BridgeMethod{"Receive", [&](const ReceiveArgs& args) {
|
||||||
|
run(args);
|
||||||
|
}} {}
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Receive a specified model
|
||||||
|
|
||||||
|
modelCardID: The ID of the model card identifying the objects to receive
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
void Receive::run(const String& modelCardID) const {
|
||||||
|
} //Receive::run
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
#ifndef CONNECTOR_INTERFACE_BRIDGE_RECEIVE
|
||||||
|
#define CONNECTOR_INTERFACE_BRIDGE_RECEIVE
|
||||||
|
|
||||||
|
#include "Active/Serialise/CargoHold.h"
|
||||||
|
#include "Active/Serialise/Item/Wrapper/ValueWrap.h"
|
||||||
|
#include "Speckle/Interface/Browser/Bridge/BridgeMethod.h"
|
||||||
|
|
||||||
|
namespace connector::interfac::browser::bridge {
|
||||||
|
|
||||||
|
///Argument parameter for a string
|
||||||
|
using StringHold = active::serialise::CargoHold<active::serialise::ValueWrap<speckle::utility::String>, speckle::utility::String>;
|
||||||
|
///Argument type for this method
|
||||||
|
using ReceiveArgs = speckle::interfac::browser::bridge::JSArgType<StringHold>;
|
||||||
|
|
||||||
|
/*!
|
||||||
|
JS Function class to receive a specified model
|
||||||
|
*/
|
||||||
|
class Receive : public speckle::interfac::browser::bridge::BridgeMethod<ReceiveArgs, void> {
|
||||||
|
public:
|
||||||
|
|
||||||
|
// MARK: - Constructors
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Constructor
|
||||||
|
*/
|
||||||
|
Receive();
|
||||||
|
|
||||||
|
// MARK: - Functions (const)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Receive a specified model
|
||||||
|
@param modelCardID The ID of the model card identifying the objects to receive
|
||||||
|
*/
|
||||||
|
void run(const speckle::utility::String& modelCardID) const;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //CONNECTOR_INTERFACE_BRIDGE_RECEIVE
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
#include "Connector/Interface/Browser/Bridge/Receive/ReceiveBridge.h"
|
||||||
|
#include "Connector/Interface/Browser/Bridge/Receive/Receive.h"
|
||||||
|
#include "Connector/Connector.h"
|
||||||
|
#include "Connector/ConnectorResource.h"
|
||||||
|
#include "Connector/Database/ModelCardDatabase.h"
|
||||||
|
#include "Connector/Environment/ConnectorProject.h"
|
||||||
|
#include "Speckle/Event/Type/ElementEvent.h"
|
||||||
|
#include "Speckle/Record/Element/Element.h"
|
||||||
|
#include "Speckle/Database/BIMElementDatabase.h"
|
||||||
|
#include "Speckle/Environment/Project.h"
|
||||||
|
#include "Speckle/Database/Identity/RecordID.h"
|
||||||
|
#include "Active/Serialise/CargoHold.h"
|
||||||
|
#include "Active/Serialise/Package/Wrapper/ContainerWrap.h"
|
||||||
|
#include "Connector/Record/Model/ReceiverModelCard.h"
|
||||||
|
|
||||||
|
using namespace speckle::database;
|
||||||
|
using namespace connector::environment;
|
||||||
|
using namespace connector::interfac::browser::bridge;
|
||||||
|
using namespace speckle::utility;
|
||||||
|
using namespace speckle::event;
|
||||||
|
using namespace active::serialise;
|
||||||
|
using namespace connector::record;
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Default constructor
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
ReceiveBridge::ReceiveBridge() : BrowserBridge{"receiveBinding"} {
|
||||||
|
//Add bridge methods
|
||||||
|
addMethod<Receive>();
|
||||||
|
} //ReceiveBridge::ReceiveBridge
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#ifndef CONNECTOR_INTERFACE_BRIDGE_RECEIVE_BRIDGE
|
||||||
|
#define CONNECTOR_INTERFACE_BRIDGE_RECEIVE_BRIDGE
|
||||||
|
|
||||||
|
#include "Speckle/Interface/Browser/Bridge/BrowserBridge.h"
|
||||||
|
|
||||||
|
namespace connector::interfac::browser::bridge {
|
||||||
|
|
||||||
|
/*!
|
||||||
|
A browser bridge to support receiving model data from a Speckle server
|
||||||
|
*/
|
||||||
|
class ReceiveBridge : public speckle::interfac::browser::bridge::BrowserBridge {
|
||||||
|
public:
|
||||||
|
|
||||||
|
// MARK: - Types
|
||||||
|
|
||||||
|
using base = speckle::interfac::browser::bridge::BrowserBridge;
|
||||||
|
|
||||||
|
// MARK: - Constructors
|
||||||
|
|
||||||
|
using base::base;
|
||||||
|
/*!
|
||||||
|
Default constructor
|
||||||
|
*/
|
||||||
|
ReceiveBridge();
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //CONNECTOR_INTERFACE_BRIDGE_RECEIVE_BRIDGE
|
||||||
@@ -24,7 +24,7 @@ SelectionBridge::SelectionBridge() : BrowserBridge{"selectionBinding"} {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
bool SelectionBridge::handle(const speckle::event::SelectionEvent& event) {
|
bool SelectionBridge::handle(const speckle::event::SelectionEvent& event) {
|
||||||
auto selectionInfo = std::make_unique<SelectionInfo>();
|
auto selectionInfo = std::make_unique<SelectionInfo>();
|
||||||
auto wrapped = std::make_unique<CargoHold<PackageWrap, SelectionInfo>>(std::move(selectionInfo));
|
auto wrapped = std::make_unique<CargoHold<PackageWrap, SelectionInfo>>(std::move(selectionInfo));
|
||||||
sendEvent("setSelection", std::move(wrapped));
|
sendEvent("setSelection", std::move(wrapped));
|
||||||
return true;
|
return true;
|
||||||
} //SelectionBridge::handle
|
} //SelectionBridge::handle
|
||||||
|
|||||||
@@ -76,10 +76,9 @@ void Send::run(const String& modelCardID) const {
|
|||||||
}
|
}
|
||||||
//Get the selected elements from the modelcard
|
//Get the selected elements from the modelcard
|
||||||
auto elementDatabase = project->getElementDatabase();
|
auto elementDatabase = project->getElementDatabase();
|
||||||
ElementIDList selected{};
|
BIMRecordIDList selected{};
|
||||||
if (auto senderCard = dynamic_cast<SenderModelCard*>(modelCard.get())) {
|
if (auto senderCard = dynamic_cast<SenderModelCard*>(modelCard.get()))
|
||||||
selected = senderCard->getFilter().getElementIDs();
|
selected = senderCard->getFilter().getElementIDs();
|
||||||
}
|
|
||||||
//Build a collection from the selected elements
|
//Build a collection from the selected elements
|
||||||
auto collection = std::make_unique<ProjectCollection>(project, modelCard->getID());
|
auto collection = std::make_unique<ProjectCollection>(project, modelCard->getID());
|
||||||
for (const auto& link : selected) {
|
for (const auto& link : selected) {
|
||||||
|
|||||||
@@ -59,10 +59,9 @@ bool SendBridge::handle(const ElementEvent& event) {
|
|||||||
// POC: this is probably not efficient, should test, review and refactor it
|
// POC: this is probably not efficient, should test, review and refactor it
|
||||||
RecordIDList expiredModelCardIds;
|
RecordIDList expiredModelCardIds;
|
||||||
for (const auto& modelCard : modelCards) {
|
for (const auto& modelCard : modelCards) {
|
||||||
if (auto senderCard = dynamic_cast<SenderModelCard*>(modelCard.get())) {
|
if (auto senderCard = dynamic_cast<SenderModelCard*>(modelCard.get()); senderCard) {
|
||||||
auto modelCardSelection = senderCard->getFilter().getElementIDs();
|
for (const auto& recordID : m_changedElements) {
|
||||||
for (const auto& elemId : modelCardSelection) {
|
if (senderCard->contains(recordID)) {
|
||||||
if (std::find(m_changedElements.begin(), m_changedElements.end(), elemId) != m_changedElements.end()) {
|
|
||||||
expiredModelCardIds.push_back(modelCard->getID());
|
expiredModelCardIds.push_back(modelCard->getID());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -76,8 +75,8 @@ bool SendBridge::handle(const ElementEvent& event) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case changeElem: case editElem: case deleteElem: {
|
case changeElem: case editElem: case deleteElem: {
|
||||||
if (event.getElmentID())
|
if (event.getElementID())
|
||||||
m_changedElements.push_back(*event.getElmentID());
|
m_changedElements.insert(*event.getElementID());
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -31,6 +31,10 @@ namespace connector::interfac::browser::bridge {
|
|||||||
@return True if the event should be closed
|
@return True if the event should be closed
|
||||||
*/
|
*/
|
||||||
bool handle(const speckle::event::ElementEvent& event) override;
|
bool handle(const speckle::event::ElementEvent& event) override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
///List of changed element IDs
|
||||||
|
speckle::database::BIMRecordIDList m_changedElements;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,12 @@ using namespace active::event;
|
|||||||
using namespace connector;
|
using namespace connector;
|
||||||
using namespace speckle::event;
|
using namespace speckle::event;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
auto connectorMenuItem = 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
Default constructor
|
Default constructor
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
@@ -22,6 +28,35 @@ ConnectorMenu::ConnectorMenu()
|
|||||||
} //ConnectorMenu::ConnectorMenu
|
} //ConnectorMenu::ConnectorMenu
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Get the event subscription list
|
||||||
|
|
||||||
|
return: The subscription list (an empty list will put the subscriber into a suspended state)
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
Subscriber::Subscription ConnectorMenu::subscription() const {
|
||||||
|
auto result = MenuSubscriber::subscription();
|
||||||
|
result.insert(reflectPaletteVisibilityID);
|
||||||
|
return result;
|
||||||
|
} //ConnectorMenu::subscription
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Receive a subscribed event
|
||||||
|
|
||||||
|
event: The incoming event
|
||||||
|
|
||||||
|
return: True if the event should be closed
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
bool ConnectorMenu::receive(const active::event::Event& event) {
|
||||||
|
if (event != reflectPaletteVisibilityID)
|
||||||
|
return MenuSubscriber::receive(event);
|
||||||
|
//Set the menu checked state based on the palette visibility from the event
|
||||||
|
if (auto menuState = event.findValue(paletteVisibilityStateID); menuState != nullptr)
|
||||||
|
setMenuChecked(connectorMenuItem, menuState->boolVal());
|
||||||
|
return false;
|
||||||
|
} //ConnectorMenu::receive
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
Handle the menu selection
|
Handle the menu selection
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,21 @@ namespace connector {
|
|||||||
*/
|
*/
|
||||||
ConnectorMenu();
|
ConnectorMenu();
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Get the event subscription list
|
||||||
|
@return The subscription list (an empty list will put the subscriber into a suspended state)
|
||||||
|
*/
|
||||||
|
Subscription subscription() const override;
|
||||||
|
|
||||||
|
// MARK: - Functions (mutating)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Receive a subscribed event
|
||||||
|
@param event The incoming event
|
||||||
|
@return True if the event should be closed
|
||||||
|
*/
|
||||||
|
bool receive(const active::event::Event& event) override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/*!
|
/*!
|
||||||
Handle the menu selection
|
Handle the menu selection
|
||||||
|
|||||||
@@ -1,23 +1,24 @@
|
|||||||
#include "Connector/Interface/ConnectorPalette.h"
|
#include "Connector/Interface/ConnectorPalette.h"
|
||||||
|
|
||||||
#include "Active/Event/Event.h"
|
#include "Active/Event/Event.h"
|
||||||
#include "Active/Utility/String.h"
|
#include "Active/Setting/ValueSetting.h"
|
||||||
#include "Active/Serialise/JSON/JSONTransport.h"
|
#include "Active/Serialise/JSON/JSONTransport.h"
|
||||||
#include "Active/Utility/BufferOut.h"
|
#include "Active/Utility/BufferOut.h"
|
||||||
|
#include "Active/Utility/String.h"
|
||||||
#include "Connector/Connector.h"
|
#include "Connector/Connector.h"
|
||||||
#include "Connector/ConnectorResource.h"
|
#include "Connector/ConnectorResource.h"
|
||||||
#include "Connector/Event/ConnectorEventID.h"
|
#include "Connector/Event/ConnectorEventID.h"
|
||||||
#include "Connector/Interface/Browser/Bridge/Account/AccountBridge.h"
|
#include "Connector/Interface/Browser/Bridge/Account/AccountBridge.h"
|
||||||
#include "Connector/Interface/Browser/Bridge/Base/BaseBridge.h"
|
#include "Connector/Interface/Browser/Bridge/Base/BaseBridge.h"
|
||||||
#include "Connector/Interface/Browser/Bridge/Config/ConfigBridge.h"
|
#include "Connector/Interface/Browser/Bridge/Config/ConfigBridge.h"
|
||||||
|
#include "Connector/Interface/Browser/Bridge/Receive/ReceiveBridge.h"
|
||||||
#include "Connector/Interface/Browser/Bridge/Send/SendBridge.h"
|
#include "Connector/Interface/Browser/Bridge/Send/SendBridge.h"
|
||||||
#include "Connector/Interface/Browser/Bridge/Selection/SelectionBridge.h"
|
#include "Connector/Interface/Browser/Bridge/Selection/SelectionBridge.h"
|
||||||
#include "Connector/Interface/Browser/Bridge/Test/TestBridge.h"
|
#include "Connector/Interface/Browser/Bridge/Test/TestBridge.h"
|
||||||
#include "Speckle/Environment/Addon.h"
|
#include "Speckle/Environment/Addon.h"
|
||||||
#include "Speckle/Event/Type/MenuEvent.h"
|
#include "Speckle/Event/Type/MenuEvent.h"
|
||||||
#include "Speckle/Interface/Browser/JSPortal.h"
|
|
||||||
|
|
||||||
#include "Speckle/Event/Type/ProjectEvent.h"
|
#include "Speckle/Event/Type/ProjectEvent.h"
|
||||||
|
#include "Speckle/Interface/Browser/JSPortal.h"
|
||||||
|
|
||||||
#include <ACAPinc.h>
|
#include <ACAPinc.h>
|
||||||
#include <DGModule.hpp>
|
#include <DGModule.hpp>
|
||||||
@@ -25,6 +26,7 @@
|
|||||||
|
|
||||||
using namespace active::environment;
|
using namespace active::environment;
|
||||||
using namespace active::event;
|
using namespace active::event;
|
||||||
|
using namespace active::setting;
|
||||||
using namespace connector;
|
using namespace connector;
|
||||||
using namespace speckle::interfac::browser;
|
using namespace speckle::interfac::browser;
|
||||||
using namespace connector::interfac::browser::bridge;
|
using namespace connector::interfac::browser::bridge;
|
||||||
@@ -75,7 +77,7 @@ namespace {
|
|||||||
std::shared_ptr<DG::Browser> browser;
|
std::shared_ptr<DG::Browser> browser;
|
||||||
|
|
||||||
void InitBrowserControl();
|
void InitBrowserControl();
|
||||||
void SetMenuItemCheckedState(bool);
|
void publshVisibilityChange(bool);
|
||||||
|
|
||||||
virtual void PanelResized(const DG::PanelResizeEvent& ev) override;
|
virtual void PanelResized(const DG::PanelResizeEvent& ev) override;
|
||||||
virtual void PanelCloseRequested(const DG::PanelCloseRequestEvent& ev, bool* accepted) override;
|
virtual void PanelCloseRequested(const DG::PanelCloseRequestEvent& ev, bool* accepted) override;
|
||||||
@@ -134,20 +136,19 @@ bool ConnectorPalette::start() {
|
|||||||
return: True if the event should be closed
|
return: True if the event should be closed
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
bool ConnectorPalette::receive(const active::event::Event& event) {
|
bool ConnectorPalette::receive(const active::event::Event& event) {
|
||||||
if (event == toggleConnectorPaletteID) {
|
if (event == toggleConnectorPaletteID) {
|
||||||
if (BrowserPalette::HasInstance() && BrowserPalette::GetInstance().IsVisible()) {
|
if (BrowserPalette::HasInstance() && BrowserPalette::GetInstance().IsVisible()) {
|
||||||
BrowserPalette::GetInstance().Hide();
|
BrowserPalette::GetInstance().Hide();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (!BrowserPalette::HasInstance())
|
if (!BrowserPalette::HasInstance())
|
||||||
BrowserPalette::CreateInstance();
|
BrowserPalette::CreateInstance();
|
||||||
BrowserPalette::GetInstance().Show();
|
BrowserPalette::GetInstance().Show();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ProjectSubscriber::receive(event);
|
|
||||||
|
|
||||||
|
return ProjectSubscriber::receive(event);
|
||||||
} //ConnectorPalette::receive
|
} //ConnectorPalette::receive
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
@@ -198,34 +199,34 @@ static GSErrCode __ACENV_CALL NotificationHandler(API_NotifyEventID notifID, Int
|
|||||||
BrowserPalette::BrowserPalette() :
|
BrowserPalette::BrowserPalette() :
|
||||||
DG::Palette(ACAPI_GetOwnResModule(), BrowserPaletteResId, ACAPI_GetOwnResModule(), paletteGuid) {
|
DG::Palette(ACAPI_GetOwnResModule(), BrowserPaletteResId, ACAPI_GetOwnResModule(), paletteGuid) {
|
||||||
browser = std::make_shared<DG::Browser>(GetReference(), BrowserId);
|
browser = std::make_shared<DG::Browser>(GetReference(), BrowserId);
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
ACAPI_ProjectOperation_CatchProjectEvent(APINotify_Quit, NotificationHandler);
|
ACAPI_ProjectOperation_CatchProjectEvent(APINotify_Quit, NotificationHandler);
|
||||||
|
#else
|
||||||
|
ACAPI_Notify_CatchProjectEvent(APINotify_Quit, NotificationHandler);
|
||||||
|
#endif
|
||||||
Attach(*this);
|
Attach(*this);
|
||||||
BeginEventProcessing();
|
BeginEventProcessing();
|
||||||
//Install required connector bridges
|
//Install required connector bridges
|
||||||
install<AccountBridge>();
|
install<AccountBridge>();
|
||||||
|
|
||||||
if (auto ref = install<BaseBridge>(); ref) {
|
if (auto ref = install<BaseBridge>(); ref) {
|
||||||
if (auto baseBridgeRef = std::dynamic_pointer_cast<BaseBridge>(ref); baseBridgeRef) {
|
if (auto baseBridgeRef = std::dynamic_pointer_cast<BaseBridge>(ref); baseBridgeRef) {
|
||||||
connector::connector()->addWeak(baseBridgeRef);
|
connector::connector()->addWeak(baseBridgeRef);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
install<ConfigBridge>();
|
install<ConfigBridge>();
|
||||||
|
install<ReceiveBridge>();
|
||||||
if (auto ref = install<SendBridge>(); ref) {
|
if (auto ref = install<SendBridge>(); ref) {
|
||||||
if (auto sendBridgeRef = std::dynamic_pointer_cast<SendBridge>(ref); sendBridgeRef) {
|
if (auto sendBridgeRef = std::dynamic_pointer_cast<SendBridge>(ref); sendBridgeRef) {
|
||||||
connector::connector()->addWeak(sendBridgeRef);
|
connector::connector()->addWeak(sendBridgeRef);
|
||||||
sendBridgeRef->start();
|
sendBridgeRef->start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (auto ref = install<SelectionBridge>(); ref) {
|
if (auto ref = install<SelectionBridge>(); ref) {
|
||||||
if (auto selectionBridgeRef = std::dynamic_pointer_cast<SelectionBridge>(ref); selectionBridgeRef) {
|
if (auto selectionBridgeRef = std::dynamic_pointer_cast<SelectionBridge>(ref); selectionBridgeRef) {
|
||||||
connector::connector()->addWeak(selectionBridgeRef);
|
connector::connector()->addWeak(selectionBridgeRef);
|
||||||
selectionBridgeRef->start();
|
selectionBridgeRef->start();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
install<TestBridge>();
|
install<TestBridge>();
|
||||||
InitBrowserControl();
|
InitBrowserControl();
|
||||||
}
|
}
|
||||||
@@ -255,12 +256,12 @@ void BrowserPalette::DestroyInstance() {
|
|||||||
|
|
||||||
void BrowserPalette::Show() {
|
void BrowserPalette::Show() {
|
||||||
DG::Palette::Show();
|
DG::Palette::Show();
|
||||||
SetMenuItemCheckedState(true);
|
publshVisibilityChange(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrowserPalette::Hide() {
|
void BrowserPalette::Hide() {
|
||||||
DG::Palette::Hide();
|
DG::Palette::Hide();
|
||||||
SetMenuItemCheckedState(false);
|
publshVisibilityChange(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrowserPalette::InitBrowserControl() {
|
void BrowserPalette::InitBrowserControl() {
|
||||||
@@ -273,19 +274,9 @@ void BrowserPalette::InitBrowserControl() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void BrowserPalette::SetMenuItemCheckedState(bool isChecked) {
|
void BrowserPalette::publshVisibilityChange(bool isChecked) {
|
||||||
API_MenuItemRef itemRef = {};
|
//Signal that the palette visibility has changed
|
||||||
GSFlags itemFlags = {};
|
app()->publish(Event{reflectPaletteVisibilityID, { ValueSetting{isChecked, paletteVisibilityStateID} }});
|
||||||
|
|
||||||
itemRef.menuResID = BrowserPaletteMenuResId;
|
|
||||||
itemRef.itemIndex = BrowserPaletteMenuItemIndex;
|
|
||||||
|
|
||||||
ACAPI_MenuItem_GetMenuItemFlags(&itemRef, &itemFlags);
|
|
||||||
if(isChecked)
|
|
||||||
itemFlags |= API_MenuItemChecked;
|
|
||||||
else
|
|
||||||
itemFlags &= ~API_MenuItemChecked;
|
|
||||||
ACAPI_MenuItem_SetMenuItemFlags(&itemRef, &itemFlags);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void BrowserPalette::PanelResized(const DG::PanelResizeEvent& ev) {
|
void BrowserPalette::PanelResized(const DG::PanelResizeEvent& ev) {
|
||||||
@@ -319,7 +310,7 @@ GSErrCode __ACENV_CALL BrowserPalette::PaletteControlCallBack(Int32, API_Palette
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case APIPalMsg_HidePalette_End:
|
case APIPalMsg_HidePalette_End:
|
||||||
if (HasInstance() && !GetInstance().IsVisible())
|
if(HasInstance() && !GetInstance().IsVisible())
|
||||||
{
|
{
|
||||||
GetInstance().Show();
|
GetInstance().Show();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ Cargo::Unique DirectSelectionSendFilter::getCargo(const Inventory::Item& item) c
|
|||||||
using namespace active::serialise;
|
using namespace active::serialise;
|
||||||
switch (item.index) {
|
switch (item.index) {
|
||||||
case selectedElemID:
|
case selectedElemID:
|
||||||
return std::make_unique<ContainerWrap<ElementIDList>>(m_selectedElements, false, fieldID[selectedElemID].name);
|
return std::make_unique<ContainerWrap<BIMRecordIDList>>(m_selectedElements, false, fieldID[selectedElemID].name);
|
||||||
default:
|
default:
|
||||||
return nullptr; //Requested an unknown index
|
return nullptr; //Requested an unknown index
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,11 +32,17 @@ namespace connector::record {
|
|||||||
|
|
||||||
// MARK: - Functions (const)
|
// MARK: - Functions (const)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Determine if the send filter contains a specified record ID
|
||||||
|
@param recordID The record ID to search for
|
||||||
|
@return True if the filter contains the record ID
|
||||||
|
*/
|
||||||
|
virtual bool contains(const speckle::database::BIMRecordID& recordID) const override { return m_selectedElements.contains(recordID); }
|
||||||
/*!
|
/*!
|
||||||
Get the filtered element IDs
|
Get the filtered element IDs
|
||||||
@return The filter elements
|
@return The filter elements
|
||||||
*/
|
*/
|
||||||
const speckle::database::ElementIDList& getElementIDs() const override { return m_selectedElements; }
|
const speckle::database::BIMRecordIDList& getElementIDs() const override { return m_selectedElements; }
|
||||||
|
|
||||||
// MARK: - Serialisation
|
// MARK: - Serialisation
|
||||||
|
|
||||||
@@ -59,7 +65,7 @@ namespace connector::record {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
///A list of selected element IDs
|
///A list of selected element IDs
|
||||||
speckle::database::ElementIDList m_selectedElements;
|
speckle::database::BIMRecordIDList m_selectedElements;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ Cargo::Unique EverythingSendFilter::getCargo(const Inventory::Item& item) const
|
|||||||
using namespace active::serialise;
|
using namespace active::serialise;
|
||||||
switch (item.index) {
|
switch (item.index) {
|
||||||
case selectedElemID:
|
case selectedElemID:
|
||||||
return std::make_unique<ContainerWrap<ElementIDList>>(m_emptyList);
|
return std::make_unique<ContainerWrap<BIMRecordIDList>>(m_emptyList);
|
||||||
default:
|
default:
|
||||||
return nullptr; //Requested an unknown index
|
return nullptr; //Requested an unknown index
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -32,17 +32,23 @@ namespace connector::record {
|
|||||||
|
|
||||||
// MARK: - Functions (const)
|
// MARK: - Functions (const)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Determine if the send filter contains a specified record ID
|
||||||
|
@param recordID The record ID to search for
|
||||||
|
@return True if the filter contains the record ID
|
||||||
|
*/
|
||||||
|
virtual bool contains(const speckle::database::BIMRecordID& recordID) const override { return true; }
|
||||||
/*!
|
/*!
|
||||||
Get the filtered element IDs
|
Get the filtered element IDs
|
||||||
@return The filter elements
|
@return The filter elements
|
||||||
*/
|
*/
|
||||||
const speckle::database::ElementIDList& getElementIDs() const override { return m_emptyList; }
|
const speckle::database::BIMRecordIDList& getElementIDs() const override { return m_emptyList; }
|
||||||
/*!
|
/*!
|
||||||
Determine if the filter has expired because an element in the selection has changed
|
Determine if the filter has expired because an element in the selection has changed
|
||||||
@param changed The list of changed element IDs
|
@param changed The list of changed element IDs
|
||||||
@return True if the one of the changed elements is in the selection
|
@return True if the one of the changed elements is in the selection
|
||||||
*/
|
*/
|
||||||
virtual bool checkExpiry(const speckle::database::ElementIDList& changed) const override { return true; }
|
virtual bool checkExpiry(const speckle::database::BIMRecordIDList& changed) const override { return true; }
|
||||||
|
|
||||||
// MARK: - Serialisation
|
// MARK: - Serialisation
|
||||||
|
|
||||||
@@ -65,7 +71,7 @@ namespace connector::record {
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
///Enables a const empty list to be returned
|
///Enables a const empty list to be returned
|
||||||
speckle::database::ElementIDList m_emptyList;
|
speckle::database::BIMRecordIDList m_emptyList;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,12 +34,10 @@ namespace {
|
|||||||
|
|
||||||
return: True if the one of the changed elements is in the selection
|
return: True if the one of the changed elements is in the selection
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
bool SendFilter::checkExpiry(const ElementIDList& changed) const {
|
bool SendFilter::checkExpiry(const BIMRecordIDList& changed) const {
|
||||||
ElementIDList intersect;
|
BIMRecordIDList intersect;
|
||||||
ElementIDList mine{getElementIDs()}, theirs{changed};
|
BIMRecordIDList mine{getElementIDs()}, theirs{changed};
|
||||||
std::sort(mine.begin(), mine.end());
|
std::set_intersection(mine.begin(), mine.end(), theirs.begin(), theirs.end(), std::inserter(intersect, intersect.begin()));
|
||||||
std::sort(theirs.begin(), theirs.end());
|
|
||||||
std::set_intersection (mine.begin(), mine.end(), theirs.begin(), theirs.end(), std::back_inserter(intersect));
|
|
||||||
return !intersect.empty();
|
return !intersect.empty();
|
||||||
} //SendFilter::checkExpiry
|
} //SendFilter::checkExpiry
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@
|
|||||||
#include "Active/Serialise/Package/Package.h"
|
#include "Active/Serialise/Package/Package.h"
|
||||||
#include "Active/Utility/Cloner.h"
|
#include "Active/Utility/Cloner.h"
|
||||||
#include "Speckle/Database/Identity/RecordID.h"
|
#include "Speckle/Database/Identity/RecordID.h"
|
||||||
|
#include "Speckle/Database/Identity/BIMRecordID.h"
|
||||||
#include "Speckle/Utility/String.h"
|
#include "Speckle/Utility/String.h"
|
||||||
|
|
||||||
namespace connector::record {
|
namespace connector::record {
|
||||||
@@ -55,17 +56,23 @@ namespace connector::record {
|
|||||||
@return True if this is the default filter
|
@return True if this is the default filter
|
||||||
*/
|
*/
|
||||||
bool isDefault() const { return m_isDefault; };
|
bool isDefault() const { return m_isDefault; };
|
||||||
|
/*!
|
||||||
|
Determine if the send filter contains a specified record ID
|
||||||
|
@param recordID The record ID to search for
|
||||||
|
@return True if the filter contains the record ID
|
||||||
|
*/
|
||||||
|
virtual bool contains(const speckle::database::BIMRecordID& recordID) const = 0;
|
||||||
/*!
|
/*!
|
||||||
Get the filtered element IDs
|
Get the filtered element IDs
|
||||||
@return The filter elements
|
@return The filter elements
|
||||||
*/
|
*/
|
||||||
virtual const speckle::database::ElementIDList& getElementIDs() const = 0;
|
virtual const speckle::database::BIMRecordIDList& getElementIDs() const = 0;
|
||||||
/*!
|
/*!
|
||||||
Determine if the filter has expired because an element in the selection has changed
|
Determine if the filter has expired because an element in the selection has changed
|
||||||
@param changed The list of changed element IDs
|
@param changed The list of changed element IDs
|
||||||
@return True if the one of the changed elements is in the selection
|
@return True if the one of the changed elements is in the selection
|
||||||
*/
|
*/
|
||||||
virtual bool checkExpiry(const speckle::database::ElementIDList& changed) const;
|
virtual bool checkExpiry(const speckle::database::BIMRecordIDList& changed) const;
|
||||||
|
|
||||||
// MARK: - Serialisation
|
// MARK: - Serialisation
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
#include "Active/Serialise/Item/Wrapper/ValueWrap.h"
|
#include "Active/Serialise/Item/Wrapper/ValueWrap.h"
|
||||||
#include "Active/Serialise/Package/Wrapper/ContainerWrap.h"
|
#include "Active/Serialise/Package/Wrapper/ContainerWrap.h"
|
||||||
|
#include "Speckle/Database/Identity/BIMRecordID.h"
|
||||||
|
|
||||||
#include <array>
|
#include <array>
|
||||||
|
|
||||||
@@ -81,7 +82,7 @@ Cargo::Unique ReceiverModelCard::getCargo(const Inventory::Item& item) const {
|
|||||||
case warningDismissedID:
|
case warningDismissedID:
|
||||||
return std::make_unique<BoolWrap>(m_hasDismissedUpdateWarning);
|
return std::make_unique<BoolWrap>(m_hasDismissedUpdateWarning);
|
||||||
case bakedObjectsID:
|
case bakedObjectsID:
|
||||||
return std::make_unique<ContainerWrap<ElementIDList>>(m_bakedObjectIDs);
|
return std::make_unique<ContainerWrap<BIMRecordIDList>>(m_bakedObjectIDs);
|
||||||
default:
|
default:
|
||||||
return nullptr; //Requested an unknown index
|
return nullptr; //Requested an unknown index
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
#ifndef CONNECTOR_RECORD_RECEIVER_MODEL_CARD
|
#ifndef CONNECTOR_RECORD_RECEIVER_MODEL_CARD
|
||||||
#define CONNECTOR_RECORD_RECEIVER_MODEL_CARD
|
#define CONNECTOR_RECORD_RECEIVER_MODEL_CARD
|
||||||
|
|
||||||
#include "Speckle/Database/Identity/RecordID.h"
|
#include "Speckle/Database/Identity/BIMRecordID.h"
|
||||||
#include "Connector/Record/Model/ModelCard.h"
|
#include "Connector/Record/Model/ModelCard.h"
|
||||||
|
|
||||||
namespace connector::record {
|
namespace connector::record {
|
||||||
@@ -37,7 +37,7 @@ namespace connector::record {
|
|||||||
const speckle::database::RecordID& modelID, const speckle::utility::String& modelName,
|
const speckle::database::RecordID& modelID, const speckle::utility::String& modelName,
|
||||||
const speckle::database::RecordID& selectedVersion, const speckle::database::RecordID& latestVersion,
|
const speckle::database::RecordID& selectedVersion, const speckle::database::RecordID& latestVersion,
|
||||||
const speckle::database::RecordID& accountID, const speckle::utility::String& serverURL,
|
const speckle::database::RecordID& accountID, const speckle::utility::String& serverURL,
|
||||||
bool hasDimissedWarning, speckle::database::ElementIDList&& bakedObjects, const SettingList& settings) :
|
bool hasDimissedWarning, speckle::database::BIMRecordIDList&& bakedObjects, const SettingList& settings) :
|
||||||
ModelCard{modelID, projectID, accountID, serverURL, settings},
|
ModelCard{modelID, projectID, accountID, serverURL, settings},
|
||||||
m_projectName{projectName}, m_modelName{modelName}, m_selectedVersionID{selectedVersion}, m_latestVersionID{latestVersion},
|
m_projectName{projectName}, m_modelName{modelName}, m_selectedVersionID{selectedVersion}, m_latestVersionID{latestVersion},
|
||||||
m_hasDismissedUpdateWarning{hasDimissedWarning}, m_bakedObjectIDs{bakedObjects} {}
|
m_hasDismissedUpdateWarning{hasDimissedWarning}, m_bakedObjectIDs{bakedObjects} {}
|
||||||
@@ -78,7 +78,7 @@ namespace connector::record {
|
|||||||
Get the IDs of objects accepted in the receive
|
Get the IDs of objects accepted in the receive
|
||||||
@return The accepted object IDs
|
@return The accepted object IDs
|
||||||
*/
|
*/
|
||||||
const speckle::database::ElementIDList& getBakedObjectIDs() const { return m_bakedObjectIDs; }
|
const speckle::database::BIMRecordIDList& getBakedObjectIDs() const { return m_bakedObjectIDs; }
|
||||||
|
|
||||||
// MARK: - Serialisation
|
// MARK: - Serialisation
|
||||||
|
|
||||||
@@ -111,7 +111,7 @@ namespace connector::record {
|
|||||||
///True if the user has already dismissed an alert to update
|
///True if the user has already dismissed an alert to update
|
||||||
bool m_hasDismissedUpdateWarning = false;
|
bool m_hasDismissedUpdateWarning = false;
|
||||||
///IDs of objects accepted in the receive
|
///IDs of objects accepted in the receive
|
||||||
speckle::database::ElementIDList m_bakedObjectIDs;
|
speckle::database::BIMRecordIDList m_bakedObjectIDs;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -61,6 +61,18 @@ SenderModelCard::~SenderModelCard() {
|
|||||||
} //SenderModelCard::~SenderModelCard
|
} //SenderModelCard::~SenderModelCard
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Determine if the send filter contains a specified record ID
|
||||||
|
|
||||||
|
recordID: The record ID to search for
|
||||||
|
|
||||||
|
return: True if the filter contains the record ID
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
bool SenderModelCard::contains(const speckle::database::BIMRecordID& recordID) const {
|
||||||
|
return m_filter->contains(recordID);
|
||||||
|
} //SenderModelCard::contains
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
Fill an inventory with the package items
|
Fill an inventory with the package items
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#define CONNECTOR_RECORD_SENDER_MODEL_CARD
|
#define CONNECTOR_RECORD_SENDER_MODEL_CARD
|
||||||
|
|
||||||
#include "Connector/Record/Model/ModelCard.h"
|
#include "Connector/Record/Model/ModelCard.h"
|
||||||
|
#include "Speckle/Database/Identity/BIMRecordID.h"
|
||||||
|
|
||||||
namespace connector::record {
|
namespace connector::record {
|
||||||
|
|
||||||
@@ -46,6 +47,12 @@ namespace connector::record {
|
|||||||
|
|
||||||
// MARK: - Functions (const)
|
// MARK: - Functions (const)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Determine if the send filter contains a specified record ID
|
||||||
|
@param recordID The record ID to search for
|
||||||
|
@return True if the filter contains the record ID
|
||||||
|
*/
|
||||||
|
bool contains(const speckle::database::BIMRecordID& recordID) const;
|
||||||
/*!
|
/*!
|
||||||
Get the filter applied when the model was sent
|
Get the filter applied when the model was sent
|
||||||
@return The model filter
|
@return The model filter
|
||||||
|
|||||||
@@ -0,0 +1,123 @@
|
|||||||
|
#include "Connector/Tool/ElementHighlighter.h"
|
||||||
|
|
||||||
|
#include "Active/Database/Transaction.h"
|
||||||
|
#include "Active/Event/Event.h"
|
||||||
|
#include "Connector/Connector.h"
|
||||||
|
#include "Connector/ConnectorResource.h"
|
||||||
|
#include "Connector/Environment/ConnectorProject.h"
|
||||||
|
#include "Connector/Event/ConnectorEventID.h"
|
||||||
|
#include "Speckle/Database/BIMAttributeDatabase.h"
|
||||||
|
#include "Speckle/Database/BIMElementDatabase.h"
|
||||||
|
#include "Speckle/Database/Identity/BIMLink.h"
|
||||||
|
#include "Speckle/Environment/Host.h"
|
||||||
|
#include "Speckle/Record/Filter/ElementVisibilityCollector.h"
|
||||||
|
#include "Speckle/Utility/Guid.h"
|
||||||
|
|
||||||
|
using namespace active::database;
|
||||||
|
using namespace active::event;
|
||||||
|
using namespace active::setting;
|
||||||
|
using namespace connector;
|
||||||
|
using namespace connector::environment;
|
||||||
|
using namespace speckle::database;
|
||||||
|
using namespace speckle::environment;
|
||||||
|
using namespace speckle::record;
|
||||||
|
using namespace speckle::utility;
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Transaction to make a selection of layers visible
|
||||||
|
*/
|
||||||
|
class ShowLayers : public Transaction {
|
||||||
|
public:
|
||||||
|
/*!
|
||||||
|
Constructor
|
||||||
|
@param project The target project
|
||||||
|
@param layers The layers in the project to be made visible
|
||||||
|
*/
|
||||||
|
ShowLayers(Project::Shared project, ElementVisibilityCollector::Layers& layers) :
|
||||||
|
Transaction{connector::connector()->getLocalString(titleString, showLayersID)}, m_project{project}, m_layers{layers} {}
|
||||||
|
|
||||||
|
protected:
|
||||||
|
|
||||||
|
//MARK: - Functions (App management)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Perform the transaction. Database writes can be performed. NB: this function is not called if the prepare phase was unsuccessful)
|
||||||
|
@return True if the transaction was successfully performed
|
||||||
|
*/
|
||||||
|
bool perform() override {
|
||||||
|
auto attributeDatabase = m_project->getAttributeDatabase();
|
||||||
|
for (auto& layer : m_layers) {
|
||||||
|
if (layer.second.isHidden()) {
|
||||||
|
layer.second.setHidden(false);
|
||||||
|
attributeDatabase->write(layer.second);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
private:
|
||||||
|
///The target project for showing layers
|
||||||
|
Project::Shared m_project;
|
||||||
|
///The layers to be made visible
|
||||||
|
ElementVisibilityCollector::Layers& m_layers;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Get the event subscription list
|
||||||
|
|
||||||
|
return: The subscription list (an empty list will put the subscriber into a suspended state)
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
Subscriber::Subscription ElementHighlighter::subscription() const {
|
||||||
|
return Subscription{setElementHighlight};
|
||||||
|
} //ElementHighlighter::subscription
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Receive a subscribed event
|
||||||
|
|
||||||
|
event: The incoming event
|
||||||
|
|
||||||
|
return: True if the event should be closed
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
bool ElementHighlighter::receive(const active::event::Event& event) {
|
||||||
|
//Collect the IDs of elements to be highlighted
|
||||||
|
ValueSetting* elementIDs = nullptr;
|
||||||
|
if (elementIDs = event.findValue(recordLinks); elementIDs == nullptr)
|
||||||
|
return false;
|
||||||
|
BIMLinkList elementSelection;
|
||||||
|
for (const auto& value : *elementIDs)
|
||||||
|
if (Guid guid{value->operator active::utility::Guid()}; guid)
|
||||||
|
elementSelection.emplace_back(guid);
|
||||||
|
if (elementSelection.empty())
|
||||||
|
return false;
|
||||||
|
auto project = connector()->getActiveProject().lock();
|
||||||
|
auto connectorProject = dynamic_cast<ConnectorProject*>(project.get());
|
||||||
|
if (!connectorProject)
|
||||||
|
return false;
|
||||||
|
auto elementDatabase = project->getElementDatabase();
|
||||||
|
//Collect the layers assigned to the model card elements
|
||||||
|
ElementVisibilityCollector collector;
|
||||||
|
BIMElementDatabase::Filter filter = [&collector](const speckle::record::element::Element& elem) { return collector(elem); };
|
||||||
|
elementDatabase->findElements(&filter, elementSelection);
|
||||||
|
//If any collected layers are hidden, the useer is prompted to show them (otherwise they may see nothing happen when a model card is clicked)
|
||||||
|
for (const auto& layer : collector.getLayers()) {
|
||||||
|
if (layer.second.isHidden()) {
|
||||||
|
//If a hidden layer is found, ask the user before taking any action
|
||||||
|
if (host()->displayConfirmation(addon()->getLocalString(notifyString, showHiddenLayersID))) {
|
||||||
|
//Run a transaction to ensure all layers are visible
|
||||||
|
ShowLayers showLayers{project, collector.getLayers()};
|
||||||
|
connector()->makeTransaction(showLayers);
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
host()->makeModelViewActive();
|
||||||
|
elementDatabase->clearSelection();
|
||||||
|
elementDatabase->setSelection(elementSelection);
|
||||||
|
host()->zoomToFit(true);
|
||||||
|
return false;
|
||||||
|
} //ElementHighlighter::receive
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
#ifndef CONNECTOR_ELEMENT_HIGHLIGHTER
|
||||||
|
#define CONNECTOR_ELEMENT_HIGHLIGHTER
|
||||||
|
|
||||||
|
#include "Active/Event/Subscriber.h"
|
||||||
|
|
||||||
|
namespace connector {
|
||||||
|
|
||||||
|
class ElementHighlighter : public active::event::Subscriber {
|
||||||
|
public:
|
||||||
|
/*!
|
||||||
|
Get the event subscription list
|
||||||
|
@return The subscription list (an empty list will put the subscriber into a suspended state)
|
||||||
|
*/
|
||||||
|
Subscription subscription() const override;
|
||||||
|
|
||||||
|
// MARK: - Functions (mutating)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Receive a subscribed event
|
||||||
|
@param event The incoming event
|
||||||
|
@return True if the event should be closed
|
||||||
|
*/
|
||||||
|
bool receive(const active::event::Event& event) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif //CONNECTOR_ELEMENT_HIGHLIGHTER
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
#include "ActiveLibDoctest/TestingPlatforms.h"
|
||||||
|
|
||||||
|
#include "Connector/Record/Model/CardMover.h"
|
||||||
|
#include "Connector/Record/Model/ModelCard.h"
|
||||||
|
#include "Active/Serialise/CargoHold.h"
|
||||||
|
#include "Active/Serialise/JSON/JSONTransport.h"
|
||||||
|
#include "Active/Utility/BufferIn.h"
|
||||||
|
#include "Speckle/Utility/String.h"
|
||||||
|
|
||||||
|
namespace {
|
||||||
|
|
||||||
|
speckle::utility::String json{"{\n\
|
||||||
|
\"typeDiscriminator\": \"SenderModelCard\",\n\
|
||||||
|
\"modelCardId\": \"8a007ac08b43771ec20d\",\n\
|
||||||
|
\"modelId\": \"c9b5a4fa94\",\n\
|
||||||
|
\"projectId\": \"ce9a0d130e\",\n\
|
||||||
|
\"workspaceId\": \"10ee1c0f73\",\n\
|
||||||
|
\"accountId\": \"5724C96F3FF796628292B6E67E86CC2F\",\n\
|
||||||
|
\"serverUrl\": \"https://app.speckle.systems\",\n\
|
||||||
|
\"expired\": false,\n\
|
||||||
|
\"sendFilter\": {\n\
|
||||||
|
\"typeDiscriminator\": \"ArchicadSelectionFilter\",\n\
|
||||||
|
\"selectedObjectIds\": [\n\
|
||||||
|
\"7B531D03-0219-420F-BE86-633451AEF19B\"\n\
|
||||||
|
],\n\
|
||||||
|
\"name\": \"Selection\",\n\
|
||||||
|
\"summary\": \"1 objects selected.\"\n\
|
||||||
|
}\n\
|
||||||
|
}"};
|
||||||
|
|
||||||
|
}
|
||||||
|
using namespace speckle::utility;
|
||||||
|
|
||||||
|
TEST_SUITE(TESTQ(ModelCardSerialiseTest)) TEST_SUITE_OPEN
|
||||||
|
|
||||||
|
///Test for deserialising a ModelCard
|
||||||
|
TEST_CASE(TESTQ(deserialiseModelCard)) {
|
||||||
|
using CardHold = active::serialise::CargoHold<connector::record::CardMover, connector::record::ModelCard>;
|
||||||
|
CardHold result;
|
||||||
|
active::serialise::json::JSONTransport().receive(std::forward<CardHold&&>(result), active::serialise::Identity{}, json);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST_SUITE_CLOSE
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ImportGroup Label="PropertySheets" />
|
||||||
|
<PropertyGroup Label="UserMacros">
|
||||||
|
<HEADER_PATH_7>$(SolutionDir)RINT.$(BIM_PLATFORM)/$(LOCALISATION_SUFFIX)</HEADER_PATH_7>
|
||||||
|
<WORD_SIZE>64</WORD_SIZE>
|
||||||
|
<BASE_NAME>Speckle Connector</BASE_NAME>
|
||||||
|
<DISPLAY_NAME>$(BASE_NAME)</DISPLAY_NAME>
|
||||||
|
<WRAPPER_EXTENSION>apx</WRAPPER_EXTENSION>
|
||||||
|
<LOCALISATION_SUFFIX>EN-GB</LOCALISATION_SUFFIX>
|
||||||
|
<EXEC_PATH>$(BIM_PATH)</EXEC_PATH>
|
||||||
|
<INSTALL_FOLDER>$(BASE_NAME)Win$(WORD_SIZE)-$(BIM_PLATFORM)$(BIM_VERSION)-$(LOCALISATION_SUFFIX)</INSTALL_FOLDER>
|
||||||
|
<INSTALL_PATH>$(SolutionDir)Install/$(BASE_NAME)/$(LOCALISATION_SUFFIX)</INSTALL_PATH>
|
||||||
|
<PLUGIN_FOLDER>Add-Ons</PLUGIN_FOLDER>
|
||||||
|
<RESOURCE_EXTENSION>lcf</RESOURCE_EXTENSION>
|
||||||
|
<RES_OUTPUT>$(SolutionDir)ResourceObjects</RES_OUTPUT>
|
||||||
|
<RES_SOURCE>$(SolutionDir)RFIX.Win</RES_SOURCE>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup />
|
||||||
|
<ItemDefinitionGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<BuildMacro Include="HEADER_PATH_7">
|
||||||
|
<Value>$(HEADER_PATH_7)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WORD_SIZE">
|
||||||
|
<Value>$(WORD_SIZE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BASE_NAME">
|
||||||
|
<Value>$(BASE_NAME)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="DISPLAY_NAME">
|
||||||
|
<Value>$(DISPLAY_NAME)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WRAPPER_EXTENSION">
|
||||||
|
<Value>$(WRAPPER_EXTENSION)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="LOCALISATION_SUFFIX">
|
||||||
|
<Value>$(LOCALISATION_SUFFIX)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="EXEC_PATH">
|
||||||
|
<Value>$(EXEC_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="INSTALL_FOLDER">
|
||||||
|
<Value>$(INSTALL_FOLDER)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="INSTALL_PATH">
|
||||||
|
<Value>$(INSTALL_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="PLUGIN_FOLDER">
|
||||||
|
<Value>$(PLUGIN_FOLDER)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RESOURCE_EXTENSION">
|
||||||
|
<Value>$(RESOURCE_EXTENSION)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RES_OUTPUT">
|
||||||
|
<Value>$(RES_OUTPUT)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RES_SOURCE">
|
||||||
|
<Value>$(RES_SOURCE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ImportGroup Label="PropertySheets" />
|
||||||
|
<PropertyGroup Label="UserMacros">
|
||||||
|
<HEADER_PATH_7>$(SolutionDir)RINT.$(BIM_PLATFORM)/$(LOCALISATION_SUFFIX)</HEADER_PATH_7>
|
||||||
|
<WORD_SIZE>64</WORD_SIZE>
|
||||||
|
<BASE_NAME>Speckle Connector</BASE_NAME>
|
||||||
|
<DISPLAY_NAME>$(BASE_NAME)</DISPLAY_NAME>
|
||||||
|
<WRAPPER_EXTENSION>apx</WRAPPER_EXTENSION>
|
||||||
|
<LOCALISATION_SUFFIX>EN-GB</LOCALISATION_SUFFIX>
|
||||||
|
<EXEC_PATH>$(BIM_PATH)</EXEC_PATH>
|
||||||
|
<INSTALL_FOLDER>$(BASE_NAME)Win$(WORD_SIZE)-$(BIM_PLATFORM)$(BIM_VERSION)-$(LOCALISATION_SUFFIX)</INSTALL_FOLDER>
|
||||||
|
<INSTALL_PATH>$(SolutionDir)Install/$(BASE_NAME)/$(LOCALISATION_SUFFIX)</INSTALL_PATH>
|
||||||
|
<PLUGIN_FOLDER>Add-Ons</PLUGIN_FOLDER>
|
||||||
|
<RESOURCE_EXTENSION>lcf</RESOURCE_EXTENSION>
|
||||||
|
<RES_OUTPUT>$(SolutionDir)ResourceObjects</RES_OUTPUT>
|
||||||
|
<RES_SOURCE>$(SolutionDir)RFIX.Win</RES_SOURCE>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup />
|
||||||
|
<ItemDefinitionGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<BuildMacro Include="HEADER_PATH_7">
|
||||||
|
<Value>$(HEADER_PATH_7)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WORD_SIZE">
|
||||||
|
<Value>$(WORD_SIZE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BASE_NAME">
|
||||||
|
<Value>$(BASE_NAME)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="DISPLAY_NAME">
|
||||||
|
<Value>$(DISPLAY_NAME)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WRAPPER_EXTENSION">
|
||||||
|
<Value>$(WRAPPER_EXTENSION)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="LOCALISATION_SUFFIX">
|
||||||
|
<Value>$(LOCALISATION_SUFFIX)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="EXEC_PATH">
|
||||||
|
<Value>$(EXEC_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="INSTALL_FOLDER">
|
||||||
|
<Value>$(INSTALL_FOLDER)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="INSTALL_PATH">
|
||||||
|
<Value>$(INSTALL_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="PLUGIN_FOLDER">
|
||||||
|
<Value>$(PLUGIN_FOLDER)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RESOURCE_EXTENSION">
|
||||||
|
<Value>$(RESOURCE_EXTENSION)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RES_OUTPUT">
|
||||||
|
<Value>$(RES_OUTPUT)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RES_SOURCE">
|
||||||
|
<Value>$(RES_SOURCE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ImportGroup Label="PropertySheets" />
|
||||||
|
<PropertyGroup Label="UserMacros">
|
||||||
|
<HEADER_PATH_7>$(SolutionDir)RINT.$(BIM_PLATFORM)/$(LOCALISATION_SUFFIX)</HEADER_PATH_7>
|
||||||
|
<WORD_SIZE>64</WORD_SIZE>
|
||||||
|
<BASE_NAME>Speckle Connector</BASE_NAME>
|
||||||
|
<DISPLAY_NAME>$(BASE_NAME)</DISPLAY_NAME>
|
||||||
|
<WRAPPER_EXTENSION>apx</WRAPPER_EXTENSION>
|
||||||
|
<LOCALISATION_SUFFIX>EN-GB</LOCALISATION_SUFFIX>
|
||||||
|
<EXEC_PATH>$(BIM_PATH)</EXEC_PATH>
|
||||||
|
<INSTALL_FOLDER>$(BASE_NAME)Win$(WORD_SIZE)-$(BIM_PLATFORM)$(BIM_VERSION)-$(LOCALISATION_SUFFIX)</INSTALL_FOLDER>
|
||||||
|
<INSTALL_PATH>$(SolutionDir)Install/$(BASE_NAME)/$(LOCALISATION_SUFFIX)</INSTALL_PATH>
|
||||||
|
<PLUGIN_FOLDER>Add-Ons</PLUGIN_FOLDER>
|
||||||
|
<RESOURCE_EXTENSION>lcf</RESOURCE_EXTENSION>
|
||||||
|
<RES_OUTPUT>$(SolutionDir)ResourceObjects</RES_OUTPUT>
|
||||||
|
<RES_SOURCE>$(SolutionDir)RFIX.Win</RES_SOURCE>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup />
|
||||||
|
<ItemDefinitionGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<BuildMacro Include="HEADER_PATH_7">
|
||||||
|
<Value>$(HEADER_PATH_7)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WORD_SIZE">
|
||||||
|
<Value>$(WORD_SIZE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BASE_NAME">
|
||||||
|
<Value>$(BASE_NAME)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="DISPLAY_NAME">
|
||||||
|
<Value>$(DISPLAY_NAME)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WRAPPER_EXTENSION">
|
||||||
|
<Value>$(WRAPPER_EXTENSION)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="LOCALISATION_SUFFIX">
|
||||||
|
<Value>$(LOCALISATION_SUFFIX)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="EXEC_PATH">
|
||||||
|
<Value>$(EXEC_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="INSTALL_FOLDER">
|
||||||
|
<Value>$(INSTALL_FOLDER)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="INSTALL_PATH">
|
||||||
|
<Value>$(INSTALL_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="PLUGIN_FOLDER">
|
||||||
|
<Value>$(PLUGIN_FOLDER)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RESOURCE_EXTENSION">
|
||||||
|
<Value>$(RESOURCE_EXTENSION)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RES_OUTPUT">
|
||||||
|
<Value>$(RES_OUTPUT)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="RES_SOURCE">
|
||||||
|
<Value>$(RES_SOURCE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleGetInfoString</key>
|
||||||
|
<string>Speckle Connector for Archicad 25</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>ArchiCADPlugin.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>Speckle Connector</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>.APX</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>Speckle Connector</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>GSAP</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||||
|
<key>LSRequiresCarbon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleGetInfoString</key>
|
||||||
|
<string>Speckle Connector for Archicad 26</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>ArchiCADPlugin.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>Speckle Connector</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>.APX</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>Speckle Connector</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>GSAP</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||||
|
<key>LSRequiresCarbon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
|
<plist version="1.0">
|
||||||
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>English</string>
|
||||||
|
<key>CFBundleGetInfoString</key>
|
||||||
|
<string>Speckle Connector for Archicad 28</string>
|
||||||
|
<key>CFBundleIconFile</key>
|
||||||
|
<string>ArchiCADPlugin.icns</string>
|
||||||
|
<key>CFBundleIdentifier</key>
|
||||||
|
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||||
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
<string>6.0</string>
|
||||||
|
<key>CFBundleName</key>
|
||||||
|
<string>Speckle Connector</string>
|
||||||
|
<key>CFBundlePackageType</key>
|
||||||
|
<string>.APX</string>
|
||||||
|
<key>CFBundleShortVersionString</key>
|
||||||
|
<string>Speckle Connector</string>
|
||||||
|
<key>CFBundleSignature</key>
|
||||||
|
<string>GSAP</string>
|
||||||
|
<key>CFBundleVersion</key>
|
||||||
|
<string>1.0</string>
|
||||||
|
<key>LSMinimumSystemVersion</key>
|
||||||
|
<string>$(MACOSX_DEPLOYMENT_TARGET)</string>
|
||||||
|
<key>LSRequiresCarbon</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
|
</plist>
|
||||||
@@ -2,8 +2,15 @@
|
|||||||
/* [ 1] */ "Speckle Connector"
|
/* [ 1] */ "Speckle Connector"
|
||||||
/* [ 2] */ "Connector to share model content with Speckle"
|
/* [ 2] */ "Connector to share model content with Speckle"
|
||||||
/* [ 3] */ "No level"
|
/* [ 3] */ "No level"
|
||||||
|
/* [ 4] */ "Show Layers"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
'STR#' 32602 "Notify strings" {
|
||||||
|
/* [ 1] */ "Some elements published with the selected model card are on hidden layers - do you wish to make these layers visible?"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
'STR#' 32604 "Error strings" {
|
'STR#' 32604 "Error strings" {
|
||||||
/* [ 1] */ "No objects were found to convert. Please update your publish filter!"
|
/* [ 1] */ "No objects were found to convert. Please update your publish filter!"
|
||||||
/* [ 2] */ "The specified model card cannot be found. Try another card or create a new one"
|
/* [ 2] */ "The specified model card cannot be found. Try another card or create a new one"
|
||||||
|
|||||||
@@ -41,23 +41,19 @@ class ResourceCompiler (object):
|
|||||||
return True
|
return True
|
||||||
|
|
||||||
def RunResConv (self, platformSign, codepage, inputFilePath, nativeResourceFileExtenion):
|
def RunResConv (self, platformSign, codepage, inputFilePath, nativeResourceFileExtenion):
|
||||||
resourcesFolders = [
|
imageResourcesFolder = os.path.join (self.resourcesPath, 'RFIX', 'Images')
|
||||||
os.path.join (self.resourcesPath, 'RFIX', 'Images'),
|
|
||||||
os.path.join (self.resourcesPath, 'RFIX')
|
|
||||||
]
|
|
||||||
inputFileBaseName = os.path.splitext (os.path.split (inputFilePath)[1])[0]
|
inputFileBaseName = os.path.splitext (os.path.split (inputFilePath)[1])[0]
|
||||||
nativeResourceFilePath = os.path.join (self.resourceObjectsPath, inputFileBaseName + nativeResourceFileExtenion)
|
nativeResourceFilePath = os.path.join (self.resourceObjectsPath, inputFileBaseName + nativeResourceFileExtenion)
|
||||||
buildcommand = [
|
result = subprocess.call ([
|
||||||
self.resConvPath,
|
self.resConvPath,
|
||||||
'-m', 'r', # resource compile mode
|
'-m', 'r', # resource compile mode
|
||||||
'-T', platformSign, # target platform
|
'-T', platformSign, # target platform
|
||||||
'-q', 'utf8', codepage, # code page conversion
|
'-q', 'utf8', codepage, # code page conversion
|
||||||
'-w', '2', # HiDPI image size list
|
'-w', '2', # HiDPI image size list
|
||||||
'-p', ';'.join (resourcesFolders), # resource search paths
|
'-p', imageResourcesFolder, # image search path
|
||||||
'-i', inputFilePath, # input path
|
'-i', inputFilePath, # input path
|
||||||
'-o', nativeResourceFilePath # output path
|
'-o', nativeResourceFilePath # output path
|
||||||
]
|
])
|
||||||
result = subprocess.call (buildcommand)
|
|
||||||
if result != 0:
|
if result != 0:
|
||||||
return False
|
return False
|
||||||
return True
|
return True
|
||||||
@@ -98,13 +94,13 @@ class WinResourceCompiler (ResourceCompiler):
|
|||||||
'/I', os.path.join (self.devKitPath, 'Support', 'Modules', 'DGLib'),
|
'/I', os.path.join (self.devKitPath, 'Support', 'Modules', 'DGLib'),
|
||||||
'/I', self.sourcesPath,
|
'/I', self.sourcesPath,
|
||||||
'/DWINDOWS',
|
'/DWINDOWS',
|
||||||
'/utf-8',
|
'/execution-charset:utf-8',
|
||||||
'/Fi{}'.format (precompiledGrcFilePath),
|
'/Fi{}'.format (precompiledGrcFilePath),
|
||||||
grcFilePath,
|
grcFilePath,
|
||||||
])
|
])
|
||||||
if result != 0:
|
if result != 0:
|
||||||
return False
|
return False
|
||||||
return self.RunResConv ('W', 'utf8', precompiledGrcFilePath, '.rc2')
|
return self.RunResConv ('W', '1252', precompiledGrcFilePath, '.rc2')
|
||||||
|
|
||||||
def CompileNativeResource (self, resultResourcePath):
|
def CompileNativeResource (self, resultResourcePath):
|
||||||
nativeResourceFiles = self.CollectFilesFromFolderWithExtension (os.path.join (self.resourcesPath, 'RFIX.win'), '.rc2')
|
nativeResourceFiles = self.CollectFilesFromFolderWithExtension (os.path.join (self.resourcesPath, 'RFIX.win'), '.rc2')
|
||||||
@@ -116,7 +112,6 @@ class WinResourceCompiler (ResourceCompiler):
|
|||||||
return False
|
return False
|
||||||
result = subprocess.call ([
|
result = subprocess.call ([
|
||||||
'rc',
|
'rc',
|
||||||
'/c65001',
|
|
||||||
'/i', os.path.join (self.devKitPath, 'Support', 'Inc'),
|
'/i', os.path.join (self.devKitPath, 'Support', 'Inc'),
|
||||||
'/i', os.path.join (self.devKitPath, 'Support', 'Modules', 'DGLib'),
|
'/i', os.path.join (self.devKitPath, 'Support', 'Modules', 'DGLib'),
|
||||||
'/i', self.sourcesPath,
|
'/i', self.sourcesPath,
|
||||||
|
|||||||
@@ -0,0 +1,280 @@
|
|||||||
|
#! /usr/bin/perl -w
|
||||||
|
|
||||||
|
use FindBin ;
|
||||||
|
use File::Spec::Functions qw(splitpath catfile updir);
|
||||||
|
use File::Copy;
|
||||||
|
use Cwd;
|
||||||
|
|
||||||
|
my $os;
|
||||||
|
my $devKitPath;
|
||||||
|
my $acVersion = $ENV{BIM_VERSION};
|
||||||
|
|
||||||
|
if ($^O =~ /MSWin/) {
|
||||||
|
$os = "Win";
|
||||||
|
} else {
|
||||||
|
$os = "Mac";
|
||||||
|
}
|
||||||
|
$devKitPath = catfile ($FindBin::Bin, updir (), updir (), "ArchiCAD " . $acVersion);
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Strip redundant expressions from the target file
|
||||||
|
|
||||||
|
# $targetDirectory: The target directory
|
||||||
|
# $$targetFile: The target file
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
sub StripRedundancies ($$)
|
||||||
|
{
|
||||||
|
my ($source, $destination) = @_ ;
|
||||||
|
|
||||||
|
open my $fh, "< :raw", $source or die "Cannot open $filename for reading: $!\n";
|
||||||
|
my $saved_sep = $/;
|
||||||
|
undef $/;
|
||||||
|
$content = <$fh>;
|
||||||
|
close ($fh) or die "Can't close file: $!";
|
||||||
|
#Strip out comments
|
||||||
|
$content =~ s { ( [^"'/]*
|
||||||
|
+r comment.
|
||||||
|
| "[^\\"]*(?:\\.[^\\"]*)*"
|
||||||
|
| '[^\\']*(?:\\.[^\\']*)*'
|
||||||
|
| / (?![*])
|
||||||
|
)
|
||||||
|
|
|
||||||
|
( /[*] [^*]* (?: [*] [^*/]* )* [*]/ )
|
||||||
|
}
|
||||||
|
{ $2 ? "" : $1 }gsex;
|
||||||
|
open $fh, "+> :raw", $destination or die "Cannot open $filename for writing: $!\n";
|
||||||
|
print $fh $content;
|
||||||
|
$/ = $saved_sep;
|
||||||
|
close ($fh) or die "Can't close file: $!";
|
||||||
|
} #StripRedundancies
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Convert all image resources to the svg format for AC >= 20
|
||||||
|
|
||||||
|
# $intermediaryFile: The target file
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
sub UpdateSVG($)
|
||||||
|
{
|
||||||
|
my ($target) = @_;
|
||||||
|
open my $fh, "< :raw", $target or die "Cannot open $filename for reading: $!\n";
|
||||||
|
local $/ = undef;
|
||||||
|
$contents = <$fh>;
|
||||||
|
close ($fh) or die "Can't close file: $!";
|
||||||
|
my @svg_defs = ();
|
||||||
|
while ($contents =~ /('GBMP'|'GICN')\s*(\d{5})\s*("[^"]*")\s*\{/sg)
|
||||||
|
{
|
||||||
|
push @svg_defs, "'GICN' $2 $3 {\n}\n\n";
|
||||||
|
}
|
||||||
|
if (@svg_defs) {
|
||||||
|
open $fh, "> :raw", $target or die "Cannot open $filename for writing: $!\n";
|
||||||
|
print $fh "@ #include \"MDIDs_APICD.h\"\n\n";
|
||||||
|
print $fh @svg_defs;
|
||||||
|
close ($fh) or die "Can't close file: $!";
|
||||||
|
}
|
||||||
|
} #UpdateSVG
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Executes one GRC conversion command
|
||||||
|
|
||||||
|
# tool: Path to the GRC converter tool
|
||||||
|
# headerDir: Path to headers included in resource files
|
||||||
|
# sourceDir: Path to the input GRC source directory
|
||||||
|
# inputFile: Name of the input GRC file
|
||||||
|
# destinationDir: Path to the output native resource file directory
|
||||||
|
# localCode: The localisation code, e.g. "EN-GB"
|
||||||
|
# platformName: Name of the target platform, e.g. "ArchiCAD18"
|
||||||
|
# resourcePath: Optional path to any supplementary resources, e.g. images
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
sub DoGRC ($$$$$$$$)
|
||||||
|
{
|
||||||
|
my ($tool, $headerDir, $sourceDir, $inputFile, $destinationDir, $localCode, $platformName, $resourcePath) = @_ ;
|
||||||
|
#Get the bare resource name
|
||||||
|
my $outputName = $inputFile;
|
||||||
|
$outputName =~ s/.grc//;
|
||||||
|
#And extract the version number (if found)
|
||||||
|
my ($outputNumber) = $outputName =~ /([0-9]+)$/;
|
||||||
|
#If it has a version that doesn't match this build, we don't want it
|
||||||
|
if ($outputNumber) {
|
||||||
|
if ($outputNumber != $ENV{BIM_VERSION}) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
$outputName =~ s/$outputNumber\z//;
|
||||||
|
}
|
||||||
|
my $outputFile = $outputName . ".ro";
|
||||||
|
my $imageRes = "";
|
||||||
|
#Optional path to a resource directory
|
||||||
|
if ($resourcePath ne "") {
|
||||||
|
if ($ENV{BIM_VERSION} > 16) {
|
||||||
|
$resourcePath = " -p \"" . $resourcePath . "\"";
|
||||||
|
if ($ENV{BIM_VERSION} >= 20) {
|
||||||
|
$imageRes = " -w 2";
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$resourcePath = " -j .roo -p \"" . $resourcePath . "\""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#Create the destination directory
|
||||||
|
if ( $localCode ne "" ) {
|
||||||
|
$destinationDir = catfile ($destinationDir, $localCode) ;
|
||||||
|
}
|
||||||
|
mkdir $destinationDir;
|
||||||
|
$destinationDir = catfile ($destinationDir, $platformName);
|
||||||
|
mkdir $destinationDir;
|
||||||
|
#Run the tool on the file
|
||||||
|
print "\t$inputFile\n";
|
||||||
|
my $toolOptions = "";
|
||||||
|
if ($os eq "Win") {
|
||||||
|
$toolOptions = " -m r -q utf8 0 -T W";
|
||||||
|
} else {
|
||||||
|
$toolOptions = " -m r -q utf8 utf16 -T M -n";
|
||||||
|
}
|
||||||
|
my $intermediaryFile = catfile ($destinationDir, $outputFile .".i");
|
||||||
|
if ($os eq "Win") {
|
||||||
|
StripRedundancies(catfile ($sourceDir, $inputFile), $intermediaryFile);
|
||||||
|
}
|
||||||
|
if ($os eq "Mac") {
|
||||||
|
my $frameworkVersion = catfile ($ENV{FRAMEWORK_PATH}, "Speckle" . $acVersion );
|
||||||
|
my $incHeaderDir = catfile (Cwd::realpath ($devKitPath), "Support", "Inc");
|
||||||
|
system ("xcrun clang -x c++ -E -P -DPREPROCESS_GRC -DGS_64BIT -Dmacintosh -DINT__APP -I \"" . $headerDir . "\" -I \"" . $incHeaderDir . "\" -I \"" . $frameworkVersion . "\" \"" . catfile ($sourceDir, $inputFile) . "\" > \"" . $intermediaryFile . "\"");
|
||||||
|
}
|
||||||
|
UpdateSVG($intermediaryFile);
|
||||||
|
if ($os eq "Win") {
|
||||||
|
chdir($devKitPath);
|
||||||
|
}
|
||||||
|
system ($tool . $toolOptions . " -i \"" . $intermediaryFile . "\"" . $resourcePath . " -o \"" . catfile ($destinationDir, $outputFile) . "\"" . $imageRes);
|
||||||
|
unlink($intermediaryFile);
|
||||||
|
} #DoGRC
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Main - Convert GRC files
|
||||||
|
|
||||||
|
my ($localCode) = $ENV{LOCALISATION_SUFFIX};
|
||||||
|
my $suffix = ".r" . $acVersion;
|
||||||
|
my $fixed = "RFIX";
|
||||||
|
my $output = "RO";
|
||||||
|
my $platform = "ArchiCAD" . $acVersion;
|
||||||
|
my $baseName = $ENV{BASE_NAME};
|
||||||
|
my $makeResConvTool;
|
||||||
|
if ($os eq "Win") {
|
||||||
|
$makeResConvTool = catfile ("Support", "Tools", "Win", "ResConv");
|
||||||
|
} else {
|
||||||
|
$makeResConvTool = "\"" . catfile (Cwd::realpath ($devKitPath), "Support", "Tools", "OSX", "ResConv") . "\"";
|
||||||
|
}
|
||||||
|
my $projectPath = $ENV{PROJECT_PATH};
|
||||||
|
my $resTarget = catfile ($ENV{TARGET_BUILD_DIR}, $ENV{UNLOCALIZED_RESOURCES_FOLDER_PATH});
|
||||||
|
my $roFolder = catfile ($projectPath, $output);
|
||||||
|
my $rfixFolder = catfile ($projectPath, $fixed);
|
||||||
|
my $rintFolder = catfile ($projectPath, "RINT", $localCode);
|
||||||
|
my $srcFolder = catfile ($projectPath, "Src");
|
||||||
|
my @files;
|
||||||
|
|
||||||
|
print "Converting resource files:\n";
|
||||||
|
mkdir $roFolder;
|
||||||
|
#Convert the project fixed resources
|
||||||
|
print $projectPath . "RFIX\n";
|
||||||
|
opendir (DIR, catfile ($projectPath, "RFIX"));
|
||||||
|
@files = readdir (DIR);
|
||||||
|
closedir (DIR);
|
||||||
|
foreach $path (@files) {
|
||||||
|
($volume,$directories,$file) = splitpath ($path);
|
||||||
|
DoGRC ($makeResConvTool, $srcFolder, $rfixFolder, $file, $roFolder, $fixed, $platform, catfile ($projectPath, "RFIX/Images") ) if ($file =~ /.*\.grc$/i);
|
||||||
|
}
|
||||||
|
#Convert the project localisable resources
|
||||||
|
opendir (DIR, $rintFolder);
|
||||||
|
@files = readdir (DIR);
|
||||||
|
closedir (DIR);
|
||||||
|
foreach $path (@files) {
|
||||||
|
($volume,$directories,$file) = splitpath ($path);
|
||||||
|
if ((index($file, "Subtype") != -1) || (index($file, "SubType") != -1)) {
|
||||||
|
DoGRC ($makeResConvTool, $srcFolder, $rintFolder, $file, $roFolder, $localCode, $platform, catfile ($projectPath, "GDL", $baseName, $localCode, $os, $platform, "Built-in") ) if ($file =~ /.*\.grc$/i);
|
||||||
|
} else {
|
||||||
|
DoGRC ($makeResConvTool, $srcFolder, $rintFolder, $file, $roFolder, $localCode, $platform, "") if ($file =~ /.*\.grc$/i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Copy tiff resources
|
||||||
|
|
||||||
|
$roFolder = catfile ($projectPath, $output, $fixed, $platform);
|
||||||
|
opendir (DIR, $roFolder);
|
||||||
|
@files = readdir (DIR);
|
||||||
|
closedir (DIR);
|
||||||
|
mkdir $resTarget;
|
||||||
|
foreach $file (@files) {
|
||||||
|
copy (catfile ($roFolder, $file), $resTarget) if ($file =~ /.*\.tif$/);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Copy localisable resource files and merge string resources to "Localizable.strings"
|
||||||
|
|
||||||
|
if (($os eq "Mac") && ($ENV{BIM_VERSION} > 17)) {
|
||||||
|
|
||||||
|
$roFolder = catfile ($projectPath, $output, $localCode, $platform);
|
||||||
|
|
||||||
|
my $localResources = $ENV{LANGUAGE_NAME} . ".lproj";
|
||||||
|
system ("mkdir -p \"" . catfile ($resTarget, $localResources) . "\"") ;
|
||||||
|
my $locStrings = catfile ($resTarget, $localResources, "Localizable.strings");
|
||||||
|
open (OFILE, ">:encoding(UTF-16LE)", $locStrings) or die "Can't create file: $!";
|
||||||
|
my $buf = "\x{feff}";
|
||||||
|
print OFILE $buf;
|
||||||
|
printf "\t=> Localizable resources\n";
|
||||||
|
opendir (DIR, $roFolder);
|
||||||
|
@files = readdir (DIR);
|
||||||
|
closedir (DIR);
|
||||||
|
undef $/; # enable slurp mode
|
||||||
|
foreach $file (@files) {
|
||||||
|
if ($file =~ /.*\.strings$/) {
|
||||||
|
printf "\t\t$file\n";
|
||||||
|
my $stringsFile = catfile ($roFolder, $file);
|
||||||
|
if ((stat ($stringsFile))[7] > 2) { # check file size
|
||||||
|
open (IFILE, "<:encoding(UTF-16LE)", $stringsFile) or die "Can't open file: $!";
|
||||||
|
|
||||||
|
read (IFILE, $buf, 1); # skip byte order mark
|
||||||
|
if ($buf ne "\x{feff}") {
|
||||||
|
print OFILE $buf;
|
||||||
|
}
|
||||||
|
|
||||||
|
my $content = <IFILE>;
|
||||||
|
close (IFILE) or die "Can't close file: $!";
|
||||||
|
|
||||||
|
print OFILE $content;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ($file =~ /.*\.rsrd$/) {
|
||||||
|
printf "\t\t$file\n";
|
||||||
|
copy (catfile ($roFolder, $file), catfile ($resTarget, $localResources));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close (OFILE) or die "Can't close $locStrings: $!";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#-----------------------------------------------------------------------
|
||||||
|
# Copy nonlocalisable resource files
|
||||||
|
|
||||||
|
if ($os eq "Mac") {
|
||||||
|
|
||||||
|
$roFolder = catfile ($projectPath, $output, $fixed, $platform);
|
||||||
|
|
||||||
|
my $localResources = $ENV{LANGUAGE_NAME} . ".lproj";
|
||||||
|
system ("mkdir -p \"" . catfile ($resTarget, $localResources) . "\"") ;
|
||||||
|
printf "\t=> Fixed resources\n";
|
||||||
|
opendir (DIR, $roFolder);
|
||||||
|
@files = readdir (DIR);
|
||||||
|
closedir (DIR);
|
||||||
|
foreach $file (@files) {
|
||||||
|
if ($file =~ /.*\.rsrd$/) {
|
||||||
|
printf "\t\t$file\n";
|
||||||
|
copy (catfile ($roFolder, $file), catfile ($resTarget, $localResources));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print "done.\n";
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ImportGroup Label="PropertySheets" />
|
||||||
|
<PropertyGroup Label="UserMacros">
|
||||||
|
<BIM_VERSION>25</BIM_VERSION>
|
||||||
|
<BIM_PLATFORM>ARCHICAD</BIM_PLATFORM>
|
||||||
|
<BIM_PATH>C:\Program Files\Graphisoft\$(BIM_PLATFORM) $(BIM_VERSION)</BIM_PATH>
|
||||||
|
<HEADER_PATH_1>$(SolutionDir)..\..\ActiveLib</HEADER_PATH_1>
|
||||||
|
<HEADER_PATH_2>$(SolutionDir)</HEADER_PATH_2>
|
||||||
|
<HEADER_PATH_3>$(SolutionDir)..\SpeckleLib\Make.win</HEADER_PATH_3>
|
||||||
|
<HEADER_PATH_4>$(SolutionDir)..\SpeckleLib</HEADER_PATH_4>
|
||||||
|
<HEADER_PATH_5>$(SolutionDir)..\..\$(BIM_PLATFORM) $(BIM_VERSION)\Support</HEADER_PATH_5>
|
||||||
|
<HEADER_PATH_6>$(SolutionDir)</HEADER_PATH_6>
|
||||||
|
<WORD_SIZE>64</WORD_SIZE>
|
||||||
|
<ARCHICAD>1</ARCHICAD>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup />
|
||||||
|
<ItemDefinitionGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<BuildMacro Include="BIM_VERSION">
|
||||||
|
<Value>$(BIM_VERSION)</Value>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BIM_PLATFORM">
|
||||||
|
<Value>$(BIM_PLATFORM)</Value>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BIM_PATH">
|
||||||
|
<Value>$(BIM_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_1">
|
||||||
|
<Value>$(HEADER_PATH_1)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_2">
|
||||||
|
<Value>$(HEADER_PATH_2)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_3">
|
||||||
|
<Value>$(HEADER_PATH_3)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_4">
|
||||||
|
<Value>$(HEADER_PATH_4)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_5">
|
||||||
|
<Value>$(HEADER_PATH_5)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_6">
|
||||||
|
<Value>$(HEADER_PATH_6)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WORD_SIZE">
|
||||||
|
<Value>$(WORD_SIZE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="ARCHICAD">
|
||||||
|
<Value>$(ARCHICAD)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ImportGroup Label="PropertySheets" />
|
||||||
|
<PropertyGroup Label="UserMacros">
|
||||||
|
<BIM_VERSION>26</BIM_VERSION>
|
||||||
|
<BIM_PLATFORM>ARCHICAD</BIM_PLATFORM>
|
||||||
|
<BIM_PATH>C:\Program Files\Graphisoft\$(BIM_PLATFORM) $(BIM_VERSION)</BIM_PATH>
|
||||||
|
<HEADER_PATH_1>$(SolutionDir)..\..\ActiveLib</HEADER_PATH_1>
|
||||||
|
<HEADER_PATH_2>$(SolutionDir)</HEADER_PATH_2>
|
||||||
|
<HEADER_PATH_3>$(SolutionDir)..\..\$(BIM_PLATFORM) $(BIM_VERSION)\Support\Tools</HEADER_PATH_3>
|
||||||
|
<HEADER_PATH_4>$(SolutionDir)..\SpeckleLib</HEADER_PATH_4>
|
||||||
|
<HEADER_PATH_5>$(SolutionDir)..\..\$(BIM_PLATFORM) $(BIM_VERSION)\Support</HEADER_PATH_5>
|
||||||
|
<HEADER_PATH_6>$(SolutionDir)</HEADER_PATH_6>
|
||||||
|
<WORD_SIZE>64</WORD_SIZE>
|
||||||
|
<ARCHICAD>1</ARCHICAD>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup />
|
||||||
|
<ItemDefinitionGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<BuildMacro Include="BIM_VERSION">
|
||||||
|
<Value>$(BIM_VERSION)</Value>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BIM_PLATFORM">
|
||||||
|
<Value>$(BIM_PLATFORM)</Value>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BIM_PATH">
|
||||||
|
<Value>$(BIM_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_1">
|
||||||
|
<Value>$(HEADER_PATH_1)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_2">
|
||||||
|
<Value>$(HEADER_PATH_2)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_3">
|
||||||
|
<Value>$(HEADER_PATH_3)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_4">
|
||||||
|
<Value>$(HEADER_PATH_4)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_5">
|
||||||
|
<Value>$(HEADER_PATH_5)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_6">
|
||||||
|
<Value>$(HEADER_PATH_6)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WORD_SIZE">
|
||||||
|
<Value>$(WORD_SIZE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="ARCHICAD">
|
||||||
|
<Value>$(ARCHICAD)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -7,8 +7,7 @@
|
|||||||
<BIM_PATH>C:\Program Files\Graphisoft\$(BIM_PLATFORM) $(BIM_VERSION)</BIM_PATH>
|
<BIM_PATH>C:\Program Files\Graphisoft\$(BIM_PLATFORM) $(BIM_VERSION)</BIM_PATH>
|
||||||
<HEADER_PATH_1>$(SolutionDir)..\..\ActiveLib</HEADER_PATH_1>
|
<HEADER_PATH_1>$(SolutionDir)..\..\ActiveLib</HEADER_PATH_1>
|
||||||
<HEADER_PATH_2>$(SolutionDir)</HEADER_PATH_2>
|
<HEADER_PATH_2>$(SolutionDir)</HEADER_PATH_2>
|
||||||
<HEADER_PATH_3>
|
<HEADER_PATH_3>$(SolutionDir)..\..\$(BIM_PLATFORM) $(BIM_VERSION)\Support\Tools</HEADER_PATH_3>
|
||||||
</HEADER_PATH_3>
|
|
||||||
<HEADER_PATH_4>$(SolutionDir)..\SpeckleLib</HEADER_PATH_4>
|
<HEADER_PATH_4>$(SolutionDir)..\SpeckleLib</HEADER_PATH_4>
|
||||||
<HEADER_PATH_5>$(SolutionDir)..\..\$(BIM_PLATFORM) $(BIM_VERSION)\Support</HEADER_PATH_5>
|
<HEADER_PATH_5>$(SolutionDir)..\..\$(BIM_PLATFORM) $(BIM_VERSION)\Support</HEADER_PATH_5>
|
||||||
<HEADER_PATH_6>$(SolutionDir)</HEADER_PATH_6>
|
<HEADER_PATH_6>$(SolutionDir)</HEADER_PATH_6>
|
||||||
|
|||||||
@@ -0,0 +1,63 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<ImportGroup Label="PropertySheets" />
|
||||||
|
<PropertyGroup Label="UserMacros">
|
||||||
|
<BIM_VERSION>28</BIM_VERSION>
|
||||||
|
<BIM_PLATFORM>ARCHICAD</BIM_PLATFORM>
|
||||||
|
<BIM_PATH>C:\Program Files\Graphisoft\$(BIM_PLATFORM) $(BIM_VERSION)</BIM_PATH>
|
||||||
|
<HEADER_PATH_1>$(SolutionDir)..\..\ActiveLib</HEADER_PATH_1>
|
||||||
|
<HEADER_PATH_2>$(SolutionDir)</HEADER_PATH_2>
|
||||||
|
<HEADER_PATH_3>$(SolutionDir)..\..\$(BIM_PLATFORM) $(BIM_VERSION)\Support\Tools</HEADER_PATH_3>
|
||||||
|
<HEADER_PATH_4>$(SolutionDir)..\SpeckleLib</HEADER_PATH_4>
|
||||||
|
<HEADER_PATH_5>$(SolutionDir)..\..\$(BIM_PLATFORM) $(BIM_VERSION)\Support</HEADER_PATH_5>
|
||||||
|
<HEADER_PATH_6>$(SolutionDir)</HEADER_PATH_6>
|
||||||
|
<WORD_SIZE>64</WORD_SIZE>
|
||||||
|
<ARCHICAD>1</ARCHICAD>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup />
|
||||||
|
<ItemDefinitionGroup />
|
||||||
|
<ItemGroup>
|
||||||
|
<BuildMacro Include="BIM_VERSION">
|
||||||
|
<Value>$(BIM_VERSION)</Value>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BIM_PLATFORM">
|
||||||
|
<Value>$(BIM_PLATFORM)</Value>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="BIM_PATH">
|
||||||
|
<Value>$(BIM_PATH)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_1">
|
||||||
|
<Value>$(HEADER_PATH_1)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_2">
|
||||||
|
<Value>$(HEADER_PATH_2)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_3">
|
||||||
|
<Value>$(HEADER_PATH_3)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_4">
|
||||||
|
<Value>$(HEADER_PATH_4)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_5">
|
||||||
|
<Value>$(HEADER_PATH_5)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="HEADER_PATH_6">
|
||||||
|
<Value>$(HEADER_PATH_6)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="WORD_SIZE">
|
||||||
|
<Value>$(WORD_SIZE)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
<BuildMacro Include="ARCHICAD">
|
||||||
|
<Value>$(ARCHICAD)</Value>
|
||||||
|
<EnvironmentVariable>true</EnvironmentVariable>
|
||||||
|
</BuildMacro>
|
||||||
|
</ItemGroup>
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,212 @@
|
|||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import platform
|
||||||
|
import subprocess
|
||||||
|
import shutil
|
||||||
|
import codecs
|
||||||
|
import glob
|
||||||
|
|
||||||
|
class ResourceCompiler (object):
|
||||||
|
def __init__ (self, devKitPath, languageCode, sourcesPath, resourcesPath, resourceObjectsPath):
|
||||||
|
self.devKitPath = devKitPath
|
||||||
|
self.languageCode = languageCode
|
||||||
|
self.sourcesPath = sourcesPath
|
||||||
|
self.resourcesPath = resourcesPath
|
||||||
|
self.resourceObjectsPath = resourceObjectsPath
|
||||||
|
self.resConvPath = None
|
||||||
|
|
||||||
|
def IsValid (self):
|
||||||
|
if self.resConvPath == None:
|
||||||
|
return False
|
||||||
|
if not os.path.exists (self.resConvPath):
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
def CompileLocalizedResources (self):
|
||||||
|
locResourcesFolder = os.path.join (self.resourcesPath, 'R' + self.languageCode)
|
||||||
|
grcFiles = self.CollectFilesFromFolderWithExtension (locResourcesFolder, '.grc')
|
||||||
|
for grcFilePath in grcFiles:
|
||||||
|
if not self.CompileResourceFile (grcFilePath):
|
||||||
|
print ('Failed to compile resource: ' + grcFilePath)
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
def CompileFixResources (self):
|
||||||
|
fixResourcesFolder = os.path.join (self.resourcesPath, 'RFIX')
|
||||||
|
grcFiles = self.CollectFilesFromFolderWithExtension (fixResourcesFolder, '.grc')
|
||||||
|
for grcFilePath in grcFiles:
|
||||||
|
if not self.CompileResourceFile (grcFilePath):
|
||||||
|
print ('Failed to compile resource: ' + grcFilePath)
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
def RunResConv (self, platformSign, codepage, inputFilePath, nativeResourceFileExtenion):
|
||||||
|
imageResourcesFolder = os.path.join (self.resourcesPath, 'RFIX', 'Images')
|
||||||
|
inputFileBaseName = os.path.splitext (os.path.split (inputFilePath)[1])[0]
|
||||||
|
nativeResourceFilePath = os.path.join (self.resourceObjectsPath, inputFileBaseName + nativeResourceFileExtenion)
|
||||||
|
result = subprocess.call ([
|
||||||
|
self.resConvPath,
|
||||||
|
'-m', 'r', # resource compile mode
|
||||||
|
'-T', platformSign, # target platform
|
||||||
|
'-q', 'utf8', codepage, # code page conversion
|
||||||
|
'-w', '2', # HiDPI image size list
|
||||||
|
'-p', imageResourcesFolder, # image search path
|
||||||
|
'-i', inputFilePath, # input path
|
||||||
|
'-o', nativeResourceFilePath # output path
|
||||||
|
])
|
||||||
|
if result != 0:
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
def CollectFilesFromFolderWithExtension (self, folderPath, extension):
|
||||||
|
result = []
|
||||||
|
for fileName in os.listdir (folderPath):
|
||||||
|
fileExtension = os.path.splitext (fileName)[1]
|
||||||
|
if fileExtension == extension:
|
||||||
|
fullPath = os.path.join (folderPath, fileName)
|
||||||
|
result.append (fullPath)
|
||||||
|
return result
|
||||||
|
|
||||||
|
def CollectFilesFromFolderRecursive (self, path, name):
|
||||||
|
result = []
|
||||||
|
for folder, subs, files in os.walk (path):
|
||||||
|
for fileName in files + subs:
|
||||||
|
if fileName.lower () == name.lower ():
|
||||||
|
fullPath = os.path.join (folder, fileName)
|
||||||
|
result.append (fullPath)
|
||||||
|
return result
|
||||||
|
|
||||||
|
class WinResourceCompiler (ResourceCompiler):
|
||||||
|
def __init__ (self, devKitPath, languageCode, sourcesPath, resourcesPath, resourceObjectsPath):
|
||||||
|
super (WinResourceCompiler, self).__init__ (devKitPath, languageCode, sourcesPath, resourcesPath, resourceObjectsPath)
|
||||||
|
self.resConvPath = os.path.join (devKitPath, 'Support', 'Tools', 'Win', 'ResConv.exe')
|
||||||
|
|
||||||
|
def CompileResourceFile (self, grcFilePath):
|
||||||
|
grcFileName = os.path.split (grcFilePath)[1]
|
||||||
|
precompiledGrcFilePath = os.path.join (self.resourceObjectsPath, grcFileName + '.i')
|
||||||
|
result = subprocess.call ([
|
||||||
|
'cl',
|
||||||
|
'/nologo',
|
||||||
|
'/X',
|
||||||
|
'/EP',
|
||||||
|
'/P',
|
||||||
|
'/I', os.path.join (self.devKitPath, 'Support', 'Inc'),
|
||||||
|
'/I', os.path.join (self.devKitPath, 'Support', 'Modules', 'DGLib'),
|
||||||
|
'/I', self.sourcesPath,
|
||||||
|
'/DWINDOWS',
|
||||||
|
'/execution-charset:utf-8',
|
||||||
|
'/Fi{}'.format (precompiledGrcFilePath),
|
||||||
|
grcFilePath,
|
||||||
|
])
|
||||||
|
if result != 0:
|
||||||
|
return False
|
||||||
|
return self.RunResConv ('W', '1252', precompiledGrcFilePath, '.rc2')
|
||||||
|
|
||||||
|
def CompileNativeResource (self, resultResourcePath):
|
||||||
|
nativeResourceFiles = self.CollectFilesFromFolderWithExtension (os.path.join (self.resourcesPath, 'RFIX.win'), '.rc2')
|
||||||
|
if not nativeResourceFiles:
|
||||||
|
print ('Native resource file was not found')
|
||||||
|
return False
|
||||||
|
if len (nativeResourceFiles) > 1:
|
||||||
|
print ('More than one native resource file was found')
|
||||||
|
return False
|
||||||
|
result = subprocess.call ([
|
||||||
|
'rc',
|
||||||
|
'/i', os.path.join (self.devKitPath, 'Support', 'Inc'),
|
||||||
|
'/i', os.path.join (self.devKitPath, 'Support', 'Modules', 'DGLib'),
|
||||||
|
'/i', self.sourcesPath,
|
||||||
|
'/i', self.resourceObjectsPath,
|
||||||
|
'/fo', resultResourcePath,
|
||||||
|
nativeResourceFiles[0]
|
||||||
|
])
|
||||||
|
if result != 0:
|
||||||
|
print ('Failed to compile native resource')
|
||||||
|
return False
|
||||||
|
return True
|
||||||
|
|
||||||
|
class MacResourceCompiler (ResourceCompiler):
|
||||||
|
def __init__ (self, devKitPath, languageCode, sourcesPath, resourcesPath, resourceObjectsPath):
|
||||||
|
super (MacResourceCompiler, self).__init__ (devKitPath, languageCode, sourcesPath, resourcesPath, resourceObjectsPath)
|
||||||
|
self.resConvPath = os.path.join (devKitPath, 'Support', 'Tools', 'OSX', 'ResConv')
|
||||||
|
|
||||||
|
def CompileResourceFile (self, grcFilePath):
|
||||||
|
grcFileName = os.path.split (grcFilePath)[1]
|
||||||
|
precompiledGrcFilePath = os.path.join (self.resourceObjectsPath, grcFileName + '.i')
|
||||||
|
result = subprocess.call ([
|
||||||
|
'clang',
|
||||||
|
'-x', 'c++',
|
||||||
|
'-E',
|
||||||
|
'-P',
|
||||||
|
'-Dmacintosh',
|
||||||
|
'-I', os.path.join (self.devKitPath, 'Support', 'Inc'),
|
||||||
|
'-I', os.path.join (self.devKitPath, 'Support', 'Modules', 'DGLib'),
|
||||||
|
'-I', self.sourcesPath,
|
||||||
|
'-o', precompiledGrcFilePath,
|
||||||
|
grcFilePath,
|
||||||
|
])
|
||||||
|
if result != 0:
|
||||||
|
return False
|
||||||
|
return self.RunResConv ('M', 'utf16', precompiledGrcFilePath, '.ro')
|
||||||
|
|
||||||
|
def CompileNativeResource (self, resultResourcePath):
|
||||||
|
resultLocalizedResourcePath = os.path.join (resultResourcePath, 'English.lproj')
|
||||||
|
if not os.path.exists (resultLocalizedResourcePath):
|
||||||
|
os.makedirs (resultLocalizedResourcePath)
|
||||||
|
resultLocalizableStringsPath = os.path.join (resultLocalizedResourcePath, 'Localizable.strings')
|
||||||
|
resultLocalizableStringsFile = codecs.open (resultLocalizableStringsPath, 'w', 'utf-16')
|
||||||
|
for fileName in os.listdir (self.resourceObjectsPath):
|
||||||
|
filePath = os.path.join (self.resourceObjectsPath, fileName)
|
||||||
|
extension = os.path.splitext (fileName)[1]
|
||||||
|
if extension == '.tif':
|
||||||
|
shutil.copy (filePath, resultResourcePath)
|
||||||
|
elif extension == '.rsrd':
|
||||||
|
shutil.copy (filePath, resultLocalizedResourcePath)
|
||||||
|
elif extension == '.strings':
|
||||||
|
stringsFile = codecs.open (filePath, 'r', 'utf-16')
|
||||||
|
resultLocalizableStringsFile.write (stringsFile.read ())
|
||||||
|
stringsFile.close ()
|
||||||
|
resultLocalizableStringsFile.close ()
|
||||||
|
return True
|
||||||
|
|
||||||
|
def Main (argv):
|
||||||
|
if len (argv) != 7:
|
||||||
|
print ('Usage: CompileResources.py <languageCode> <devKitPath> <sourcesPath> <resourcesPath> <resourceObjectsPath> <resultResourcePath>')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
currentDir = os.path.dirname (os.path.abspath (__file__))
|
||||||
|
os.chdir (currentDir)
|
||||||
|
|
||||||
|
languageCode = argv[1]
|
||||||
|
devKitPath = os.path.abspath (argv[2])
|
||||||
|
sourcesPath = os.path.abspath (argv[3])
|
||||||
|
resourcesPath = os.path.abspath (argv[4])
|
||||||
|
resourceObjectsPath = os.path.abspath (argv[5])
|
||||||
|
resultResourcePath = os.path.abspath (argv[6])
|
||||||
|
|
||||||
|
resourceCompiler = None
|
||||||
|
system = platform.system ()
|
||||||
|
if system == 'Windows':
|
||||||
|
resourceCompiler = WinResourceCompiler (devKitPath, languageCode, sourcesPath, resourcesPath, resourceObjectsPath)
|
||||||
|
elif system == 'Darwin':
|
||||||
|
resourceCompiler = MacResourceCompiler (devKitPath, languageCode, sourcesPath, resourcesPath, resourceObjectsPath)
|
||||||
|
|
||||||
|
if resourceCompiler == None:
|
||||||
|
print ('Platform is not supported')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
if not resourceCompiler.IsValid ():
|
||||||
|
print ('Invalid resource compiler')
|
||||||
|
return 1
|
||||||
|
|
||||||
|
if not resourceCompiler.CompileLocalizedResources ():
|
||||||
|
return 1
|
||||||
|
|
||||||
|
if not resourceCompiler.CompileFixResources ():
|
||||||
|
return 1
|
||||||
|
|
||||||
|
if not resourceCompiler.CompileNativeResource (resultResourcePath):
|
||||||
|
return 1
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
sys.exit (Main (sys.argv))
|
||||||
@@ -3,7 +3,7 @@ REM AC Resource build script
|
|||||||
ECHO "Building AC Resources"
|
ECHO "Building AC Resources"
|
||||||
|
|
||||||
if not exist "%RES_OUTPUT%" MD "%RES_OUTPUT%"
|
if not exist "%RES_OUTPUT%" MD "%RES_OUTPUT%"
|
||||||
python "%HEADER_PATH_5%\Tools\CompileResources.py" "INT" "%HEADER_PATH_5%\.." "%HEADER_PATH_6%\Connector" "%SYMROOT%\" "%RES_OUTPUT%" "%RES_SOURCE%\Speckle Connector.apx.mui"
|
python "%HEADER_PATH_3%\CompileResources.py" "INT" "%HEADER_PATH_5%\.." "%HEADER_PATH_6%\Connector" "%SYMROOT%\" "%RES_OUTPUT%" "%RES_SOURCE%\Speckle Connector.apx.mui"
|
||||||
python "%HEADER_PATH_5%\Tools\CompileResources.py" "INT" "%HEADER_PATH_5%\.." "%HEADER_PATH_4%\Speckle" "%HEADER_PATH_4%" "%RES_OUTPUT%" "%RES_SOURCE%\Speckle Connector.apx.mui"
|
python "%HEADER_PATH_3%\CompileResources.py" "INT" "%HEADER_PATH_5%\.." "%HEADER_PATH_4%\Speckle" "%HEADER_PATH_4%" "%RES_OUTPUT%" "%RES_SOURCE%\Speckle Connector.apx.mui"
|
||||||
|
|
||||||
ECHO "Finished AC Resource"
|
ECHO "Finished AC Resource"
|
||||||
|
|||||||
@@ -2,4 +2,9 @@
|
|||||||
/* [ 1] */ "Untitled"
|
/* [ 1] */ "Untitled"
|
||||||
/* [ 2] */ "Unknown"
|
/* [ 2] */ "Unknown"
|
||||||
/* [ 3] */ "Converting elements"
|
/* [ 3] */ "Converting elements"
|
||||||
|
/* [ 4] */ "Notification"
|
||||||
|
/* [ 5] */ "Confirm"
|
||||||
|
/* [ 6] */ "Yes"
|
||||||
|
/* [ 7] */ "No"
|
||||||
|
/* [ 8] */ "OK"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ namespace speckle::database {
|
|||||||
|
|
||||||
///Attribute database engine declaration
|
///Attribute database engine declaration
|
||||||
class BIMAttributeDatabase::Engine : public AttributeDatabaseEngine {
|
class BIMAttributeDatabase::Engine : public AttributeDatabaseEngine {
|
||||||
using base = ArchicadAttributeDBaseEngine;
|
using base = AttributeDatabaseEngine;
|
||||||
using base::base;
|
using base::base;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -102,7 +102,7 @@ Vector<Attribute> BIMAttributeDatabase::getAttributes() const {
|
|||||||
|
|
||||||
attribute: The attribute to write
|
attribute: The attribute to write
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void BIMAttributeDatabase::write(const Attribute& attribute) const {
|
void BIMAttributeDatabase::write(Attribute& attribute) const {
|
||||||
m_store->write(attribute);
|
m_store->write(attribute);
|
||||||
} //BIMAttributeDatabase::write
|
} //BIMAttributeDatabase::write
|
||||||
|
|
||||||
|
|||||||
@@ -55,7 +55,7 @@ namespace speckle::database {
|
|||||||
Write an attribute to storage
|
Write an attribute to storage
|
||||||
@param attribute The attribute to write
|
@param attribute The attribute to write
|
||||||
*/
|
*/
|
||||||
void write(const record::attribute::Attribute& attribute) const;
|
void write(record::attribute::Attribute& attribute) const;
|
||||||
/*!
|
/*!
|
||||||
Erase an attribute
|
Erase an attribute
|
||||||
@param attributeID The ID of the attribute to erase
|
@param attributeID The ID of the attribute to erase
|
||||||
|
|||||||
@@ -148,14 +148,15 @@ void BIMElementDatabase::clearSelection() const {
|
|||||||
Find a filtered list of objects
|
Find a filtered list of objects
|
||||||
|
|
||||||
filter: The object filter (nullptr = find all objects)
|
filter: The object filter (nullptr = find all objects)
|
||||||
|
subset: A subset of the database content to search (specified by record ID)
|
||||||
tableID: Optional table ID (defaults to the first table)
|
tableID: Optional table ID (defaults to the first table)
|
||||||
documentID: Optional document ID (filter for this document only - nullopt = all objects)
|
documentID: Optional document ID (filter for this document only - nullopt = all objects)
|
||||||
|
|
||||||
return: A list containing IDs of found elements (empty if none found)
|
return: A list containing IDs of found elements (empty if none found)
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
BIMRecordIDList BIMElementDatabase::findElements(const Filter& filter, std::optional<BIMRecordID> tableID,
|
BIMRecordIDList BIMElementDatabase::findElements(const Filter* filter, const BIMRecordIDList& subset, std::optional<BIMRecordID> tableID,
|
||||||
std::optional<BIMRecordID> documentID) const {
|
std::optional<BIMRecordID> documentID) const {
|
||||||
return m_engine->findObjects(filter, tableID, documentID);
|
return m_engine->findObjects(filter, subset, tableID, documentID);
|
||||||
} //BIMElementDatabase::findElements
|
} //BIMElementDatabase::findElements
|
||||||
|
|
||||||
|
|
||||||
@@ -212,7 +213,7 @@ Memo::Unique BIMElementDatabase::getMemo(const BIMRecordID& elementID, Part::fil
|
|||||||
|
|
||||||
element: The element to write
|
element: The element to write
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void BIMElementDatabase::write(const Element& element) const {
|
void BIMElementDatabase::write(Element& element) const {
|
||||||
m_store->write(element);
|
m_store->write(element);
|
||||||
} //BIMElementDatabase::write
|
} //BIMElementDatabase::write
|
||||||
|
|
||||||
|
|||||||
@@ -74,12 +74,13 @@ namespace speckle::database {
|
|||||||
/*!
|
/*!
|
||||||
Find a filtered list of objects
|
Find a filtered list of objects
|
||||||
@param filter The object filter (nullptr = find all objects)
|
@param filter The object filter (nullptr = find all objects)
|
||||||
|
@param subset A subset of the database content to search (specified by record ID)
|
||||||
@param tableID Optional table ID (defaults to the first table)
|
@param tableID Optional table ID (defaults to the first table)
|
||||||
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
||||||
@return A list containing IDs of found elements (empty if none found)
|
@return A list containing IDs of found elements (empty if none found)
|
||||||
*/
|
*/
|
||||||
BIMRecordIDList findElements(const Filter& filter = nullptr, std::optional<BIMRecordID> tableID = std::nullopt,
|
BIMRecordIDList findElements(const Filter* filter = nullptr, const BIMRecordIDList& subset = {},
|
||||||
std::optional<BIMRecordID> documentID = std::nullopt) const;
|
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const;
|
||||||
/*!
|
/*!
|
||||||
Get a specified element
|
Get a specified element
|
||||||
@param elementID The ID of the target element
|
@param elementID The ID of the target element
|
||||||
@@ -114,7 +115,7 @@ namespace speckle::database {
|
|||||||
Write an element to storage
|
Write an element to storage
|
||||||
@param element The element to write
|
@param element The element to write
|
||||||
*/
|
*/
|
||||||
void write(const record::element::Element& element) const;
|
void write(record::element::Element& element) const;
|
||||||
/*!
|
/*!
|
||||||
Erase an element
|
Erase an element
|
||||||
@param elementID The ID of the element to erase
|
@param elementID The ID of the element to erase
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ Vector<Group> BIMGroupDatabase::getGroups() const {
|
|||||||
|
|
||||||
group: The group to write
|
group: The group to write
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void BIMGroupDatabase::write(const Group& group) const {
|
void BIMGroupDatabase::write(Group& group) const {
|
||||||
m_store->write(group);
|
m_store->write(group);
|
||||||
} //BIMGroupDatabase::write
|
} //BIMGroupDatabase::write
|
||||||
|
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ namespace speckle::database {
|
|||||||
Write an group to storage
|
Write an group to storage
|
||||||
@param group The group to write
|
@param group The group to write
|
||||||
*/
|
*/
|
||||||
void write(const record::property::Group& group) const;
|
void write(record::property::Group& group) const;
|
||||||
/*!
|
/*!
|
||||||
Erase an group
|
Erase an group
|
||||||
@param groupID The ID of the group to erase
|
@param groupID The ID of the group to erase
|
||||||
|
|||||||
@@ -126,7 +126,7 @@ std::vector<std::shared_ptr<Template>> BIMPropertyDatabase::findTemplatesByClass
|
|||||||
|
|
||||||
property: The property to write
|
property: The property to write
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void BIMPropertyDatabase::write(const Template& property) const {
|
void BIMPropertyDatabase::write(Template& property) const {
|
||||||
m_store->write(property);
|
m_store->write(property);
|
||||||
} //BIMPropertyDatabase::write
|
} //BIMPropertyDatabase::write
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ namespace speckle::database {
|
|||||||
Write an property to storage
|
Write an property to storage
|
||||||
@param property The property to write
|
@param property The property to write
|
||||||
*/
|
*/
|
||||||
void write(const record::property::Template& property) const;
|
void write(record::property::Template& property) const;
|
||||||
/*!
|
/*!
|
||||||
Erase an property
|
Erase an property
|
||||||
@param propertyID The ID of the property to erase
|
@param propertyID The ID of the property to erase
|
||||||
|
|||||||
@@ -13,9 +13,28 @@ using namespace speckle::utility;
|
|||||||
BIMLink::BIMLink(const API_Neig& selected, const BIMRecordID& tableID) : base{Guid{selected.guid}, tableID} {
|
BIMLink::BIMLink(const API_Neig& selected, const BIMRecordID& tableID) : base{Guid{selected.guid}, tableID} {
|
||||||
//More info should be extracted from API_Neig in future (as required) - extract into link settings, e.g. selection target etc
|
//More info should be extracted from API_Neig in future (as required) - extract into link settings, e.g. selection target etc
|
||||||
} //Link::Link
|
} //Link::Link
|
||||||
|
#endif
|
||||||
|
|
||||||
BIMLinkList::BIMLinkList(const ElementIDList& elementIDList) {
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Constructor
|
||||||
|
|
||||||
|
elementIDList: BIM record IDs to populate the links
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
BIMLinkList::BIMLinkList(const BIMRecordIDList& elementIDList) {
|
||||||
for (const auto& id : elementIDList)
|
for (const auto& id : elementIDList)
|
||||||
push_back(id);
|
push_back(id);
|
||||||
}
|
} //BIMLinkList::BIMLinkList
|
||||||
#endif
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Conversion operator
|
||||||
|
|
||||||
|
return: A list of BIM record IDs from this list
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
BIMLinkList::operator BIMRecordIDList() const {
|
||||||
|
BIMRecordIDList result;
|
||||||
|
for (const auto& link : *this)
|
||||||
|
result.insert(BIMRecordID{link});
|
||||||
|
return result;
|
||||||
|
} //BIMLinkList::operator BIMRecordIDList
|
||||||
|
|||||||
@@ -41,18 +41,35 @@ namespace speckle::database {
|
|||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
//A list of links to BIM records
|
/*!
|
||||||
//using BIMLinkList = std::vector<BIMLink>;
|
A list of links to BIM records
|
||||||
|
*/
|
||||||
class BIMLinkList : public std::vector<BIMLink> {
|
class BIMLinkList : public std::vector<BIMLink> {
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
// MARK: - Types
|
||||||
|
|
||||||
using base = std::vector<BIMLink>;
|
using base = std::vector<BIMLink>;
|
||||||
|
|
||||||
|
// MARK: - Constructors
|
||||||
|
|
||||||
using base::base;
|
using base::base;
|
||||||
|
|
||||||
BIMLinkList() = default;
|
BIMLinkList() = default;
|
||||||
|
|
||||||
BIMLinkList(const ElementIDList& elementIDList);
|
/*!
|
||||||
|
Constructor
|
||||||
|
@param elementIDList BIM record IDs to populate the links
|
||||||
|
*/
|
||||||
|
BIMLinkList(const BIMRecordIDList& elementIDList);
|
||||||
|
|
||||||
|
// MARK: - Operators
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Conversion operator
|
||||||
|
@return A list of BIM record IDs from this list
|
||||||
|
*/
|
||||||
|
operator BIMRecordIDList() const;
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,12 +16,6 @@ namespace speckle::database {
|
|||||||
//A list of record IDs
|
//A list of record IDs
|
||||||
using RecordIDList = std::vector<RecordID>;
|
using RecordIDList = std::vector<RecordID>;
|
||||||
|
|
||||||
//BIM element record identifier
|
|
||||||
using ElementID = speckle::utility::Guid;
|
|
||||||
|
|
||||||
//A list of element IDs
|
|
||||||
using ElementIDList = std::vector<ElementID>;
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //SPECKLE_DATABASE_ID
|
#endif //SPECKLE_DATABASE_ID
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ namespace {
|
|||||||
|
|
||||||
return: An equivalent status code
|
return: An equivalent status code
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
ArchicadDBaseCore::Status convertArchicadError(long acErrorCode) {
|
ArchicadDBaseCore::Status convertArchicadError(GSErrCode acErrorCode) {
|
||||||
using enum ArchicadDBaseCore::Status;
|
using enum ArchicadDBaseCore::Status;
|
||||||
switch (acErrorCode) {
|
switch (acErrorCode) {
|
||||||
case NoError:
|
case NoError:
|
||||||
@@ -92,4 +92,16 @@ std::error_code ArchicadDBaseCore::makeError(ArchicadDBaseCore::Status code) {
|
|||||||
return std::error_code(static_cast<int>(code), instance);
|
return std::error_code(static_cast<int>(code), instance);
|
||||||
} //ArchicadDBaseCore::makeError
|
} //ArchicadDBaseCore::makeError
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Make an error code for ArchicadElementDBase processing
|
||||||
|
|
||||||
|
code: An Archicad API error code
|
||||||
|
|
||||||
|
return: An STL error code
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
std::error_code ArchicadDBaseCore::makeError(GSErrCode code) {
|
||||||
|
return makeError(convertArchicadError(code));
|
||||||
|
} //ArchicadDBaseCore::makeError
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
#include "Active/Utility/NameID.h"
|
#include "Active/Utility/NameID.h"
|
||||||
#include "Speckle/Event/Subscriber/ProjectSubscriber.h"
|
#include "Speckle/Event/Subscriber/ProjectSubscriber.h"
|
||||||
|
|
||||||
|
#include <Definitions.hpp>
|
||||||
|
|
||||||
namespace speckle::database {
|
namespace speckle::database {
|
||||||
|
|
||||||
using ArchicadDBaseSchema = active::database::DBaseSchema<>;
|
using ArchicadDBaseSchema = active::database::DBaseSchema<>;
|
||||||
@@ -35,9 +37,16 @@ namespace speckle::database {
|
|||||||
|
|
||||||
/*!
|
/*!
|
||||||
Make an error code for ArchicadElementDBase processing
|
Make an error code for ArchicadElementDBase processing
|
||||||
|
@param code An ArchicadDBaseCore status code
|
||||||
@return An STL error code
|
@return An STL error code
|
||||||
*/
|
*/
|
||||||
static std::error_code makeError(ArchicadDBaseCore::Status code);
|
static std::error_code makeError(ArchicadDBaseCore::Status code);
|
||||||
|
/*!
|
||||||
|
Make an error code for ArchicadElementDBase processing
|
||||||
|
@param code An Archicad API error code
|
||||||
|
@return An STL error code
|
||||||
|
*/
|
||||||
|
static std::error_code makeError(GSErrCode code);
|
||||||
|
|
||||||
// MARK: - Constructors
|
// MARK: - Constructors
|
||||||
|
|
||||||
|
|||||||
+31
-4
@@ -16,8 +16,10 @@
|
|||||||
#include "Speckle/Utility/String.h"
|
#include "Speckle/Utility/String.h"
|
||||||
|
|
||||||
#include <ACAPinc.h>
|
#include <ACAPinc.h>
|
||||||
#include <ACAPI_Database.h>
|
|
||||||
#include <BM.hpp>
|
#include <BM.hpp>
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
#include <ACAPI_Database.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace active::event;
|
using namespace active::event;
|
||||||
using namespace active::setting;
|
using namespace active::setting;
|
||||||
@@ -51,7 +53,11 @@ namespace speckle::database {
|
|||||||
clear();
|
clear();
|
||||||
API_StoryInfo storeyInfo;
|
API_StoryInfo storeyInfo;
|
||||||
active::utility::Memory::erase(storeyInfo);
|
active::utility::Memory::erase(storeyInfo);
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
ACAPI_ProjectSetting_GetStorySettings(&storeyInfo);
|
ACAPI_ProjectSetting_GetStorySettings(&storeyInfo);
|
||||||
|
#else
|
||||||
|
ACAPI_Environment(APIEnv_GetStorySettingsID, &storeyInfo, (void*) APIElemMask_FromFloorplan);
|
||||||
|
#endif
|
||||||
auto storeyCount = storeyInfo.lastStory - storeyInfo.firstStory + 1;
|
auto storeyCount = storeyInfo.lastStory - storeyInfo.firstStory + 1;
|
||||||
for (auto i = 0; i < storeyCount; ++i)
|
for (auto i = 0; i < storeyCount; ++i)
|
||||||
push_back((*storeyInfo.data)[i]);
|
push_back((*storeyInfo.data)[i]);
|
||||||
@@ -111,7 +117,11 @@ namespace {
|
|||||||
std::optional<API_Attribute> getAPIData(const BIMRecordID& ID, std::optional<BIMRecordID> tableID) {
|
std::optional<API_Attribute> getAPIData(const BIMRecordID& ID, std::optional<BIMRecordID> tableID) {
|
||||||
API_Attribute attribute;
|
API_Attribute attribute;
|
||||||
active::utility::Memory::erase(attribute);
|
active::utility::Memory::erase(attribute);
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
attribute.header.index = ACAPI_CreateAttributeIndex(static_cast<int32_t>(Guid::toInt(ID)));
|
attribute.header.index = ACAPI_CreateAttributeIndex(static_cast<int32_t>(Guid::toInt(ID)));
|
||||||
|
#else
|
||||||
|
attribute.header.index = static_cast<int32_t>(Guid::toInt(ID));
|
||||||
|
#endif
|
||||||
attribute.header.typeID = static_cast<API_AttrTypeID>(Guid::toInt(*tableID));
|
attribute.header.typeID = static_cast<API_AttrTypeID>(Guid::toInt(*tableID));
|
||||||
if (ACAPI_Attribute_Get(&attribute) != NoError)
|
if (ACAPI_Attribute_Get(&attribute) != NoError)
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
@@ -211,9 +221,26 @@ active::container::Vector<Attribute> ArchicadAttributeDBaseEngine::getObjects(co
|
|||||||
tableID: Optional table ID (defaults to the floor plan)
|
tableID: Optional table ID (defaults to the floor plan)
|
||||||
documentID: Optional document ID (when the object is bound to a specific document)
|
documentID: Optional document ID (when the object is bound to a specific document)
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void ArchicadAttributeDBaseEngine::write(const Attribute& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID,
|
void ArchicadAttributeDBaseEngine::write(Attribute& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID,
|
||||||
std::optional<BIMRecordID> tableID, std::optional<BIMRecordID> documentID) const {
|
std::optional<BIMRecordID> tableID, std::optional<BIMRecordID> documentID) const {
|
||||||
//TODO: Implement
|
auto attributeData = object.getDataOut();
|
||||||
|
//An record with no index has not been written (and needs to be created in the dbase)
|
||||||
|
GSErrCode status = NoError;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
if (attributeData.header.index.GenerateHashValue() == 0)
|
||||||
|
#else
|
||||||
|
if (attributeData.header.index == 0)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
status = ACAPI_Attribute_CreateExt(&attributeData, nullptr); //TODO: Handle attribute extended definition
|
||||||
|
//Archicad assigns record guids - we need to capture this for the caller
|
||||||
|
object.setBIMID(attributeData.header.guid);
|
||||||
|
} else
|
||||||
|
status = ACAPI_Attribute_ModifyExt(&attributeData, nullptr);
|
||||||
|
if (status != NoError)
|
||||||
|
throw std::system_error(makeError(status));
|
||||||
|
//Archicad modifies record headers on write - need to capture this data for the caller
|
||||||
|
object.getHead() = attributeData.header;
|
||||||
} //ArchicadAttributeDBaseEngine::write
|
} //ArchicadAttributeDBaseEngine::write
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+4
-2
@@ -55,11 +55,13 @@ namespace speckle::database {
|
|||||||
/*!
|
/*!
|
||||||
Find a filtered list of objects
|
Find a filtered list of objects
|
||||||
@param filter The object filter (nullptr = find all objects)
|
@param filter The object filter (nullptr = find all objects)
|
||||||
|
@param subset A subset of the database content to search (specified by record ID)
|
||||||
@param tableID Optional table ID (defaults to the first table)
|
@param tableID Optional table ID (defaults to the first table)
|
||||||
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
||||||
@return A list containing IDs of found elements (empty if none found)
|
@return A list containing IDs of found elements (empty if none found)
|
||||||
*/
|
*/
|
||||||
virtual ObjIDList findObjects(const Filter& filter = nullptr, std::optional<BIMRecordID> tableID = std::nullopt,
|
virtual ObjIDList findObjects(const Filter* filter = nullptr, const ObjIDList& subset = {},
|
||||||
|
std::optional<BIMRecordID> tableID = std::nullopt,
|
||||||
std::optional<BIMRecordID> documentID = std::nullopt) const override { return {}; } //Implement when required
|
std::optional<BIMRecordID> documentID = std::nullopt) const override { return {}; } //Implement when required
|
||||||
/*!
|
/*!
|
||||||
Get an object by ID
|
Get an object by ID
|
||||||
@@ -101,7 +103,7 @@ namespace speckle::database {
|
|||||||
@param tableID Optional table ID (defaults to the floor plan)
|
@param tableID Optional table ID (defaults to the floor plan)
|
||||||
@param documentID Optional document ID (when the object is bound to a specific document)
|
@param documentID Optional document ID (when the object is bound to a specific document)
|
||||||
*/
|
*/
|
||||||
void write(const Attribute& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID = std::nullopt,
|
void write(Attribute& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID = std::nullopt,
|
||||||
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
||||||
/*!
|
/*!
|
||||||
Erase an object by index
|
Erase an object by index
|
||||||
|
|||||||
+90
-14
@@ -21,13 +21,19 @@
|
|||||||
#include "Speckle/Record/Element/Roof.h"
|
#include "Speckle/Record/Element/Roof.h"
|
||||||
#include "Speckle/Record/Element/Shell.h"
|
#include "Speckle/Record/Element/Shell.h"
|
||||||
#include "Speckle/Record/Element/Slab.h"
|
#include "Speckle/Record/Element/Slab.h"
|
||||||
|
#include "Speckle/Record/Element/Stair.h"
|
||||||
|
#include "Speckle/Record/Element/StairRiser.h"
|
||||||
|
#include "Speckle/Record/Element/StairStructure.h"
|
||||||
|
#include "Speckle/Record/Element/StairTread.h"
|
||||||
#include "Speckle/Record/Element/Wall.h"
|
#include "Speckle/Record/Element/Wall.h"
|
||||||
#include "Speckle/Utility/Guid.h"
|
#include "Speckle/Utility/Guid.h"
|
||||||
#include "Speckle/Utility/String.h"
|
#include "Speckle/Utility/String.h"
|
||||||
|
|
||||||
#include <ACAPinc.h>
|
#include <ACAPinc.h>
|
||||||
#include <ACAPI_Database.h>
|
|
||||||
#include <BM.hpp>
|
#include <BM.hpp>
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
#include <ACAPI_Database.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace active::event;
|
using namespace active::event;
|
||||||
using namespace active::setting;
|
using namespace active::setting;
|
||||||
@@ -59,7 +65,11 @@ namespace {
|
|||||||
dbaseInfo.typeID = APIWind_3DModelID;
|
dbaseInfo.typeID = APIWind_3DModelID;
|
||||||
else
|
else
|
||||||
dbaseInfo.databaseUnId.elemSetId = tableID;
|
dbaseInfo.databaseUnId.elemSetId = tableID;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
if (auto err = ACAPI_Window_GetDatabaseInfo(&dbaseInfo); err == NoError)
|
if (auto err = ACAPI_Window_GetDatabaseInfo(&dbaseInfo); err == NoError)
|
||||||
|
#else
|
||||||
|
if (auto err = ACAPI_Database(APIDb_GetDatabaseInfoID, &dbaseInfo, 0, 0); err == NoError)
|
||||||
|
#endif
|
||||||
return dbaseInfo;
|
return dbaseInfo;
|
||||||
return std::nullopt;
|
return std::nullopt;
|
||||||
} //getTableInfo
|
} //getTableInfo
|
||||||
@@ -78,10 +88,29 @@ namespace {
|
|||||||
auto dbaseInfo = getTableInfo(tableID);
|
auto dbaseInfo = getTableInfo(tableID);
|
||||||
if (!dbaseInfo)
|
if (!dbaseInfo)
|
||||||
return false;
|
return false;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
return ACAPI_Database_ChangeCurrentDatabase(&*dbaseInfo) == NoError;
|
return ACAPI_Database_ChangeCurrentDatabase(&*dbaseInfo) == NoError;
|
||||||
|
#else
|
||||||
|
return ACAPI_Database(APIDb_ChangeCurrentDatabaseID, &dbaseInfo, 0, 0) == NoError;
|
||||||
|
#endif
|
||||||
} //setActiveTable
|
} //setActiveTable
|
||||||
|
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Find indices of all elements in an Archicad database. NB: It is assumed that the active database has already been set
|
||||||
|
@return A list of all element IDs in the active database
|
||||||
|
*/
|
||||||
|
BIMRecordIDList getAllElementIDs() {
|
||||||
|
GS::Array<API_Guid> found;
|
||||||
|
if ((ACAPI_Element_GetElemList({}, &found) != NoError) || found.IsEmpty())
|
||||||
|
return {};
|
||||||
|
BIMRecordIDList result;
|
||||||
|
for (const auto& item : found)
|
||||||
|
result.insert(item);
|
||||||
|
return result;
|
||||||
|
} //getAllElementIDs
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Make a new element object
|
Make a new element object
|
||||||
@param elementData The API element representation
|
@param elementData The API element representation
|
||||||
@@ -89,7 +118,11 @@ namespace {
|
|||||||
@return A new element object (nullptr on failure)
|
@return A new element object (nullptr on failure)
|
||||||
*/
|
*/
|
||||||
Element::Unique makeElement(const API_Element& elementData, const BIMRecordID& tableID) {
|
Element::Unique makeElement(const API_Element& elementData, const BIMRecordID& tableID) {
|
||||||
|
#ifdef ServerMainVers_2600
|
||||||
switch (elementData.header.type.typeID) {
|
switch (elementData.header.type.typeID) {
|
||||||
|
#else
|
||||||
|
switch (elementData.header.typeID) {
|
||||||
|
#endif
|
||||||
case API_ColumnID:
|
case API_ColumnID:
|
||||||
return std::make_unique<Column>(elementData, tableID);
|
return std::make_unique<Column>(elementData, tableID);
|
||||||
case API_ColumnSegmentID:
|
case API_ColumnSegmentID:
|
||||||
@@ -102,17 +135,29 @@ namespace {
|
|||||||
return std::make_unique<Mesh>(elementData, tableID);
|
return std::make_unique<Mesh>(elementData, tableID);
|
||||||
case API_MorphID:
|
case API_MorphID:
|
||||||
return std::make_unique<Morph>(elementData, tableID);
|
return std::make_unique<Morph>(elementData, tableID);
|
||||||
|
case API_RiserID:
|
||||||
|
return std::make_unique<StairRiser>(elementData, tableID);
|
||||||
|
case API_StairStructureID:
|
||||||
|
return std::make_unique<StairStructure>(elementData, tableID);
|
||||||
|
case API_TreadID:
|
||||||
|
return std::make_unique<StairTread>(elementData, tableID);
|
||||||
case API_RoofID:
|
case API_RoofID:
|
||||||
return std::make_unique<Roof>(elementData, tableID);
|
return std::make_unique<Roof>(elementData, tableID);
|
||||||
case API_ShellID:
|
case API_ShellID:
|
||||||
return std::make_unique<Shell>(elementData, tableID);
|
return std::make_unique<Shell>(elementData, tableID);
|
||||||
case API_SlabID:
|
case API_SlabID:
|
||||||
return std::make_unique<Slab>(elementData, tableID);
|
return std::make_unique<Slab>(elementData, tableID);
|
||||||
|
case API_StairID:
|
||||||
|
return std::make_unique<Stair>(elementData, tableID);
|
||||||
case API_WallID:
|
case API_WallID:
|
||||||
return std::make_unique<Wall>(elementData, tableID);
|
return std::make_unique<Wall>(elementData, tableID);
|
||||||
case API_ObjectID:
|
case API_ObjectID:
|
||||||
// POC: change this case once we are ready to convert Grid Elements
|
// POC: change this case once we are ready to convert Grid Elements
|
||||||
|
#ifdef ServerMainVers_2600
|
||||||
if (elementData.header.type.variationID == APIVarId_GridElement)
|
if (elementData.header.type.variationID == APIVarId_GridElement)
|
||||||
|
#else
|
||||||
|
if (elementData.header.variationID == APIVarId_GridElement)
|
||||||
|
#endif
|
||||||
return nullptr;
|
return nullptr;
|
||||||
default:
|
default:
|
||||||
return std::make_unique<GenericModelElement>(elementData, tableID);
|
return std::make_unique<GenericModelElement>(elementData, tableID);
|
||||||
@@ -128,7 +173,12 @@ namespace {
|
|||||||
std::optional<BIMRecordID> ArchicadElementDBaseEngine::getActiveTable() {
|
std::optional<BIMRecordID> ArchicadElementDBaseEngine::getActiveTable() {
|
||||||
API_WindowInfo dbaseInfo;
|
API_WindowInfo dbaseInfo;
|
||||||
active::utility::Memory::erase(dbaseInfo);
|
active::utility::Memory::erase(dbaseInfo);
|
||||||
if (auto err = ACAPI_Database_GetCurrentDatabase(&dbaseInfo); err == NoError) {
|
#ifdef ServerMainVers_2700
|
||||||
|
if (auto err = ACAPI_Database_GetCurrentDatabase(&dbaseInfo); err == NoError)
|
||||||
|
#else
|
||||||
|
if (auto err = ACAPI_Database(APIDb_GetCurrentDatabaseID, &dbaseInfo); err == NoError)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
if (dbaseInfo.typeID == APIWind_FloorPlanID)
|
if (dbaseInfo.typeID == APIWind_FloorPlanID)
|
||||||
return primary2DViewID;
|
return primary2DViewID;
|
||||||
else if (dbaseInfo.typeID == APIWind_3DModelID)
|
else if (dbaseInfo.typeID == APIWind_3DModelID)
|
||||||
@@ -152,7 +202,11 @@ void ArchicadElementDBaseEngine::bringViewToFront(BIMRecordID tableID) const {
|
|||||||
windowInfo.typeID = dbaseInfo->typeID;
|
windowInfo.typeID = dbaseInfo->typeID;
|
||||||
if ((windowInfo.typeID != APIWind_FloorPlanID) && (windowInfo.typeID != APIWind_3DModelID))
|
if ((windowInfo.typeID != APIWind_FloorPlanID) && (windowInfo.typeID != APIWind_3DModelID))
|
||||||
windowInfo.databaseUnId = dbaseInfo->databaseUnId;
|
windowInfo.databaseUnId = dbaseInfo->databaseUnId;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
ACAPI_Window_ChangeWindow(&windowInfo);
|
ACAPI_Window_ChangeWindow(&windowInfo);
|
||||||
|
#else
|
||||||
|
ACAPI_Automate(APIDo_ChangeWindowID, &windowInfo);
|
||||||
|
#endif
|
||||||
} //ArchicadElementDBaseEngine::bringViewToFront
|
} //ArchicadElementDBaseEngine::bringViewToFront
|
||||||
|
|
||||||
|
|
||||||
@@ -186,7 +240,11 @@ void ArchicadElementDBaseEngine::setSelection(const BIMLinkList& elementIDs) con
|
|||||||
API_Neig neig(elemID);
|
API_Neig neig(elemID);
|
||||||
selNeigs.Push(neig);
|
selNeigs.Push(neig);
|
||||||
}
|
}
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
ACAPI_Selection_Select(selNeigs, true);
|
ACAPI_Selection_Select(selNeigs, true);
|
||||||
|
#else
|
||||||
|
ACAPI_Element_Select(selNeigs, true);
|
||||||
|
#endif
|
||||||
} //ArchicadElementDBaseEngine::setSelection
|
} //ArchicadElementDBaseEngine::setSelection
|
||||||
|
|
||||||
|
|
||||||
@@ -194,7 +252,11 @@ void ArchicadElementDBaseEngine::setSelection(const BIMLinkList& elementIDs) con
|
|||||||
Clear the element selection
|
Clear the element selection
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void ArchicadElementDBaseEngine::clearSelection() const {
|
void ArchicadElementDBaseEngine::clearSelection() const {
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
ACAPI_Selection_DeselectAll();
|
ACAPI_Selection_DeselectAll();
|
||||||
|
#else
|
||||||
|
ACAPI_Element_DeselectAll();
|
||||||
|
#endif
|
||||||
} //ArchicadElementDBaseEngine::clearSelection
|
} //ArchicadElementDBaseEngine::clearSelection
|
||||||
|
|
||||||
|
|
||||||
@@ -240,28 +302,38 @@ void ArchicadElementDBaseEngine::setDefaultTable(const BIMRecordID& tableID) con
|
|||||||
Find a filtered list of objects
|
Find a filtered list of objects
|
||||||
|
|
||||||
filter: The object filter (nullptr = find all objects)
|
filter: The object filter (nullptr = find all objects)
|
||||||
|
subset: A subset of the database content to search (specified by record ID)
|
||||||
tableID: Optional table ID (defaults to the first table)
|
tableID: Optional table ID (defaults to the first table)
|
||||||
documentID: Optional document ID (filter for this document only - nullopt = all objects)
|
documentID: Optional document ID (filter for this document only - nullopt = all objects)
|
||||||
|
|
||||||
return: A list containing IDs of found elements (empty if none found)
|
return: A list containing IDs of found elements (empty if none found)
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
BIMRecordIDList ArchicadElementDBaseEngine::findObjects(const Filter& filter, std::optional<BIMRecordID> tableID,
|
BIMRecordIDList ArchicadElementDBaseEngine::findObjects(const Filter* filter, const BIMRecordIDList& subset, std::optional<BIMRecordID> tableID,
|
||||||
std::optional<BIMRecordID> documentID) const {
|
std::optional<BIMRecordID> documentID) const {
|
||||||
//Switch to the target table (when specified). Otherwise the currently active table will be used
|
//Switch to the target table (when specified). Otherwise the currently active table will be used
|
||||||
if (tableID)
|
if (tableID)
|
||||||
setActiveTable(*tableID);
|
setActiveTable(*tableID);
|
||||||
//First check for no filter (in which case we return all objects)
|
//First check for no filter (in which case we return all objects)
|
||||||
if (filter == nullptr) {
|
if (filter == nullptr) {
|
||||||
GS::Array<API_Guid> found;
|
if (!subset.empty())
|
||||||
if ((ACAPI_Element_GetElemList({}, &found) != NoError) || found.IsEmpty())
|
return subset;
|
||||||
return {};
|
return getAllElementIDs();
|
||||||
BIMRecordIDList result;
|
|
||||||
for (const auto& item : found)
|
|
||||||
result.insert(item);
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
//Implement other filtering as required - ideally identify characteristics supported by API, e.g. filter by type/renovation etc
|
BIMRecordIDList buffer, result;
|
||||||
return {};
|
//Pick either all records or the specified subset
|
||||||
|
auto source = ⊂
|
||||||
|
if (subset.empty()) {
|
||||||
|
buffer = getAllElementIDs();
|
||||||
|
source = &buffer;
|
||||||
|
}
|
||||||
|
//Run the filter on the specified elements
|
||||||
|
for (const auto& elemID : *source) {
|
||||||
|
if (auto element = getObject(elemID); element) {
|
||||||
|
if ((*filter)(*element))
|
||||||
|
result.insert(elemID);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
} //ArchicadElementDBaseEngine::findObjects
|
} //ArchicadElementDBaseEngine::findObjects
|
||||||
|
|
||||||
|
|
||||||
@@ -299,7 +371,11 @@ std::unique_ptr<Element> ArchicadElementDBaseEngine::getObject(const BIMRecordID
|
|||||||
API_Element element;
|
API_Element element;
|
||||||
active::utility::Memory::erase(element);
|
active::utility::Memory::erase(element);
|
||||||
API_Guid guid{ID.operator API_Guid()};
|
API_Guid guid{ID.operator API_Guid()};
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
if (ACAPI_Element_GetElementFromAnywhere(&guid, &element) != NoError)
|
if (ACAPI_Element_GetElementFromAnywhere(&guid, &element) != NoError)
|
||||||
|
#else
|
||||||
|
if (ACAPI_Database(APIDb_GetElementFromAnywhereID, &guid, &element, 0) != NoError)
|
||||||
|
#endif
|
||||||
return nullptr;
|
return nullptr;
|
||||||
return makeElement(element, *tableID);
|
return makeElement(element, *tableID);
|
||||||
} //ArchicadElementDBaseEngine::getObject
|
} //ArchicadElementDBaseEngine::getObject
|
||||||
@@ -372,7 +448,7 @@ active::container::Vector<Element> ArchicadElementDBaseEngine::getObjects(const
|
|||||||
tableID: Optional table ID (defaults to the floor plan)
|
tableID: Optional table ID (defaults to the floor plan)
|
||||||
documentID: Optional document ID (when the object is bound to a specific document)
|
documentID: Optional document ID (when the object is bound to a specific document)
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void ArchicadElementDBaseEngine::write(const Element& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID,
|
void ArchicadElementDBaseEngine::write(Element& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID,
|
||||||
std::optional<BIMRecordID> tableID, std::optional<BIMRecordID> documentID) const {
|
std::optional<BIMRecordID> tableID, std::optional<BIMRecordID> documentID) const {
|
||||||
|
|
||||||
} //ArchicadElementDBaseEngine::write
|
} //ArchicadElementDBaseEngine::write
|
||||||
|
|||||||
+5
-3
@@ -92,12 +92,14 @@ namespace speckle::database {
|
|||||||
/*!
|
/*!
|
||||||
Find a filtered list of objects
|
Find a filtered list of objects
|
||||||
@param filter The object filter (nullptr = find all objects)
|
@param filter The object filter (nullptr = find all objects)
|
||||||
|
@param subset A subset of the database content to search (specified by record ID)
|
||||||
@param tableID Optional table ID (defaults to the first table)
|
@param tableID Optional table ID (defaults to the first table)
|
||||||
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
||||||
@return A list containing IDs of found elements (empty if none found)
|
@return A list containing IDs of found elements (empty if none found)
|
||||||
*/
|
*/
|
||||||
virtual BIMRecordIDList findObjects(const Filter& filter = nullptr, std::optional<BIMRecordID> tableID = std::nullopt,
|
virtual BIMRecordIDList findObjects(const Filter* filter = nullptr, const BIMRecordIDList& subset = {},
|
||||||
std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
std::optional<BIMRecordID> tableID = std::nullopt,
|
||||||
|
std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
||||||
/*!
|
/*!
|
||||||
Get an object by index
|
Get an object by index
|
||||||
@param objID The object ID
|
@param objID The object ID
|
||||||
@@ -138,7 +140,7 @@ namespace speckle::database {
|
|||||||
@param tableID Optional table ID (defaults to the floor plan)
|
@param tableID Optional table ID (defaults to the floor plan)
|
||||||
@param documentID Optional document ID (when the object is bound to a specific document)
|
@param documentID Optional document ID (when the object is bound to a specific document)
|
||||||
*/
|
*/
|
||||||
void write(const Element& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID = std::nullopt,
|
void write(Element& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID = std::nullopt,
|
||||||
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
||||||
/*!
|
/*!
|
||||||
Erase an object by index
|
Erase an object by index
|
||||||
|
|||||||
+1
-2
@@ -12,7 +12,6 @@
|
|||||||
#include "Speckle/Utility/String.h"
|
#include "Speckle/Utility/String.h"
|
||||||
|
|
||||||
#include <ACAPinc.h>
|
#include <ACAPinc.h>
|
||||||
#include <ACAPI_Database.h>
|
|
||||||
|
|
||||||
using namespace active::event;
|
using namespace active::event;
|
||||||
using namespace active::setting;
|
using namespace active::setting;
|
||||||
@@ -155,7 +154,7 @@ active::container::Vector<Group> ArchicadGroupDBaseEngine::getObjects(const Filt
|
|||||||
tableID: Optional table ID (defaults to the floor plan)
|
tableID: Optional table ID (defaults to the floor plan)
|
||||||
documentID: Optional document ID (when the object is bound to a specific document)
|
documentID: Optional document ID (when the object is bound to a specific document)
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void ArchicadGroupDBaseEngine::write(const Group& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID,
|
void ArchicadGroupDBaseEngine::write(Group& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID,
|
||||||
std::optional<BIMRecordID> tableID, std::optional<BIMRecordID> documentID) const {
|
std::optional<BIMRecordID> tableID, std::optional<BIMRecordID> documentID) const {
|
||||||
//TODO: Implement
|
//TODO: Implement
|
||||||
} //ArchicadGroupDBaseEngine::write
|
} //ArchicadGroupDBaseEngine::write
|
||||||
|
|||||||
+4
-2
@@ -50,11 +50,13 @@ namespace speckle::database {
|
|||||||
/*!
|
/*!
|
||||||
Find a filtered list of objects
|
Find a filtered list of objects
|
||||||
@param filter The object filter (nullptr = find all objects)
|
@param filter The object filter (nullptr = find all objects)
|
||||||
|
@param subset A subset of the database content to search (specified by record ID)
|
||||||
@param tableID Optional table ID (defaults to the first table)
|
@param tableID Optional table ID (defaults to the first table)
|
||||||
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
||||||
@return A list containing IDs of found elements (empty if none found)
|
@return A list containing IDs of found elements (empty if none found)
|
||||||
*/
|
*/
|
||||||
virtual ObjIDList findObjects(const Filter& filter = nullptr, std::optional<BIMRecordID> tableID = std::nullopt,
|
virtual ObjIDList findObjects(const Filter* filter = nullptr, const ObjIDList& subset = {},
|
||||||
|
std::optional<BIMRecordID> tableID = std::nullopt,
|
||||||
std::optional<BIMRecordID> documentID = std::nullopt) const override { return {}; } //Implement when required
|
std::optional<BIMRecordID> documentID = std::nullopt) const override { return {}; } //Implement when required
|
||||||
/*!
|
/*!
|
||||||
Get an object by ID
|
Get an object by ID
|
||||||
@@ -96,7 +98,7 @@ namespace speckle::database {
|
|||||||
@param tableID Optional table ID (default selected based on record type)
|
@param tableID Optional table ID (default selected based on record type)
|
||||||
@param documentID Optional document ID (when the object is bound to a specific document)
|
@param documentID Optional document ID (when the object is bound to a specific document)
|
||||||
*/
|
*/
|
||||||
void write(const Group& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID = std::nullopt,
|
void write(Group& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID = std::nullopt,
|
||||||
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
||||||
/*!
|
/*!
|
||||||
Erase an object by index
|
Erase an object by index
|
||||||
|
|||||||
+1
-2
@@ -12,7 +12,6 @@
|
|||||||
#include "Speckle/Utility/String.h"
|
#include "Speckle/Utility/String.h"
|
||||||
|
|
||||||
#include <ACAPinc.h>
|
#include <ACAPinc.h>
|
||||||
#include <ACAPI_Database.h>
|
|
||||||
#include <BM.hpp>
|
#include <BM.hpp>
|
||||||
|
|
||||||
using namespace active::event;
|
using namespace active::event;
|
||||||
@@ -179,7 +178,7 @@ active::container::Vector<Template> ArchicadPropertyDBaseEngine::getObjects(cons
|
|||||||
tableID: Optional table ID (defaults to the floor plan)
|
tableID: Optional table ID (defaults to the floor plan)
|
||||||
documentID: Optional document ID (when the object is bound to a specific document)
|
documentID: Optional document ID (when the object is bound to a specific document)
|
||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void ArchicadPropertyDBaseEngine::write(const Template& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID,
|
void ArchicadPropertyDBaseEngine::write(Template& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID,
|
||||||
std::optional<BIMRecordID> tableID, std::optional<BIMRecordID> documentID) const {
|
std::optional<BIMRecordID> tableID, std::optional<BIMRecordID> documentID) const {
|
||||||
//TODO: Implement
|
//TODO: Implement
|
||||||
} //ArchicadPropertyDBaseEngine::write
|
} //ArchicadPropertyDBaseEngine::write
|
||||||
|
|||||||
+3
-2
@@ -51,11 +51,12 @@ namespace speckle::database {
|
|||||||
/*!
|
/*!
|
||||||
Find a filtered list of objects
|
Find a filtered list of objects
|
||||||
@param filter The object filter (nullptr = find all objects)
|
@param filter The object filter (nullptr = find all objects)
|
||||||
|
@param subset A subset of the database content to search (specified by record ID)
|
||||||
@param tableID Optional table ID (defaults to the first table)
|
@param tableID Optional table ID (defaults to the first table)
|
||||||
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
||||||
@return A list containing IDs of found elements (empty if none found)
|
@return A list containing IDs of found elements (empty if none found)
|
||||||
*/
|
*/
|
||||||
virtual ObjIDList findObjects(const Filter& filter = nullptr, std::optional<BIMRecordID> tableID = std::nullopt,
|
virtual ObjIDList findObjects(const Filter* filter = nullptr, const ObjIDList& subset = {}, std::optional<BIMRecordID> tableID = std::nullopt,
|
||||||
std::optional<BIMRecordID> documentID = std::nullopt) const override { return {}; } //Implement when required
|
std::optional<BIMRecordID> documentID = std::nullopt) const override { return {}; } //Implement when required
|
||||||
/*!
|
/*!
|
||||||
Find all property templates linked to specified classifications
|
Find all property templates linked to specified classifications
|
||||||
@@ -103,7 +104,7 @@ namespace speckle::database {
|
|||||||
@param tableID Optional table ID (default selected based on record type)
|
@param tableID Optional table ID (default selected based on record type)
|
||||||
@param documentID Optional document ID (when the object is bound to a specific document)
|
@param documentID Optional document ID (when the object is bound to a specific document)
|
||||||
*/
|
*/
|
||||||
void write(const Template& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID = std::nullopt,
|
void write(Template& object, const BIMRecordID& objID, std::optional<BIMRecordID> objDocID = std::nullopt,
|
||||||
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
std::optional<BIMRecordID> tableID = std::nullopt, std::optional<BIMRecordID> documentID = std::nullopt) const override;
|
||||||
/*!
|
/*!
|
||||||
Erase an object by index
|
Erase an object by index
|
||||||
|
|||||||
@@ -63,11 +63,12 @@ namespace speckle::database {
|
|||||||
/*!
|
/*!
|
||||||
Find a filtered list of objects
|
Find a filtered list of objects
|
||||||
@param filter The object filter (nullptr = find all objects)
|
@param filter The object filter (nullptr = find all objects)
|
||||||
|
@param subset A subset of the database content to search (specified by record ID)
|
||||||
@param tableID Optional table ID (defaults to the first table)
|
@param tableID Optional table ID (defaults to the first table)
|
||||||
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
@param documentID Optional document ID (filter for this document only - nullopt = all objects)
|
||||||
@return A list containing IDs of found elements (empty if none found)
|
@return A list containing IDs of found elements (empty if none found)
|
||||||
*/
|
*/
|
||||||
virtual ObjIDList findObjects(const Filter& filter = nullptr, std::optional<RecordID> tableID = std::nullopt,
|
virtual ObjIDList findObjects(const Filter* filter = nullptr, const ObjIDList& subset = {}, std::optional<RecordID> tableID = std::nullopt,
|
||||||
std::optional<RecordID> documentID = std::nullopt) const override { return {}; } //Implement when required
|
std::optional<RecordID> documentID = std::nullopt) const override { return {}; } //Implement when required
|
||||||
/*!
|
/*!
|
||||||
Get an object by index
|
Get an object by index
|
||||||
@@ -109,7 +110,7 @@ namespace speckle::database {
|
|||||||
@param tableID Optional table ID (defaults to the first table)
|
@param tableID Optional table ID (defaults to the first table)
|
||||||
@param documentID Optional document ID (when the object is bound to a specific document)
|
@param documentID Optional document ID (when the object is bound to a specific document)
|
||||||
*/
|
*/
|
||||||
void write(const Obj& object, const ObjID& objID, std::optional<ObjID> objDocID = std::nullopt,
|
void write(Obj& object, const ObjID& objID, std::optional<ObjID> objDocID = std::nullopt,
|
||||||
std::optional<RecordID> tableID = std::nullopt, std::optional<RecordID> documentID = std::nullopt) const override;
|
std::optional<RecordID> tableID = std::nullopt, std::optional<RecordID> documentID = std::nullopt) const override;
|
||||||
/*!
|
/*!
|
||||||
Erase an object by index
|
Erase an object by index
|
||||||
@@ -274,7 +275,7 @@ namespace speckle::database {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
template<typename Obj, typename ObjWrapper, typename Transport, typename ObjID>
|
template<typename Obj, typename ObjWrapper, typename Transport, typename ObjID>
|
||||||
requires DocumentStorable<Obj, ObjWrapper, Transport>
|
requires DocumentStorable<Obj, ObjWrapper, Transport>
|
||||||
void DocumentStoreEngine<Obj, ObjWrapper, Transport, ObjID>::write(const Obj& object, const ObjID& objID, std::optional<ObjID> objDocID,
|
void DocumentStoreEngine<Obj, ObjWrapper, Transport, ObjID>::write(Obj& object, const ObjID& objID, std::optional<ObjID> objDocID,
|
||||||
std::optional<RecordID> tableID, std::optional<RecordID> documentID) const {
|
std::optional<RecordID> tableID, std::optional<RecordID> documentID) const {
|
||||||
getCache()->write(object); //NB: In future we might support duplicating records if objID != obj.id
|
getCache()->write(object); //NB: In future we might support duplicating records if objID != obj.id
|
||||||
} //DocumentStoreEngine<Obj, ObjWrapper, Transport, ObjID>::write
|
} //DocumentStoreEngine<Obj, ObjWrapper, Transport, ObjID>::write
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
#include "Speckle/Environment/Addon.h"
|
#include "Speckle/Environment/Addon.h"
|
||||||
|
|
||||||
|
#include "Active/Database/Transaction.h"
|
||||||
#include "Speckle/Environment/Project.h"
|
#include "Speckle/Environment/Project.h"
|
||||||
#include "Speckle/Event/Type/ProjectEvent.h"
|
#include "Speckle/Event/Type/ProjectEvent.h"
|
||||||
#include "Speckle/Event/Subscriber/ProjectSubscriber.h"
|
#include "Speckle/Event/Subscriber/ProjectSubscriber.h"
|
||||||
@@ -10,6 +11,7 @@
|
|||||||
#include <ACAPinc.h>
|
#include <ACAPinc.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
using namespace active::database;
|
||||||
using namespace speckle::environment;
|
using namespace speckle::environment;
|
||||||
using namespace speckle::event;
|
using namespace speckle::event;
|
||||||
using namespace speckle::utility;
|
using namespace speckle::utility;
|
||||||
@@ -228,3 +230,46 @@ std::shared_ptr<Project> Addon::makeProject() const {
|
|||||||
auto project = new Project; //make_shared can't use protected constructor
|
auto project = new Project; //make_shared can't use protected constructor
|
||||||
return std::shared_ptr<Project>{project};
|
return std::shared_ptr<Project>{project};
|
||||||
} //Addon::makeProject
|
} //Addon::makeProject
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Determine if a transaction can be started
|
||||||
|
|
||||||
|
return: True if a transaction can be started
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
bool Addon::canTransactionStart() const {
|
||||||
|
return true; //TODO: There are some situations where Archicad cannot accept perform a new transaction - add when determine essential
|
||||||
|
} //Addon::canTransactionStart
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Perform a transaction
|
||||||
|
|
||||||
|
transaction: The transaction to perform
|
||||||
|
|
||||||
|
return: True if the transaction was successfully performed
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
bool Addon::performTransaction(Transaction& transaction) const {
|
||||||
|
//If this is the opening transaction, we need to enclose it in a host undo session
|
||||||
|
if (isPerforming(transaction)) {
|
||||||
|
#ifdef ARCHICAD
|
||||||
|
return ACAPI_CallUndoableCommand(String{transaction.getName()}, [&]() -> GSErrCode {
|
||||||
|
if (App::performTransaction(transaction))
|
||||||
|
return NoError;
|
||||||
|
return APIERR_COMMANDFAILED;
|
||||||
|
});
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
return App::performTransaction(transaction);
|
||||||
|
} //Addon::performTransaction
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Finalise a transaction
|
||||||
|
|
||||||
|
transaction: The transaction to be finalised
|
||||||
|
wasPerformedSuccessfully: True if the transaction was successfully performed
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
void Addon::finaliseTransaction(Transaction& transaction, bool wasPerformedSuccessfully) const {
|
||||||
|
|
||||||
|
} //Addon::finaliseTransaction
|
||||||
|
|||||||
@@ -103,6 +103,26 @@ namespace speckle::environment {
|
|||||||
*/
|
*/
|
||||||
virtual std::shared_ptr<Project> makeProject() const;
|
virtual std::shared_ptr<Project> makeProject() const;
|
||||||
|
|
||||||
|
// MARK: - Functions (transactions)
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Determine if a transaction can be started
|
||||||
|
@return True if a transaction can be started
|
||||||
|
*/
|
||||||
|
bool canTransactionStart() const override;
|
||||||
|
/*!
|
||||||
|
Perform a transaction
|
||||||
|
@param transaction The transaction to perform
|
||||||
|
@return True if the transaction was successfully performed
|
||||||
|
*/
|
||||||
|
bool performTransaction(active::database::Transaction& transaction) const override;
|
||||||
|
/*!
|
||||||
|
Finalise a transaction
|
||||||
|
@param transaction The transaction to be finalised
|
||||||
|
@param wasPerformedSuccessfully True if the transaction was successfully performed
|
||||||
|
*/
|
||||||
|
void finaliseTransaction(active::database::Transaction& transaction, bool wasPerformedSuccessfully) const override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
///The active project
|
///The active project
|
||||||
std::shared_ptr<Project> m_activeProject;
|
std::shared_ptr<Project> m_activeProject;
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
#include "Speckle/Environment/Host.h"
|
#include "Speckle/Environment/Host.h"
|
||||||
|
|
||||||
#include "Active/Utility/Memory.h"
|
#include "Active/Utility/Memory.h"
|
||||||
|
#include "Speckle/Environment/Addon.h"
|
||||||
|
#include "Speckle/SpeckleResource.h"
|
||||||
|
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
#include "DG.h"
|
#include "DG.h"
|
||||||
@@ -33,15 +36,50 @@ bool Host::makeModelViewActive(bool isSelectionOnly) const {
|
|||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
API_WindowInfo windowInfo;
|
API_WindowInfo windowInfo;
|
||||||
active::utility::Memory::erase(windowInfo);
|
active::utility::Memory::erase(windowInfo);
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
if ((ACAPI_Window_GetCurrentWindow(&windowInfo) == NoError) && (windowInfo.typeID == APIWind_3DModelID))
|
if ((ACAPI_Window_GetCurrentWindow(&windowInfo) == NoError) && (windowInfo.typeID == APIWind_3DModelID))
|
||||||
|
#else
|
||||||
|
if ((ACAPI_Database(APIDb_GetCurrentWindowID, &windowInfo) == NoError) && (windowInfo.typeID == APIWind_3DModelID))
|
||||||
|
#endif
|
||||||
return true;
|
return true;
|
||||||
if (isSelectionOnly)
|
if (isSelectionOnly)
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
return (ACAPI_View_ShowSelectionIn3D() == NoError);
|
return (ACAPI_View_ShowSelectionIn3D() == NoError);
|
||||||
return (ACAPI_View_ShowAllIn3D() == NoError);
|
#else
|
||||||
|
return (ACAPI_Automate(APIDo_ShowSelectionIn3DID) == NoError);
|
||||||
#endif
|
#endif
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
return (ACAPI_View_ShowAllIn3D() == NoError);
|
||||||
|
#else
|
||||||
|
return (ACAPI_Automate(APIDo_ShowAllIn3DID) == NoError);
|
||||||
|
#endif
|
||||||
|
#endif //ARCHICAD
|
||||||
} //Host::makeModelViewActive
|
} //Host::makeModelViewActive
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Zoom the active view to fit the content bounds
|
||||||
|
|
||||||
|
isSelectionOnly: True to zoom to fit just the current selection
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
void Host::zoomToFit(bool isSelectionOnly) const {
|
||||||
|
#ifdef ARCHICAD
|
||||||
|
if (isSelectionOnly)
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
ACAPI_View_ZoomToSelected();
|
||||||
|
#else
|
||||||
|
ACAPI_Automate(APIDo_ZoomToSelectedID);
|
||||||
|
#endif
|
||||||
|
else
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
ACAPI_View_Zoom();
|
||||||
|
#else
|
||||||
|
ACAPI_Automate(APIDo_ZoomID);
|
||||||
|
#endif
|
||||||
|
#endif //ARCHICAD
|
||||||
|
} //Host::zoomToFit
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
Display an alert dialog
|
Display an alert dialog
|
||||||
|
|
||||||
@@ -49,11 +87,32 @@ bool Host::makeModelViewActive(bool isSelectionOnly) const {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void Host::displayAlert(const String& message) const {
|
void Host::displayAlert(const String& message) const {
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
DGAlert(DG_INFORMATION, "Notification", message.data(), "", "OK");
|
DGAlert(DG_INFORMATION, addon()->getLocalString(titleStringLib, notifyDialogTitleID), message, "",
|
||||||
|
addon()->getLocalString(titleStringLib, okButtonTitleID));
|
||||||
#endif
|
#endif
|
||||||
} //Host::displayAlert
|
} //Host::displayAlert
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Display a confirmation dialog (prompting the user to pick one of two options)
|
||||||
|
|
||||||
|
question: The question text, e.g. "Do you wish to continue?"
|
||||||
|
positiveOption: The positive option text (nullopt = "Yes")
|
||||||
|
negativeOption: The negative option text (nullopt = "No")
|
||||||
|
|
||||||
|
return: True if the user picked the positive option
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
bool Host::displayConfirmation(const speckle::utility::String& question,
|
||||||
|
const speckle::utility::String::Option positiveOption,
|
||||||
|
const speckle::utility::String::Option negativeOption) const {
|
||||||
|
#ifdef ARCHICAD
|
||||||
|
String positivePrompt{positiveOption.value_or(addon()->getLocalString(titleStringLib, positiveResponseTitleID))},
|
||||||
|
negativePrompt{positiveOption.value_or(addon()->getLocalString(titleStringLib, negativeResponseTitleID))};
|
||||||
|
return (DGAlert(DG_WARNING, addon()->getLocalString(titleStringLib, confirmDialogTitleID), question, String{}, positivePrompt, negativePrompt) == 1);
|
||||||
|
#endif
|
||||||
|
} //Host::displayConfirmation
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
Get an object representing the parent process/application
|
Get an object representing the parent process/application
|
||||||
|
|
||||||
|
|||||||
@@ -26,11 +26,27 @@ namespace speckle::environment {
|
|||||||
@return True if the model view is active
|
@return True if the model view is active
|
||||||
*/
|
*/
|
||||||
bool makeModelViewActive(bool isSelectionOnly = false) const;
|
bool makeModelViewActive(bool isSelectionOnly = false) const;
|
||||||
|
/*!
|
||||||
|
Zoom the active view to fit the content bounds
|
||||||
|
@param isSelectionOnly True to zoom to fit just the current selection
|
||||||
|
*/
|
||||||
|
void zoomToFit(bool isSelectionOnly = false) const;
|
||||||
/*!
|
/*!
|
||||||
Display an alert dialog
|
Display an alert dialog
|
||||||
@param message The alert message
|
@param message The alert message
|
||||||
*/
|
*/
|
||||||
void displayAlert(const speckle::utility::String& message) const;
|
void displayAlert(const speckle::utility::String& message) const;
|
||||||
|
/*!
|
||||||
|
Display a confirmation dialog (prompting the user to pick one of two options)
|
||||||
|
@param question The question text, e.g. "Do you wish to continue?"
|
||||||
|
@param positiveOption The positive option text (nullopt = "Yes")
|
||||||
|
@param negativeOption The negative option text (nullopt = "No")
|
||||||
|
|
||||||
|
@return True if the user picked the positive option
|
||||||
|
*/
|
||||||
|
bool displayConfirmation(const speckle::utility::String& question,
|
||||||
|
const speckle::utility::String::Option positiveOption = std::nullopt,
|
||||||
|
const speckle::utility::String::Option negativeOption = std::nullopt) const;
|
||||||
|
|
||||||
// MARK: Functions (mutating)
|
// MARK: Functions (mutating)
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,12 @@ Project::Info Project::getInfo() const {
|
|||||||
Info result{addon()->getLocalString(titleStringLib, untitledProjectID)};
|
Info result{addon()->getLocalString(titleStringLib, untitledProjectID)};
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
API_ProjectInfo projectInfo;
|
API_ProjectInfo projectInfo;
|
||||||
if (ACAPI_ProjectOperation_Project(&projectInfo) == NoError) {
|
#ifdef ServerMainVers_2700
|
||||||
|
if (ACAPI_ProjectOperation_Project(&projectInfo) == NoError)
|
||||||
|
#else
|
||||||
|
if (ACAPI_Environment(APIEnv_ProjectID, &projectInfo) == NoError)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
if ((projectInfo.projectName != nullptr) && !projectInfo.projectName->IsEmpty())
|
if ((projectInfo.projectName != nullptr) && !projectInfo.projectName->IsEmpty())
|
||||||
result.name = *projectInfo.projectName;
|
result.name = *projectInfo.projectName;
|
||||||
result.isShared = projectInfo.teamwork;
|
result.isShared = projectInfo.teamwork;
|
||||||
|
|||||||
@@ -65,7 +65,11 @@ bool DocStoreSubscriber::receive(const Event& event) {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
bool DocStoreSubscriber::attach() {
|
bool DocStoreSubscriber::attach() {
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
ACAPI_AddOnObject_RegisterAddOnObjectHandler();
|
ACAPI_AddOnObject_RegisterAddOnObjectHandler();
|
||||||
|
#else
|
||||||
|
ACAPI_Register_AddOnObjectHandler();
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
return true;
|
return true;
|
||||||
} //DocStoreSubscriber::attach
|
} //DocStoreSubscriber::attach
|
||||||
@@ -81,8 +85,12 @@ bool DocStoreSubscriber::start() {
|
|||||||
return true;
|
return true;
|
||||||
m_isStarted = true;
|
m_isStarted = true;
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
return (ACAPI_AddOnObject_InstallAddOnObjectMergeHandler(docMergeCallback) == NoError);
|
return (ACAPI_AddOnObject_InstallAddOnObjectMergeHandler(docMergeCallback) == NoError);
|
||||||
#else
|
#else
|
||||||
|
return (ACAPI_Install_AddOnObjectMergeHandler(docMergeCallback) == NoError);
|
||||||
|
#endif //ServerMainVers_2600
|
||||||
|
#else //ARCHICAD
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif //ARCHICAD
|
||||||
} //DocStoreSubscriber::start
|
} //DocStoreSubscriber::start
|
||||||
|
|||||||
@@ -33,16 +33,16 @@ namespace {
|
|||||||
case APINotifyElement_New: {
|
case APINotifyElement_New: {
|
||||||
// POC: Put this back once we decide to use Object Tracking
|
// POC: Put this back once we decide to use Object Tracking
|
||||||
// ACAPI_Element_AttachObserver(elemType->elemHead.guid);
|
// ACAPI_Element_AttachObserver(elemType->elemHead.guid);
|
||||||
addon()->publishExternal(ElementEvent{newElem, ElementID{elemType->elemHead.guid}});
|
addon()->publishExternal(ElementEvent{newElem, BIMRecordID{elemType->elemHead.guid}});
|
||||||
} break;
|
} break;
|
||||||
case APINotifyElement_Change: {
|
case APINotifyElement_Change: {
|
||||||
addon()->publishExternal(ElementEvent{changeElem, ElementID{elemType->elemHead.guid}});
|
addon()->publishExternal(ElementEvent{changeElem, BIMRecordID{elemType->elemHead.guid}});
|
||||||
} break;
|
} break;
|
||||||
case APINotifyElement_Edit: {
|
case APINotifyElement_Edit: {
|
||||||
addon()->publishExternal(ElementEvent{editElem, ElementID{elemType->elemHead.guid}});
|
addon()->publishExternal(ElementEvent{editElem, BIMRecordID{elemType->elemHead.guid}});
|
||||||
} break;
|
} break;
|
||||||
case APINotifyElement_Delete: {
|
case APINotifyElement_Delete: {
|
||||||
addon()->publishExternal(ElementEvent{deleteElem, ElementID{ elemType->elemHead.guid}});
|
addon()->publishExternal(ElementEvent{deleteElem, BIMRecordID{ elemType->elemHead.guid}});
|
||||||
} break;
|
} break;
|
||||||
case APINotifyElement_BeginEvents:
|
case APINotifyElement_BeginEvents:
|
||||||
addon()->publishExternal(ElementEvent{begin});
|
addon()->publishExternal(ElementEvent{begin});
|
||||||
@@ -92,22 +92,19 @@ bool ElementSubscriber::receive(const Event& event) {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
bool ElementSubscriber::start() {
|
bool ElementSubscriber::start() {
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
GSErrCode err = ACAPI_Element_InstallElementObserver(elementChangedCallback);
|
#ifdef ServerMainVers_2700
|
||||||
|
auto err = ACAPI_Element_InstallElementObserver(elementChangedCallback);
|
||||||
|
#else
|
||||||
|
auto err = ACAPI_Notify_InstallElementObserver(elementChangedCallback);
|
||||||
|
#endif
|
||||||
if (err != NoError)
|
if (err != NoError)
|
||||||
return false;
|
return false;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
return (ACAPI_Element_CatchNewElement(nullptr, elementChangedCallback) == NoError);
|
return (ACAPI_Element_CatchNewElement(nullptr, elementChangedCallback) == NoError);
|
||||||
|
#else
|
||||||
|
return (ACAPI_Notify_CatchNewElement(nullptr, elementChangedCallback) == NoError);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
} //ElementSubscriber::start
|
} //ElementSubscriber::start
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
|
||||||
Stop participation (release resources etc)
|
|
||||||
--------------------------------------------------------------------*/
|
|
||||||
void ElementSubscriber::stop() {
|
|
||||||
#ifdef ARCHICAD
|
|
||||||
ACAPI_Notification_CatchSelectionChange(nullptr);
|
|
||||||
#endif
|
|
||||||
} //ElementSubscriber::stop
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#define SPECKLE_EVENT_ELEMENT_CHANGED_SUBSCRIBER
|
#define SPECKLE_EVENT_ELEMENT_CHANGED_SUBSCRIBER
|
||||||
|
|
||||||
#include "Active/Event/Subscriber.h"
|
#include "Active/Event/Subscriber.h"
|
||||||
#include "Speckle/Database/Identity/RecordID.h"
|
#include "Speckle/Database/Identity/BIMRecordID.h"
|
||||||
|
|
||||||
namespace speckle::event {
|
namespace speckle::event {
|
||||||
|
|
||||||
@@ -51,10 +51,6 @@ namespace speckle::event {
|
|||||||
@return True if the participant is able to continue
|
@return True if the participant is able to continue
|
||||||
*/
|
*/
|
||||||
virtual bool start() override;
|
virtual bool start() override;
|
||||||
/*!
|
|
||||||
Stop participation (release resources etc)
|
|
||||||
*/
|
|
||||||
void stop() override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
@@ -64,8 +60,6 @@ namespace speckle::event {
|
|||||||
@return True if the event should be closed
|
@return True if the event should be closed
|
||||||
*/
|
*/
|
||||||
virtual bool handle(const ElementEvent& event) = 0;
|
virtual bool handle(const ElementEvent& event) = 0;
|
||||||
|
|
||||||
speckle::database::ElementIDList m_changedElements;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,12 @@
|
|||||||
#include "Speckle/Environment/Addon.h"
|
#include "Speckle/Environment/Addon.h"
|
||||||
#include "Speckle/Event/Type/MenuEvent.h"
|
#include "Speckle/Event/Type/MenuEvent.h"
|
||||||
|
|
||||||
|
#ifdef ARCHICAD
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
#include <ACAPI_Interface.h>
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
using namespace active::environment;
|
using namespace active::environment;
|
||||||
using namespace active::event;
|
using namespace active::event;
|
||||||
using namespace speckle::environment;
|
using namespace speckle::environment;
|
||||||
@@ -34,6 +40,99 @@ Subscriber::Subscription MenuSubscriber::subscription() const {
|
|||||||
} //MenuSubscriber::subscription
|
} //MenuSubscriber::subscription
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Set whether a menu item is enabled
|
||||||
|
|
||||||
|
item: The menu item index
|
||||||
|
state: True if the menu item is enabled
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
void MenuSubscriber::setMenuEnabled(uint16_t item, bool state) const {
|
||||||
|
#ifdef ARCHICAD
|
||||||
|
API_MenuItemRef menuRef{};
|
||||||
|
menuRef.menuResID = m_resourceID;
|
||||||
|
menuRef.itemIndex = item;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
GSFlags flags{};
|
||||||
|
if (ACAPI_MenuItem_GetMenuItemFlags(&menuRef, &flags) == NoError)
|
||||||
|
#else
|
||||||
|
Int32 flags = 0;
|
||||||
|
if (ACAPI_Interface(APIIo_GetMenuItemFlagsID, &menuRef, &flags) == NoError)
|
||||||
|
#endif //ServerMainVers_2600
|
||||||
|
{
|
||||||
|
bool isActive = ((flags & API_MenuItemDisabled) == 0);
|
||||||
|
if (isActive != state) {
|
||||||
|
if (state)
|
||||||
|
flags &= ~API_MenuItemDisabled;
|
||||||
|
else
|
||||||
|
flags |= API_MenuItemDisabled;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
ACAPI_MenuItem_SetMenuItemFlags(&menuRef, &flags);
|
||||||
|
#else
|
||||||
|
ACAPI_Interface(APIIo_SetMenuItemFlagsID, &menuRef, &flags);
|
||||||
|
#endif //ServerMainVers_2600
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif //ARCHICAD
|
||||||
|
} //MenuSubscriber::setMenuEnabled
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Set whether a menu item is checked
|
||||||
|
|
||||||
|
item: The menu item index
|
||||||
|
state: True if the menu item is checked
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
void MenuSubscriber::setMenuChecked(uint16_t item, bool state) const {
|
||||||
|
#ifdef ARCHICAD
|
||||||
|
API_MenuItemRef menuRef{};
|
||||||
|
menuRef.menuResID = m_resourceID;
|
||||||
|
menuRef.itemIndex = item;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
GSFlags flags{};
|
||||||
|
if (ACAPI_MenuItem_GetMenuItemFlags(&menuRef, &flags) == NoError)
|
||||||
|
#else
|
||||||
|
Int32 flags = 0;
|
||||||
|
if (ACAPI_Interface(APIIo_GetMenuItemFlagsID, &menuRef, &flags) == NoError)
|
||||||
|
#endif //ServerMainVers_2600
|
||||||
|
{
|
||||||
|
bool isChecked = ((flags & API_MenuItemChecked) != 0);
|
||||||
|
if (isChecked != state) {
|
||||||
|
if (state)
|
||||||
|
flags |= API_MenuItemChecked;
|
||||||
|
else
|
||||||
|
flags &= ~API_MenuItemChecked;
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
ACAPI_MenuItem_SetMenuItemFlags(&menuRef, &flags);
|
||||||
|
#else
|
||||||
|
ACAPI_Interface(APIIo_SetMenuItemFlagsID, &menuRef, &flags);
|
||||||
|
#endif //ServerMainVers_2600
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
} //MenuSubscriber::setMenuChecked
|
||||||
|
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------
|
||||||
|
Set the label of a menu item
|
||||||
|
|
||||||
|
item: The menu item index
|
||||||
|
text: The menu item text
|
||||||
|
--------------------------------------------------------------------*/
|
||||||
|
void MenuSubscriber::setMenuLabel(uint16_t item, const speckle::utility::String& text) const {
|
||||||
|
#ifdef ARCHICAD
|
||||||
|
API_MenuItemRef menuRef{};
|
||||||
|
menuRef.menuResID = m_resourceID;
|
||||||
|
menuRef.itemIndex = item;
|
||||||
|
GS::UniString label(text);
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
|
ACAPI_MenuItem_SetMenuItemText(&menuRef, nullptr, &label);
|
||||||
|
#else
|
||||||
|
ACAPI_Interface(APIIo_SetMenuItemTextID, &menuRef, nullptr, (void*) &label);
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
} //MenuSubscriber::setMenuLabel
|
||||||
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------
|
/*--------------------------------------------------------------------
|
||||||
Receive a subscribed event
|
Receive a subscribed event
|
||||||
|
|
||||||
@@ -56,7 +155,11 @@ bool MenuSubscriber::receive(const Event& event) {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
bool MenuSubscriber::attach() {
|
bool MenuSubscriber::attach() {
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
return (ACAPI_MenuItem_RegisterMenu(m_resourceID, m_helpID, m_location, m_flags) == NoError);
|
return (ACAPI_MenuItem_RegisterMenu(m_resourceID, m_helpID, m_location, m_flags) == NoError);
|
||||||
|
#else
|
||||||
|
return (ACAPI_Register_Menu(m_resourceID, m_helpID, m_location, m_flags) == NoError);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
@@ -70,7 +173,11 @@ bool MenuSubscriber::attach() {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
bool MenuSubscriber::start() {
|
bool MenuSubscriber::start() {
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
return (ACAPI_MenuItem_InstallMenuHandler(m_resourceID, menuCallback) == NoError);
|
return (ACAPI_MenuItem_InstallMenuHandler(m_resourceID, menuCallback) == NoError);
|
||||||
|
#else
|
||||||
|
return (ACAPI_Install_MenuHandler(m_resourceID, menuCallback) == NoError);
|
||||||
|
#endif
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
#define SPECKLE_EVENT_MENU_SUBSCRIBER
|
#define SPECKLE_EVENT_MENU_SUBSCRIBER
|
||||||
|
|
||||||
#include "Active/Event/Subscriber.h"
|
#include "Active/Event/Subscriber.h"
|
||||||
|
#include "Speckle/Utility/String.h"
|
||||||
|
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
#include <ACAPinc.h>
|
#include <ACAPinc.h>
|
||||||
@@ -60,6 +61,24 @@ namespace speckle::event {
|
|||||||
@return The subscription list (an empty list will put the subscriber into a suspended state)
|
@return The subscription list (an empty list will put the subscriber into a suspended state)
|
||||||
*/
|
*/
|
||||||
virtual Subscription subscription() const override;
|
virtual Subscription subscription() const override;
|
||||||
|
/*!
|
||||||
|
Set whether a menu item is enabled
|
||||||
|
@param item The menu item index
|
||||||
|
@param state True if the menu item is enabled
|
||||||
|
*/
|
||||||
|
void setMenuEnabled(uint16_t item, bool state) const;
|
||||||
|
/*!
|
||||||
|
Set whether a menu item is checked
|
||||||
|
@param item The menu item index
|
||||||
|
@param state True if the menu item is checked
|
||||||
|
*/
|
||||||
|
void setMenuChecked(uint16_t item, bool state) const;
|
||||||
|
/*!
|
||||||
|
Set the label of a menu item
|
||||||
|
@param item The menu item index
|
||||||
|
@param text The menu item text
|
||||||
|
*/
|
||||||
|
void setMenuLabel(uint16_t item, const speckle::utility::String& text) const;
|
||||||
|
|
||||||
// MARK: - Functions (mutating)
|
// MARK: - Functions (mutating)
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,12 @@ bool ProjectSubscriber::start() {
|
|||||||
return true;
|
return true;
|
||||||
m_isStarted = true;
|
m_isStarted = true;
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
return (ACAPI_ProjectOperation_CatchProjectEvent(API_AllNotificationMask, projectCallback) == NoError);
|
return (ACAPI_ProjectOperation_CatchProjectEvent(API_AllNotificationMask, projectCallback) == NoError);
|
||||||
#else
|
#else
|
||||||
|
return (ACAPI_Notify_CatchProjectEvent(API_AllNotificationMask, projectCallback) == NoError);
|
||||||
|
#endif //ServerMainVers_2600
|
||||||
|
#else //ARCHICAD
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
} //ProjectSubscriber::start
|
} //ProjectSubscriber::start
|
||||||
|
|||||||
@@ -67,10 +67,14 @@ bool SelectionSubscriber::receive(const Event& event) {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
bool SelectionSubscriber::start() {
|
bool SelectionSubscriber::start() {
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
return (ACAPI_Notification_CatchSelectionChange(selectionCallback) == NoError);
|
return (ACAPI_Notification_CatchSelectionChange(selectionCallback) == NoError);
|
||||||
#else
|
#else
|
||||||
|
return (ACAPI_Notify_CatchSelectionChange(selectionCallback) == NoError);
|
||||||
|
#endif //ServerMainVers_2600
|
||||||
|
#else //ARCHICAD
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif //ARCHICAD
|
||||||
} //SelectionSubscriber::start
|
} //SelectionSubscriber::start
|
||||||
|
|
||||||
|
|
||||||
@@ -79,6 +83,10 @@ bool SelectionSubscriber::start() {
|
|||||||
--------------------------------------------------------------------*/
|
--------------------------------------------------------------------*/
|
||||||
void SelectionSubscriber::stop() {
|
void SelectionSubscriber::stop() {
|
||||||
#ifdef ARCHICAD
|
#ifdef ARCHICAD
|
||||||
|
#ifdef ServerMainVers_2700
|
||||||
ACAPI_Notification_CatchSelectionChange(nullptr);
|
ACAPI_Notification_CatchSelectionChange(nullptr);
|
||||||
#endif
|
#else
|
||||||
|
ACAPI_Notify_CatchSelectionChange(nullptr);
|
||||||
|
#endif //ServerMainVers_2600
|
||||||
|
#endif //ARCHICAD
|
||||||
} //SelectionSubscriber::stop
|
} //SelectionSubscriber::stop
|
||||||
|
|||||||
@@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "Active/Utility/Guid.h"
|
#include "Active/Utility/Guid.h"
|
||||||
#include "Active/Utility/String.h"
|
#include "Active/Utility/String.h"
|
||||||
|
#include "Speckle/Database/Identity/BIMRecordID.h"
|
||||||
|
|
||||||
namespace speckle::event {
|
namespace speckle::event {
|
||||||
|
|
||||||
@@ -33,7 +34,7 @@ namespace speckle::event {
|
|||||||
@param eventType An event type identifier
|
@param eventType An event type identifier
|
||||||
@param targetID The ID of the element targeted by the database transaction (nullopt = undefined, e.g. for a begin/end event)
|
@param targetID The ID of the element targeted by the database transaction (nullopt = undefined, e.g. for a begin/end event)
|
||||||
*/
|
*/
|
||||||
ElementEvent(Type eventType, database::ElementID::Option targetID = std::nullopt) : Event{ID}, m_elementID{targetID}, m_eventType{eventType} {}
|
ElementEvent(Type eventType, database::BIMRecordID::Option targetID = std::nullopt) : Event{ID}, m_elementID{targetID}, m_eventType{eventType} {}
|
||||||
/*!
|
/*!
|
||||||
Copy constructor
|
Copy constructor
|
||||||
@param source The object to copy
|
@param source The object to copy
|
||||||
@@ -50,12 +51,12 @@ namespace speckle::event {
|
|||||||
Get the ID of the database transaction target element
|
Get the ID of the database transaction target element
|
||||||
@return The target element ID (nullopt = no target, e.g. a begin/end event)
|
@return The target element ID (nullopt = no target, e.g. a begin/end event)
|
||||||
*/
|
*/
|
||||||
database::ElementID::Option getElmentID() const { return m_elementID; }
|
database::BIMRecordID::Option getElementID() const { return m_elementID; }
|
||||||
Type getEventType() const { return m_eventType; }
|
Type getEventType() const { return m_eventType; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
///The ID of the target element (nullopt = undefined)
|
///The ID of the target element (nullopt = undefined)
|
||||||
database::ElementID::Option m_elementID;
|
database::BIMRecordID::Option m_elementID;
|
||||||
///The specific database operation performed
|
///The specific database operation performed
|
||||||
Type m_eventType;
|
Type m_eventType;
|
||||||
};
|
};
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user