Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IFC 4x3 integration (including .NET6 port) #196

Open
wants to merge 18 commits into
base: develop
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
</PropertyGroup>

<PropertyGroup>
<Version>5.1.0.0</Version>
<Version>6.0.0.0</Version>
<Copyright>Copyright © XBIM Ltd</Copyright>
<Company>Xbim Ltd.</Company>
<Authors>Steve Lockley, Martin Cerny and XBIMTeam Contributors</Authors>
Expand All @@ -17,14 +17,14 @@
<PackageProjectUrl>https://github.com/xBimTeam/XbimWindowsUI</PackageProjectUrl>
<PackageIconUrl>https://avatars1.githubusercontent.com/u/2284875?v=3&amp;amp;s=240</PackageIconUrl>
<PackageReleaseNotes>
Now built on XBIM v5. Migrated from log4net to Microsoft.Extensions.Logging.
Now built on XBIM v6 to support netCore and IFC4x3
</PackageReleaseNotes>
<PackageTags>BIM, IFC, IfcXml, IfcZip, Ifc4, COBie, BuildingSmart</PackageTags>
<RepositoryUrl>https://github.com/xBimTeam/XbimWindowsUI/tree/master</RepositoryUrl>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
<SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
<SignAssembly>true</SignAssembly>
<SignAssembly>false</SignAssembly>
<AssemblyOriginatorKeyFile>..\XbimOpenSourceKeyFile.snk</AssemblyOriginatorKeyFile>
<DelaySign>false</DelaySign>
</PropertyGroup>
Expand Down
16 changes: 5 additions & 11 deletions Tests/Tests.csproj
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472</TargetFrameworks>
<TargetFrameworks>net6.0-windows</TargetFrameworks>
<Title>Xbim Presentation Tests</Title>
<Description>Unit Tests for Xbim.Presentation</Description>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.1.1" />
<PackageReference Include="MSTest.TestAdapter" Version="1.4.0" />
<PackageReference Include="MSTest.TestFramework" Version="1.4.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xaml" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.4.1" />
<PackageReference Include="MSTest.TestAdapter" Version="3.0.2" />
<PackageReference Include="MSTest.TestFramework" Version="3.0.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Xbim.Presentation\Xbim.Presentation.csproj" />
Expand Down
19 changes: 13 additions & 6 deletions Xbim.Presentation/DrawingControl3D.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -231,9 +231,12 @@ protected void ClipPlaneHandlesHide()
{
typeof(Ifc2x3.ProductExtension.IfcSpace),
typeof(Ifc4.ProductExtension.IfcSpace),
typeof(Ifc2x3.ProductExtension.IfcFeatureElement),
typeof(Ifc4.ProductExtension.IfcFeatureElement)
};
typeof(Ifc4x3.ProductExtension.IfcSpace),

typeof(Ifc2x3.ProductExtension.IfcFeatureElement),
typeof(Ifc4.ProductExtension.IfcFeatureElement),
typeof(Ifc4x3.ProductExtension.IfcFeatureElement)
};

/// <summary>
/// The list of types that the engine will not consider in the generation of the scene, the exclusion code needs to be correctly implemented in the
Expand Down Expand Up @@ -1360,10 +1363,14 @@ private void ClearGraphics(ModelRefreshOptions options = ModelRefreshOptions.Non
Materials.Clear();
OriginalOpacities.Clear();

Opaques.Children.Clear();
Transparents.Children.Clear();
if(Opaques != null)
Opaques.Children.Clear();
if(Transparents != null)
Transparents.Children.Clear();
if(Extras != null)
Extras.Children.Clear();
Overlays.Children.Clear();
if(Overlays != null)
Overlays.Children.Clear();

if (!options.HasFlag(ModelRefreshOptions.ViewPreserveSelection))
{
Expand Down
2 changes: 1 addition & 1 deletion Xbim.Presentation/DynamicProductSelectionControl.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ private void btnPerform_Click(object sender, RoutedEventArgs e)
compilerParams.ReferencedAssemblies.Add("System.Xml.dll");
compilerParams.ReferencedAssemblies.Add("System.Xml.Linq.dll");
compilerParams.ReferencedAssemblies.Add("Xbim.Common.dll");
compilerParams.ReferencedAssemblies.Add("Xbim.Ifc2x3.dll");
compilerParams.ReferencedAssemblies.Add("Xbim.Ifc2x3.dll"); // TODO: handle newer schemas
compilerParams.ReferencedAssemblies.Add("Xbim.IO.dll");
compilerParams.ReferencedAssemblies.Add("Xbim.Ifc.Extensions.dll");

Expand Down
4 changes: 2 additions & 2 deletions Xbim.Presentation/Extensions/ObservableMeshVisual3D.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
using System.ComponentModel;
using HelixToolkit.Wpf;
using System.ComponentModel;
using System.Windows.Media.Media3D;
using HelixToolkit.Wpf;
using Xbim.Presentation.Extensions.Utility;

namespace Xbim.Presentation.Extensions
Expand Down
7 changes: 6 additions & 1 deletion Xbim.Presentation/FederatedModel/FederatedModelViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,12 @@ public string Project
var x4 = project as Ifc4.Kernel.IfcProject;
x4.Name = value;
}

else if (project is Ifc4x3.Kernel.IfcProject)
{
var x4 = project as Ifc4.Kernel.IfcProject;
x4.Name = value;
}

txn.Commit();
}
OnPropertyChanged("Project");
Expand Down
2 changes: 1 addition & 1 deletion Xbim.Presentation/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
[assembly: Guid("603a1283-949b-4733-bb77-0c622e46346d")]

[assembly: XmlnsDefinition("http://schemas.Xbim.com/Presentation", "Xbim.Presentation")]
[assembly: InternalsVisibleTo("Tests, PublicKey=002400000480000094000000060200000024000052534131000400000100010029a3c6da60efcb3ebe48c3ce14a169b5fa08ffbf5f276392ffb2006a9a2d596f5929cf0e68568d14ac7cbe334440ca0b182be7fa6896d2a73036f24bca081b2427a8dec5689a97f3d62547acd5d471ee9f379540f338bbb0ae6a165b44b1ae34405624baa4388404bce6d3e30de128cec379147af363ce9c5845f4f92d405ed0")]
[assembly: InternalsVisibleTo("Tests")]

[assembly: ThemeInfo(
ResourceDictionaryLocation.None,
Expand Down
38 changes: 19 additions & 19 deletions Xbim.Presentation/Properties/Resources.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion Xbim.Presentation/Properties/Resources.de.Designer.cs

This file was deleted.

2 changes: 1 addition & 1 deletion Xbim.Presentation/Themes/Generic.xaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Xbim.Presentation"
xmlns:helixToolkit="clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Wpf"
xmlns:helixToolkit="clr-namespace:HelixToolkit.Wpf;assembly=HelixToolkit.Core.Wpf"
xmlns:extensions="clr-namespace:Xbim.Presentation.Extensions">
<Style x:Key="{x:Type local:DrawingControl3D}" TargetType="{x:Type local:DrawingControl3D}">
<Setter Property="Template">
Expand Down
51 changes: 15 additions & 36 deletions Xbim.Presentation/Xbim.Presentation.csproj
Original file line number Diff line number Diff line change
@@ -1,67 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<LanguageTargets>$(MSBuildToolsPath)\Microsoft.CSharp.targets</LanguageTargets>
<TargetFrameworks>net472</TargetFrameworks>
<TargetFrameworks>net6.0-windows</TargetFrameworks>
<Title>Xbim.Presentation</Title>
<Description>Xbim.WindowsUI is a library containing a set of Windows Forms and WPF controls that can be used to build Windows Xaml
or forms-based applications, which can display the 3D geometry and semantic data in IFC building models.</Description>
<PackageId>Xbim.WindowsUI</PackageId>
<PackageReleaseNotes>Now built on XBIM v5. Migrated from log4net to Microsoft.Extensions.Logging.</PackageReleaseNotes>
<PackageReleaseNotes>Now built on XBIM v6.</PackageReleaseNotes>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageRequireLicenseAcceptance>true</PackageRequireLicenseAcceptance>
<Version>5.1.0.0</Version>
<Version>6.0.0.0-develop</Version>
<PackageIcon>XbimIcon.png</PackageIcon>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|net472|AnyCPU'">
<OutputPath>..\Output\Debug\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Release|net472|AnyCPU'">
<OutputPath>..\Output\Release</OutputPath>
<UseWPF>true</UseWPF>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup>
<ItemGroup>
<Compile Update="Properties\Resources.de.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.de.resx</DependentUpon>
</Compile>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Update="Settings.Designer.cs" AutoGen="True" DependentUpon="Settings.settings" />
<None Update="Settings.settings" LastGenOutput="Settings.Designer.cs" Generator="SettingsSingleFileGenerator" />
<None Include="..\XbimIcon.png">
<Pack>True</Pack>
<PackagePath></PackagePath>
</None>
<Page Include="**\*.xaml" SubType="Designer" Generator="MSBuild:Compile" Exclude="App.xaml" />
<Compile Update="**\*.xaml.cs" SubType="Designer" DependentUpon="%(Filename)" />
<Resource Include="assets\*.*" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="HelixToolkit.Wpf" Version="2.14.0" />
<PackageReference Include="HelixToolkit.Core.Wpf" Version="2.23.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.3" />
<PackageReference Include="PropertyTools.Wpf.DeploymentClone" Version="0.0.1" />
<PackageReference Include="Xbim.Geometry" Version="5.1.443-develop" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xaml" />
<Reference Include="WindowsBase" />
<PackageReference Include="Xbim.Essentials" Version="5.9.376-develop" />
<PackageReference Include="Xbim.Geometry" Version="6.1.558-netcore" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Update="Properties\Resources.de.resx">
<Generator>ResXFileCodeGenerator</Generator>
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.de.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Update="Properties\Resources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<Compile Update="Properties\Resources.Designer.cs">
<DesignTime>True</DesignTime>
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
</ItemGroup>
</Project>
Loading