• Martin Weismann's avatar
    Include latest ADSK-developments · 96541495
    Martin Weismann authored
    Highlights:
    - Slice-Extension
    - Prodution-Extension
    - Beamlattice-Extension (v0.98)
    - Required Extensions
    - Warning-levels
    - Large number of bugfixes
    - Improved stability and more tests (using googletest)
    - Improved platform independence
    
    Full ist below:
    
    Initial implementation of BeamLattice spec
    
    Read:
    This simply uses the private beam-extension reader-logic to read those
    bits of the official beam-lattice spec that coincide with the private
    beamspec. Internally, the datamodel of the private spec is still used.
    
    Write:
    
    This simply uses the private beam-extension WRITE-logic to WRITE those
    bits of the official beam-lattice spec that coincide with the
    private beamspec.
    
    NC-4511: Add version info to properties of DLL
    
    Also proposed a way for linux. Not for release, though.
    
    NC-3762: Implement Required Extensions
    
    Added framework that checks for required extensions.
    - Fails if semantic error
    - Warns if a required extension is not supported by lib3MF
    
    NC-3762: Correct handling of Namespaces
    
    NC-4511: Add build_number env-variable
    
    NC-4526: Refactor GTest Unittests
    
    NC-4511: Add 3MF-consortium to version-info
    
    Fix multiple comments
    
    NC-4498: Fix multiple comments
    NC-4498: Fix a couple of comments
    
    NC-4480: Less strict handling of CoInitialize
    
    NC-4480: Fix CMake to work in larger projects
    
    NC-4498: Add SDK
    
    Initial Layout
    Examples
    Fix them for MAC and Unix
    
    Add a ImportStreamCallback
    
    Resolved conflicts
    Make ImportStream_Callback compile
    
    Basic Implementation of beamlattice spec
    
    NC-4526: Basic Implementation BeamLattice Spec
    NC-4526: ClippingMesh, BeamSets and Refs
    NC-4526: Comments to the API
    NC-4526: Test ClippingMesh, add RequiredExtensions
    NC-4526: Fix linux build and UnitTests
    	VisualStudio specifics, create_model and bWriteBeamLattice
    NC-4526: Minor fixes, Documentation, APIVersion
    
    NC-4526: Consistent handling of cmath and isnan
    
    NC-4572: Finished example for GetWarnings
    
    Initial implementation of Slice Extension
    
    NC-4535: Implement Writer for Slice-Extension
    NC-4535: Reader, UnitTests and CMake
    NC-4593: Reader for External SliceRefs
    NC-4535: Finalize Slice Extension (a)
    - add error handling
    - change string handling
    - fix linux build
    NC-4672: add comments to DLL interface
    NC-4535: Finalize Slice Extension (b)
    - Documentation
    - Fix buf in DLL Interface
    - add comments to NMR_COMInterface.h
    - Add SDK example
    - Fix warnings
    NC-4535: Update APIVersion
    NC-4535: Update examples
    NC-2499: Add optimzition (-O2) to UNIX builds
    NC-2499: Remove DEBUG info from UNIX builds
    NC-4718 - Finalize Slice Extension: remove warnings for MAC
    NC-4718 - Finalize Slice Extension
    
    NC-4648: Refactor XML-schemata and XMLLint
    
    NC-4428: Test and fix attachments under linux
    
    - Added tests for attachments (fro stream and file)
    - All retrieveSize of ImportStreams do not alter the position of the
      stream now.
    + NC-2499: Fix Linux SDK
    
    Dis-entangle NMR_COM_EMULAITON from __GNUC__
    
    It is now possible to compile lib3MF with the COM-emulation on Windows,
    too. This is the default now. The (old, not properly working) COM
    implementation that uses the 3MF_ModelReader/Writer_3MF_OPC-classes
    can still be compiled, but will be made depricated soon and afterwards
    removed.
    Instead, users should use the platform independent, native implmentations
    NMR_ModelReader/Writer_3MF_Native.
    
    This will make it easier to maintain and develop lib3MF further in the
    long-run.
    
    NC-2499: Fix NativeXML Reader
    
    It now correclty allows spaces between attribute names and the
    "="-character.
    
    NC-2499: Fix SDK (COM_EMULATION)
    
    Production-Extension
    
    + multiple small changes
    
    NC-4568: Initial Tests for Production Extension
    NC-4568: Prepare Identifiers for ProdExt.
    NC-4568: Preparation for Production
    Plus some fixes to slice extension
    NC-2499: Update README schema validation
    NC-4568: Rewrite Slice Extension
    
    - Factor out and update SliceTests
    - Rewrite Slice Extension
    - Write Slice Extension
    NC-4568: Update first Example
    NC-4568: Another detailed test for production
    NC-4568: Initial Fix to ModelWriter
    
    Makes sure, only the root model contains textures, metainformation, ...
    Will need to be revisited when writing objects into non-root models.
    NC-4568: Add build UUID to interface
    NC-4568: Little Improvements to readers
    NC-4568: Use unique resourceIDs per package
    
    Starts using CPackageResourceID
    
    - Fix SliceStackIDs
    - Fix Component Path
    - ResourceIDs are now per Package and mutable
    - Fix v093 reader
    - Fix to some files
    NC-4568 Refactor ResourceHandler and GetSliceStack
    NC-4568: Update BatchTests
    NC-4568: Improve Unique ID-handling
    
    - Fix duplicated slicestacks on read
    - Update tests
    - Throw Exception for Duplicate Resource ID
    NC-2499: Replace broken testfile (zip-error)
    NC-4568: Read paths and UUIDs
    NC-2581: Integrate a large number of reader checks
    
    Lib3MF should warn/fail when reading broken 3MF-files as part of the
    Must-Fail requirements. This commit implements several of these criteria.
    
    NC-2581: More checks whle reading
    
    - Ensure Uniqueness of UUIDs
    - Check Content Types
    - Fix relations-extension
    - Check Encoding, Dupl. Relations and XML-attributes
    
    Metadata from namespaces
    
    NC-2581: More MustFail-chesk
    
    - Error Duplicate Triangle Indices
    - Check for SliceIndex Errors
    - Check OPC-part names
    - Improve OPC reading (errors)
    - Mustfail for Duplicate vertex in slicesegemnt
    - Fix UUID-Checks for ProductionExt
    - Fix required UUID-checking
    - Fix Linux Build
    - Restrict build-UUID-check to root model
    - Warn on non-root models
    
    NC-4568: Remove Compiler Problems
    
    NC-2581: More MustFail-checks
    
    - Also improves BatchTest to cover more of them
    
    NC-4568: Update API, header and version
    
    - Get and Set UUIDs via API
    - Add checks in NMR_COM_Native
    - Updated version
    Also:
    - Stub for required slice extension
    - Remove BatchTest from default CMake-configuration
    
    NC-4568: Update Slice Example to compile on MAC
    
    NC-4568: Meshresolution for Slices
    
    NC-4568: Fix linux compiler error.
    
    NC-2581: 3MF-reader has a strict-mode now
    
    In Strict Mode, all warnings are returned as errors
    - You can Switch On/Off StrictMode in 3MF-Reader
    - Lib3MF warns more and returns false less
    - SDK-documentation and example have been updated
    
    Multiple fixes
    
    NC-5599: Decode XML escape strings
    
    NC-4568: fixup COM-version
    
    NC-5633: write component-UUID
    
    NC-2499: Test and fix writing a model twice
    
    Read 3MF file directly from a memory buffer
    
    NC-5605 Added interface to read 3mf files directly from a memory buffer
    
    NC-5605 Fixes to direct memory read/write + test. Still broken in some cases
    
    NC-5605 Removed extra stuff from test
    
    NC-5605 Compile fix
    
    NC-5605 Compile fix 2
    
    NC-5605 Addressed pull request comments
    
    NC-2499: Improve NMR_COM_* logic
    
    Changed the negative NMR_COM_EMULATION-flag to a positive
    NMR_COM_NATIVE-flag.
    i.e.:
     #ifndef NMR_COM_EMULATION is now #'fdef NMR_COM_NATIVE
     etc.
    
    NC-5660: Check attributes in slicrefs loosely
    
    ztop attributes in slicerefs are only recorded as warnings, not errors
    anymore.
    
    NC-5660: Only warn when slices do not increase
    
    NC-5711: Enable OPC-package thumbnails
    
    - Implementation of OPC-package thumbnails
    - Unit tests
    - Update Documentation
    
    NC-2499: Fix typos in comments
    
    Add object thumbnails
    
    - Thumbnails are now handled as texture streams
    - Reading and re-writing of object thumbnails
    - Fixes thumnbnails in ProductionExtension
      (read texture streams from OPC subparts)
    
    NC-5711: Fix broken testfile
    
    NC-5711: Allow OPC thumbnails for objects
    
    NC-5711: Fix typos and update author in licenses
    
    NC-5711: Declare decprecated functions
    
    NC-5711: Unify Textures and Object Thumbnails
    
    Refactored Textures to not use texture stream anymore. Instead, the
    streams are now handled like regular modelattachments.
    Added object thumbnail to reference exactly these attachments, too.
    Includes several tests for Textures and Object Thumbnails
    
    NC-5711: Remove some outdated comments in the code
    
    NC-5711: Finalize Object thumbnails
    
    - Add ObjectThumbnail path
    - Update several Object-Thumbnail-tests
    
    - Updates API, SDK-Documentation and API-version
    
    HPA-1010: Warn when reading empty attachment
    
    NC-2499: Remove unnecessary NMR_ModelThumbnail.h
    
    Add handling of default PIDs
    
    NC-5679: Initial fix to objectPIDs
    
    NC-5679: Further improvement to objectPIDs
    
    NC-5679 Update v093-examples to have default PIDs
    
    NC-5679: Warn when reading invalid default props.
    
    NC-5679: Fix typo in exception
    
    NC-5679: Update SDK-Example with defaultproperties
    
    NC-5679: Update 2nd Example with defaultproperties
    
    NC-2499: Handle paths differently on Win + Linux
    
    use UTF16-wchars and UTF8-chars, respectively.
    
    NC-2499: Unittests for paths
    
    NC-5995: Read Override-tags in ContentTypes
    
    NC-5995: Handle the box-attribute of textures
    
    NC-5995: Fix default PID handling
    
    in particular, only try to restore/create default PID if necessary in an
    object
    
    NC-5995: Warn when reading with compositematerials
    
    NC-5995: Update non-conforming test-files
    
    NC-5995: Update unittests to respect new warning
    
    Fix merge conflict
    
    NC-2499: Add a missing exception text
    
    NC-2499: Prepare test for multiproperties
    
    NC-2499: Only warn on unknown attributes
    
    NC-2499: Only warn on ambigous RelationshipType
    
    NC-2499: Warn when build-item of type OTHER appear
    
    NC-6230: Warn on default PID in components object
    
    NC-2499: Fix missing partnumber for BuildItems
    
    NC-4821 - Update slice-interface
    
    AD-23: Read some slice info in Prod-Ext.-Tests
    
    Update BeamLattice to spec-ver 0.98
    
    NC-5667: Merge Precision and Accuracy to MinLength
    
    NC-5667: Add correct/fix capmodes
    
    NC-5667: Handle RepresentatioMesh
    
    NC-5667: Refactor ClipInfo to BeamLatticeAttributes
    
    NC-5667: Improve tests for BeamLatticeAttributes
    
    NC_5667: Restrict BeamLattice to Model+SolidSupp.
    
    NC-5667: Update SDK documentation
    
    NC-5667: Update API-Version
    
    NC-5667: Add beamlattice XSD v097
    
    NC-5667: Fix duplicate ErrorCodes
    
    NC-5667: Add simple beamlattice example
    
    NC-5667: change beamlattice 'id' to 'identifier'
    
    NC-5667: tiny update to XSD
    
    NC-5062: Allow publication of Slice-Code
    
    NC-5062: Correctly format slice-code
    
    NC-5062: Allow publication of BeamLattic-Code
    
    Update documentation of Lib3MF
    
    NC-5062: Refactor and clean-up testfiles
    
    Remove third party geometries and images from the test files in the repo.
    Rearrange testfiles a bit.
    
    Removed unused constant
    
    Remove XMLLint-binary
    
    Fix some typos
    
    Update Readme
    
    Remove unused things from SDK
    96541495
NMR_Mesh.h 3.89 KB