Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
01325a7
Bump cmake_minimum_required to 3.5 (#416)
jschobben Apr 2, 2025
8fc710f
Fix compile errors for gcc-14 (#421)
lvk88 Apr 11, 2025
611ab1a
Ubuntu 20.04 is deprecated in github actions. Switch to Ubuntu 24.04 …
vijaiaeroastro May 20, 2025
4d5505e
Update spec information for trianglesets, volumetric and implicit (#423)
vijaiaeroastro May 20, 2025
622fab6
updating windows version from 2019 to 2022 github actions
gangatp Jun 11, 2025
6d80c6f
using visual studio 17 2022 in github actions
gangatp Jun 11, 2025
1d4b2f6
supporting 32 bit win build for VS2022
gangatp Jun 11, 2025
fce4988
Merge pull request #425 from 3MFConsortium/gangatp/actions_win_22
gangatp Jun 12, 2025
dde21ee
[CMakePresets.json] Add Linux build presets and update configuration …
3dJan Aug 24, 2025
151f6dd
[CMakeLists.txt] Update minimum required CMake version to 3.10
3dJan Aug 24, 2025
d65f419
[lib3mf_nodeiterator.cpp] Fixing compiler warnings
3dJan Aug 24, 2025
ef67b03
[CMakePresets.json] Update description for linux-base preset to remov…
3dJan Sep 14, 2025
6306c13
[ModelWriter] Add support for beam lattice balls extension in mesh an…
3dJan Sep 14, 2025
6221bc0
[CMakeLists.txt] Enable fine-grained GoogleTest discovery for CPP bin…
3dJan Sep 14, 2025
1fb902a
[ModelWriter] Implement detectRequiredExtensions method to identify r…
3dJan Sep 14, 2025
c460f25
removing non portable test
3dJan Sep 14, 2025
30fa6fe
[Test] Remove legacy balls namespace backward compatibility test from…
3dJan Sep 14, 2025
4ae49a7
[Test] Add Read_BallExtension_TestSuite_P_BXX_2021_06 to validate bal…
3dJan Sep 14, 2025
226720f
[BeamLattice] Extend ball attributes handling to support ball mode an…
3dJan Sep 14, 2025
d162dc1
Update Source/Model/Reader/v100/NMR_ModelReaderNode100_Mesh.cpp
3dJan Sep 18, 2025
79f090a
Update Source/Model/Reader/Volumetric2201/NMR_ModelReaderNode_LevelSe…
3dJan Sep 18, 2025
d8fbfb1
[build.yml] Update MUSTPASS and MUSTFAIL comparison logic to allow im…
3dJan Sep 18, 2025
f99df8e
[build.yml] Enhance integration test reporting by listing MUSTPASS fa…
3dJan Sep 19, 2025
1fe24e2
[Volumetric] Add unit test for LevelSet to verify volume data writing…
3dJan Oct 1, 2025
6aaf28b
[CMakePresets.json] Add build and test presets for Windows x64 config…
3dJan Oct 2, 2025
aae0a34
[CMakeLists.txt] Add ZipBuffer source files and update test configura…
3dJan Oct 2, 2025
46abd6d
[Volumetric] Refactor zip handling by replacing zip library calls wit…
3dJan Oct 2, 2025
7e97542
[ExtractInfo] Add strict mode option for reading 3MF files and update…
3dJan Oct 2, 2025
fdc26e2
[BeamLattice] Validate ball mode and radius, throw exception for inva…
3dJan Oct 2, 2025
400edfe
Merge pull request #435 from 3MFConsortium/3djan/Beamlattice_namespac…
3dJan Oct 6, 2025
b9cdaed
Merge pull request #433 from 3MFConsortium/3dJan/Beamlattice_namespac…
3dJan Oct 8, 2025
5f7ee59
Merge branch 'develop' of ssh://ssh.github.com:443/3MFConsortium/lib3…
3dJan Oct 14, 2025
d0b44ea
Update Tests/CPP_Bindings/Source/ZipBuffer.cpp
3dJan Oct 15, 2025
144f4e4
[ImplicitNodes] Add BeamLatticeNode, FunctionGradientNode and Normali…
3dJan Oct 17, 2025
8787d26
Add BeamLattice, FunctionGradient and NormalizeDistance implicit node…
3dJan Oct 17, 2025
8dae4f9
[Volumetric.test.cpp] Remove obsolete CPP bindings volumetric test
3dJan Oct 17, 2025
0f4dc23
[ImplicitNode] Improve error messages and add new node types to iterator
3dJan Oct 17, 2025
5d592fd
[ImplicitNodes.test.cpp] Use ImplicitNodes::OutFolder, cache ports be…
3dJan Oct 17, 2025
60e8b43
[build.yml] Use macos-15 runner for macOS build, debug and codecovera…
3dJan Oct 17, 2025
06ee076
Merge branch '3djan/FixMacOSBuild' into 3djan/FixResourceOrder
3dJan Oct 17, 2025
d9543bb
Merge branch '3djan/FixMacOSBuild' into 3djan/volumetric_beamlattice_…
3dJan Oct 17, 2025
caf953d
Merge branch '3djan/FixResourceOrder' into 3djan/volumetric_beamlatti…
3dJan Oct 20, 2025
274c495
Merge branch '3djan/FixResourceOrder' into 3djan/volumetric_beamlatti…
3dJan Oct 20, 2025
7a8ca7f
Fix build issue in OSX
vijaiaeroastro Oct 29, 2025
a509bdb
Fix MinGW failure too
vijaiaeroastro Oct 29, 2025
674dbe8
Some more clean up
vijaiaeroastro Oct 29, 2025
77c7f73
Revert cmake
vijaiaeroastro Oct 29, 2025
17c2e25
Make compile defs in Apple global
vijaiaeroastro Oct 29, 2025
b72cca6
Merge pull request #436 from 3MFConsortium/3djan/FixResourceOrder
3dJan Oct 29, 2025
38df40e
Merge branch 'develop' of ssh://ssh.github.com:443/3MFConsortium/lib3…
3dJan Nov 26, 2025
3732957
Merge pull request #437 from 3MFConsortium/3djan/volumetric_beamlatti…
3dJan Dec 3, 2025
59e82bc
updating ACT and added Java and WASM bindings (#441)
gangatp Dec 11, 2025
a64fa31
include surface as an object type
vijaiaeroastro Dec 11, 2025
79e7ecf
Avoid ratelimiting test suite assets
vijaiaeroastro Dec 11, 2025
799d227
test again
vijaiaeroastro Dec 11, 2025
bc2915c
.
vijaiaeroastro Dec 11, 2025
4aec635
Merge pull request #442 from 3MFConsortium/fix/surfaceObjectType
gangatp Dec 12, 2025
890febc
updating cpp documentation
gangatp Dec 15, 2025
cda9509
copilot suggestions
gangatp Dec 15, 2025
22d8fb9
update documentation with copilot suggestions
gangatp Dec 15, 2025
c97d376
Merge pull request #444 from 3MFConsortium/gangatp/update_documentati…
gangatp Dec 15, 2025
54ccbb0
Merge CI and other minor changes from alpha branch into develop (#452)
vijaiaeroastro Feb 18, 2026
8632cc9
Merge 2.5.0 release changes into develop (#454)
vijaiaeroastro Mar 2, 2026
82c524d
Introduction of Boolean Spec in lib3mf (#461)
vijaiaeroastro May 13, 2026
a8e077d
Add Boolean mesh materialization and a WASM binding temporary patch (…
vijaiaeroastro Jul 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
307 changes: 260 additions & 47 deletions .github/workflows/build.yml

Large diffs are not rendered by default.

4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,6 @@ SetupWriteRead5.3mf
v093reout.3mf
.vs
.idea
cmake-build-*
cmake-build-*
TODO.md
Testing
463 changes: 455 additions & 8 deletions Autogenerated/Bindings/C/lib3mf.h

Large diffs are not rendered by default.

46 changes: 33 additions & 13 deletions Autogenerated/Bindings/C/lib3mf_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

This file has been generated by the Automatic Component Toolkit (ACT) version 1.8.0-alpha.
This file has been generated by the Automatic Component Toolkit (ACT) version 1.8.1-develop.

Abstract: This is an autogenerated plain C Header file with basic types in
order to allow an easy use of the 3MF Library

Interface version: 2.4.0
Interface version: 2.6.0

*/

Expand Down Expand Up @@ -84,7 +84,7 @@ typedef void * Lib3MF_pvoid;
**************************************************************************************************************************/

#define LIB3MF_VERSION_MAJOR 2
#define LIB3MF_VERSION_MINOR 4
#define LIB3MF_VERSION_MINOR 6
#define LIB3MF_VERSION_MICRO 0
#define LIB3MF_VERSION_PRERELEASEINFO ""
#define LIB3MF_VERSION_BUILDINFO ""
Expand Down Expand Up @@ -220,6 +220,7 @@ typedef Lib3MFHandle Lib3MF_SliceStackIterator;
typedef Lib3MFHandle Lib3MF_ObjectIterator;
typedef Lib3MFHandle Lib3MF_MeshObjectIterator;
typedef Lib3MFHandle Lib3MF_ComponentsObjectIterator;
typedef Lib3MFHandle Lib3MF_BooleanObjectIterator;
typedef Lib3MFHandle Lib3MF_Texture2DIterator;
typedef Lib3MFHandle Lib3MF_BaseMaterialGroupIterator;
typedef Lib3MFHandle Lib3MF_ColorGroupIterator;
Expand All @@ -235,6 +236,7 @@ typedef Lib3MFHandle Lib3MF_TriangleSet;
typedef Lib3MFHandle Lib3MF_Object;
typedef Lib3MFHandle Lib3MF_MeshObject;
typedef Lib3MFHandle Lib3MF_LevelSet;
typedef Lib3MFHandle Lib3MF_BooleanObject;
typedef Lib3MFHandle Lib3MF_BeamLattice;
typedef Lib3MFHandle Lib3MF_FunctionReference;
typedef Lib3MFHandle Lib3MF_VolumeDataColor;
Expand Down Expand Up @@ -310,6 +312,9 @@ typedef Lib3MFHandle Lib3MF_ConstVecNode;
typedef Lib3MFHandle Lib3MF_ConstMatNode;
typedef Lib3MFHandle Lib3MF_MeshNode;
typedef Lib3MFHandle Lib3MF_UnsignedMeshNode;
typedef Lib3MFHandle Lib3MF_BeamLatticeNode;
typedef Lib3MFHandle Lib3MF_FunctionGradientNode;
typedef Lib3MFHandle Lib3MF_NormalizeDistanceNode;
typedef Lib3MFHandle Lib3MF_FunctionCallNode;
typedef Lib3MFHandle Lib3MF_NodeIterator;
typedef Lib3MFHandle Lib3MF_Function;
Expand Down Expand Up @@ -358,9 +363,16 @@ typedef enum eLib3MFObjectType {
eObjectTypeOther = 0,
eObjectTypeModel = 1,
eObjectTypeSupport = 2,
eObjectTypeSolidSupport = 3
eObjectTypeSolidSupport = 3,
eObjectTypeSurface = 4
} eLib3MFObjectType;

typedef enum eLib3MFBooleanOperation {
eBooleanOperationUnion = 0,
eBooleanOperationDifference = 1,
eBooleanOperationIntersection = 2
} eLib3MFBooleanOperation;

typedef enum eLib3MFTextureType {
eTextureTypeUnknown = 0,
eTextureTypePNG = 1,
Expand Down Expand Up @@ -472,11 +484,11 @@ typedef enum eLib3MFImplicitNodeType {
eImplicitNodeTypeMatVecMultiplication = 14, /** Multiplies a matrix with a vector */
eImplicitNodeTypeTranspose = 15, /** Transposes a matrix */
eImplicitNodeTypeInverse = 16, /** Computes the inverse of a matrix */
eImplicitNodeTypeSinus = 17, /** Calculates the sinus */
eImplicitNodeTypeCosinus = 18, /** Calculates the cosinus */
eImplicitNodeTypeSinus = 17, /** Calculates the sine */
eImplicitNodeTypeCosinus = 18, /** Calculates the cosine */
eImplicitNodeTypeTan = 19, /** Calculates the tangent */
eImplicitNodeTypeArcSin = 20, /** Calculates the arcsinus */
eImplicitNodeTypeArcCos = 21, /** Calculates the arccosinus */
eImplicitNodeTypeArcSin = 20, /** Calculates the arcsine */
eImplicitNodeTypeArcCos = 21, /** Calculates the arccosine */
eImplicitNodeTypeArcTan = 22, /** Calculates the arctangent */
eImplicitNodeTypeArcTan2 = 23, /** Calculates the arctangent */
eImplicitNodeTypeMin = 24, /** Calculates the minimum of two values */
Expand All @@ -486,9 +498,9 @@ typedef enum eLib3MFImplicitNodeType {
eImplicitNodeTypePow = 28, /** Calculates the power A^B */
eImplicitNodeTypeSqrt = 29, /** Calculates the square root */
eImplicitNodeTypeExp = 30, /** Exponential function */
eImplicitNodeTypeLog = 31, /** Natural logarithmus */
eImplicitNodeTypeLog2 = 32, /** Logarithmus to the base 2 */
eImplicitNodeTypeLog10 = 33, /** Logarithmus to the base 10 */
eImplicitNodeTypeLog = 31, /** Natural logarithm */
eImplicitNodeTypeLog2 = 32, /** Logarithm to the base 2 */
eImplicitNodeTypeLog10 = 33, /** Logarithm to the base 10 */
eImplicitNodeTypeSelect = 34, /** If A is less than B returns C, else D */
eImplicitNodeTypeClamp = 35, /** Clamps the input value to min and max */
eImplicitNodeTypeSinh = 36, /** Calculates the hyperbolic sine */
Expand All @@ -503,9 +515,12 @@ typedef enum eLib3MFImplicitNodeType {
eImplicitNodeTypeMesh = 45, /** Calculates the signed distance to a mesh */
eImplicitNodeTypeLength = 46, /** Calculates the length of a vector */
eImplicitNodeTypeConstResourceID = 47, /** Selects a resource (function, mesh etc.) */
eImplicitNodeTypeVectorFromScalar = 48, /** Creates a vector from one scalar values */
eImplicitNodeTypeVectorFromScalar = 48, /** Creates a vector from one scalar value */
eImplicitNodeTypeUnsignedMesh = 49, /** Calculates the unsigned distance to a mesh */
eImplicitNodeTypeMod = 50 /** Calculates the modulo of two values (same behaviour as glsl mod) */
eImplicitNodeTypeMod = 50, /** Calculates the modulo of two values (same behaviour as glsl mod) */
eImplicitNodeTypeBeamLattice = 51, /** Calculates the signed distance to a beam lattice */
eImplicitNodeTypeFunctionGradient = 52, /** Calculates the gradient of a function */
eImplicitNodeTypeNormalizeDistance = 53 /** Normalizes a distance field */
} eLib3MFImplicitNodeType;

/**
Expand Down Expand Up @@ -578,6 +593,11 @@ typedef union {
int m_code;
} structEnumLib3MFObjectType;

typedef union {
eLib3MFBooleanOperation m_enum;
int m_code;
} structEnumLib3MFBooleanOperation;

typedef union {
eLib3MFTextureType m_enum;
int m_code;
Expand Down
Loading
Loading