Skip to content

Commit

Permalink
[PointSet] fixed out-of-core node merge for part indices; code cleanu…
Browse files Browse the repository at this point in the history
…p, C#12
  • Loading branch information
stefanmaierhofer committed Dec 4, 2024
1 parent 6b626d5 commit e621957
Show file tree
Hide file tree
Showing 60 changed files with 11,226 additions and 11,548 deletions.
4 changes: 4 additions & 0 deletions RELEASE_NOTES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
### 5.5.4
- [PointSet] fixed out-of-core node merge for part indices
- [PointSet] code cleanup, C#12

### 5.5.3
- Aardvark.Data.E57 parser now reads custom "Reflectance" data.
- Updated System.Text.Json dependency (CVE-2024-43485)
Expand Down
4 changes: 2 additions & 2 deletions src/Aardvark.Algodat.Tests/Aardvark.Algodat.Tests.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,12 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
<OutputPath>../../bin/Debug</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>1701;1702;7022</NoWarn>
<NoWarn>1701;1702;7022;0130</NoWarn>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|AnyCPU'">
<OutputPath>../../bin/Release</OutputPath>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<NoWarn>1701;1702;7022</NoWarn>
<NoWarn>1701;1702;7022;0130</NoWarn>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\Aardvark.Data.E57\Aardvark.Data.E57.csproj" />
Expand Down
21 changes: 14 additions & 7 deletions src/Aardvark.Algodat.Tests/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ public class Program
{
#region CreateStore

internal static Task<string> CreateStore(string filename, string storeDir, double minDist)
=> CreateStore(filename, new DirectoryInfo(storeDir), minDist);
internal static Task<string> CreateStore(string filename, string storeDir, double minDist, int maxDegreeOfParallelism = 0)
=> CreateStore(filename, new DirectoryInfo(storeDir), minDist, maxDegreeOfParallelism);

internal static Task<string> CreateStore(IEnumerable<Chunk> chunks, string storeDir, double minDist, int? splitLimit = null)
=> CreateStore(chunks, new DirectoryInfo(storeDir), minDist, splitLimit);

internal static Task<string> CreateStore(string filename, DirectoryInfo storeDir, double minDist)
internal static Task<string> CreateStore(string filename, DirectoryInfo storeDir, double minDist, int maxDegreeOfParallelism = 0)
{
if (!storeDir.Exists) storeDir.Create();

Expand All @@ -56,7 +56,7 @@ internal static Task<string> CreateStore(string filename, DirectoryInfo storeDir
.WithStorage(store)
.WithKey(key)
.WithVerbose(true)
.WithMaxDegreeOfParallelism(0)
.WithMaxDegreeOfParallelism(maxDegreeOfParallelism)
.WithMinDist(minDist)
.WithNormalizePointDensityGlobal(true)
//.WithMaxChunkPointCount(32 * 1024 * 1024)
Expand All @@ -73,7 +73,7 @@ internal static Task<string> CreateStore(string filename, DirectoryInfo storeDir
return Task.FromResult(key);
}

internal static Task<string> CreateStore(IEnumerable<Chunk> chunks, DirectoryInfo storeDir, double minDist, int? splitLimit = null)
internal static Task<string> CreateStore(IEnumerable<Chunk> chunks, DirectoryInfo storeDir, double minDist, int? splitLimit = null, int maxDegreeOfParallelism = 0)
{
if (!storeDir.Exists) storeDir.Create();

Expand All @@ -86,7 +86,7 @@ internal static Task<string> CreateStore(IEnumerable<Chunk> chunks, DirectoryInf
.WithStorage(store)
.WithKey(key)
.WithVerbose(true)
.WithMaxDegreeOfParallelism(0)
.WithMaxDegreeOfParallelism(maxDegreeOfParallelism)
.WithMinDist(minDist)
.WithNormalizePointDensityGlobal(true)
//.WithMaxChunkPointCount(32 * 1024 * 1024)
Expand Down Expand Up @@ -2807,7 +2807,14 @@ public static async Task Main(string[] _)
{
await Task.CompletedTask; // avoid warning if no async methods are called here ...

Test_Parse_Regression();
await CreateStore(
@"W:\Datasets\Vgm\Data\2024-11-27_bugreport\Haus1cm.e57",
@"E:\tmp\Haus1cm.e57_000",
minDist: 0.005,
maxDegreeOfParallelism: 1
);

//Test_Parse_Regression();

//Test_Import_Regression();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<LangVersion>10</LangVersion>
<LangVersion>12</LangVersion>
<Nullable>enable</Nullable>
<NoWarn>1701;1702;1591</NoWarn>
<NoWarn>1701;1702;1591;0130</NoWarn>
<DocumentationFile>..\..\bin\Release\netstandard2.0\Aardvark.Geometry.PointSet.xml</DocumentationFile>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<RootNamespace>Aardvark.Geometry.Points</RootNamespace>
Expand Down
63 changes: 31 additions & 32 deletions src/Aardvark.Geometry.PointSet/Editing/IMask2d.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Copyright (C) 2006-2023. Aardvark Platform Team. http://github.com/aardvark-platform.
Copyright (C) 2006-2024. Aardvark Platform Team. http://github.com/aardvark-platform.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
Expand All @@ -14,38 +14,37 @@ You should have received a copy of the GNU Affero General Public License
using Aardvark.Base;
using System.Text.Json.Nodes;

namespace Aardvark.Geometry.Points
namespace Aardvark.Geometry.Points;

/// <summary>
/// </summary>
public interface IMask2d
{
/// <summary>
/// </summary>
public interface IMask2d
{
/// <summary>
/// </summary>
Triangle2d[] ComputeTriangulation();

/// <summary>
/// </summary>
IMask2d And(IMask2d other);

/// <summary>
/// </summary>
IMask2d Or(IMask2d other);

/// <summary>
/// </summary>
IMask2d Xor(IMask2d other);

/// <summary>
/// </summary>
IMask2d Subtract(IMask2d other);

/// <summary>
/// </summary>
bool IsEmpty { get; }

/// <summary>
/// </summary>
JsonNode ToJson();
}
Triangle2d[] ComputeTriangulation();

/// <summary>
/// </summary>
IMask2d And(IMask2d other);

/// <summary>
/// </summary>
IMask2d Or(IMask2d other);

/// <summary>
/// </summary>
IMask2d Xor(IMask2d other);

/// <summary>
/// </summary>
IMask2d Subtract(IMask2d other);

/// <summary>
/// </summary>
bool IsEmpty { get; }

/// <summary>
/// </summary>
JsonNode ToJson();
}
Loading

0 comments on commit e621957

Please sign in to comment.