Release Notes

The system is released with a Major/Minor/Patch release numbering scheme. At major releases, the API, architecture, packaging and feature set may change significantly. At minor changes features may appear, major bugs corrected, with API relatively stable. Patch updates are reserved for bugs, critical out-of-schedule special releases, etc. The following notes indicate a summary of changes at each release, presented with the most recent release at the top of the document, then going back in time to previous releases.

Notices

What's New

The following shows changes relating the current version:

What's new in PDF3D Version 2.25.0

Roll-up of incremental releases since 2.24.0
  1. Security & Compliance Related Fixes (#1947)
  2. These notes provide information about security & compliance related fixes which are contained within this version. This information applies to all PDF3D products. Please see https://cwe.mitre.org for a list of software and hardware weakness types.
    1. Buffer Overflow Case: CWE-119, CWE-121, CWE-122, CWE-123, CWE-124
    2. Uninitialized Variable: CWE-457
    3. Resource Leak: CWE-404
    4. Poorly Defined Expressions: CWE-398, CWE-570
    5. Ignored return value: CWE-252, CWE-253
    6. Removal of third party dependencies: 7-ZIP, MathJax
  3. ReportGen
    1. #1990: Added functionality to define Product Markup Information within pdf3dsettings state files (for an example, see Samples/States/CesarVillarreal-6210NR-NOJS-AF-PMI-META.pdf3dsettings)
    2. #1991: Added functionality to define a view-dependent node visibility and opacity block within pdf3dsettings state files (for an example, see Samples/States/XMpLant.pdf3dsettings)
    3. #1992: Added functionality to define custom clipping plane object, at world-coordinates at an arbitary angle, within pdf3dsettings state files (for an example, see Samples/States/duck.pdf3dsettings)
    4. #1993: Added metadata preservation when using Teigha Interface, capturing information originally contained within converted file (e.g. Author, Comments, Original File Creation Date). In Adobe Viewer, metadata information is shown under the model tree.
    5. #1995: Added functionality to define a custom data table within pdf3dsettings state file (for example and description of usage, see user manual section How-To/How to Adjust Advanced Parameters)
    6. #1996: Added funtionality to define a 3D sequence animation by loading a collection of input files from a specified folder within pdf3dsetting state file (for example and description of usage, see user manual section How-To/How to Adjust Advanced Parameters)
    7. #1623: Corrected a bug encountered when template files were not correctly loaded when changing the language of the user interface
    8. #1966: Added a message to the output log to explain errors encountered with the loading of PDF files which contain security parameters
    9. #2001: Changed naming notation for gLTF loader extensions
    10. #1832: PDF Page Size Presets Adjustment for standard PowerPoint size, added PowerPoint Widescreen option
    11. #2008: Added 14 additional CLI Utility Programs in installation directory. Please note that to enable this functionality, you must email [email protected] and request that your license key is enabled for CLI utility usage. For further details, see How-To/How-To-Adjust-Advanced-Parameters.htm in the user manual
    12. #2012: Corrected a bug where full set of required dll files were not properly packaged within VS2022 directory
  4. PDF3D.IO
    1. #1993: Added metadata preservation when using Teigha Interface, capturing information originally contained within converted file (e.g. Author, Comments, Original File Creation Date). In Adobe Viewer, metadata information is shown under the model tree.
    2. #2001: Changed naming notation for gLTF loader extensions
    3. #2011: Added build for additional platform - CentOS Stream 9 (please contact [email protected] if interested)
    4. #2012: Corrected a bug where full set of required dll files were not properly packaged within VS2022 directory
  5. PDF3D-SDK PRO General Changes
    1. #1993: Added metadata preservation when using Teigha Interface, capturing information originally contained within converted file (e.g. Author, Comments, Original File Creation Date). In Adobe Viewer, metadata information is shown under the model tree.
    2. #2001: Changed naming notation for gLTF loader extensions
    3. #1832: PDF Page Size Presets Adjustment for standard PowerPoint size, added PowerPoint Widescreen option
    4. #2010: Changes to SDK Pro packaging & installer generation Users must add environment variable PDF3D_ROOT
    5. #2011: Added build for additional platform - CentOS Stream 9 (please contact [email protected] if interested)
    6. #2012: Corrected a bug where full set of required dll files were not properly packaged within VS2022 directory

What's new in PDF3D Version 2.24.0

Roll-up of incremental releases since 2.23.1
  1. ReportGen
    1. #1584: Corrected unstable rotations with non-vertical yaw in Panoramic 360
    2. #1941: Corrected incorrectly blacked out check boxes in UI, encountered in Linux builds
    3. #1948: Added new alternative dark theme option on all platforms
    4. #1965: Improved file drag and drop performance on all platforms
    5. #1629: Corrected indefinite hang when loading secured PDF files as templates or input files
    6. #1931: Corrected outdated references used in the generation of the graphical interface
    7. #1968: Improved input file validation checks
    8. #1969: Corrected inconsistent file selection filtering in different dialogs to be consistent
    9. #1973: Corrected behaviour of environment variable expansions in templates and output file paths
    10. #1967: On Windows, added previous selection history within file selection dialog
    11. #1969: Improved file selection/export dialog logic and made consistent for all options
    12. #1936: Updated X3D loading to utilise pugixml V1.12
    13. #1488: Improved loading performance and corrected cases of very long X3D loading times:
      150k triangle x3d case improved loading time from 3000s to 15s, and 1M triangles in less than 30 seconds
    14. #1634: X3D text label font family corrected by applying substitution map to PDF base 14 fonts
    15. #1634: X3D text label missing characters bug corrected
    16. #1862: Improved 'Object Orientation' feature to be based on normalized values
    17. #1927: Corrected duplicated nodes in U3DRHC tree that contain no actual meshes
    18. #1622: Corrected behaviour for label "Continuous Update" disabled, when used labels are refreshed
      with dynamic orientation control as the user drags the mouse and rotates or zooms the 3D scene
    19. #1951: Corrected error where default selection dialogue may recommend undesired interface
    20. #1975: Corrected errors relating to behaviour seen when loading state files which use attachments check box
    21. #1974: Added new example state file (using STEP file input) to demonstrate new features and include no JavaScript,
      file attachments, Metadata and Labels when Using PMI
    22. #1596: Corrected North Compass lost visibility in scene by clipping planes
    23. #1980: Corrected widget annotation behaviour and updated examples to use correct class
    24. #1978: Corrected activation failures encountered when using PDF3D LLM Floating Server on Windows
    25. #1926: Building Windows platform releases on Visual Studio 2022
    26. #1964: Corrected error in Panoramic 360 demo example state file where Home button does not correctly reset azimuth
    27. #1961: Updated Qt build vrs to v5.15.2 on Windows
    28. #1947: Compliance/security issue reviews, resolved:
      1. #1957: Minimatch Security Vulnerability (CVE-2022-3517), uncontrolled resource allocation, in rest.js.client
      2. #1985: Bump qs from 6.4.0 to 6.4.1
    29. #1075: Added support for extrusion nodes in X3D
    30. #1988: Corrected error where security parameters are not correctly applied
    31. #1988: Corrected errors relating to command line usage in PDF3D ReportGen:
      Users should note that in V2.24, the ability to specify preferred interface from command line has been deprecated.
      To specify preferred interface, please define <PreferredInterfaceName value=""/> within both AssemblyProperties
      and DefaultAssemblyProperties within your .pdf3dsettings file
  2. PDF3D.IO
    1. #1959: Corrected failure of the 'Always in Front' option for annotations
    2. #1584: Corrected unstable rotations with non-vertical yaw in Panoramic 360
    3. #1629: Corrected indefinite hang when loading secured PDF files as templates or input files
    4. #1931: Corrected outdated references used in the generation of the graphical interface
    5. #1936: Updated X3D loading to utilise pugixml V1.12
    6. #1488: Improved loading performance and corrected cases of long X3D loading times:
      150k triangle x3d case improved loading time from 3000s to 15s, and 1M triangles in less than 30 seconds
    7. #1634: X3D text label font family corrected by applying substitution map to PDF base 14 fonts
    8. #1634: X3D text label missing characters bug corrected
    9. #1862: Improved 'Object Orientation' feature to be based on normalized values
    10. #1927: Corrected duplicated nodes in U3DRHC tree that contain no actual meshes and added control to change root node names:
      new tag added: <PointResource modelName="Some custom name"/>
      (please see XML documentation for information on PointResource and LightResource tags)
    11. #1622: Corrected behaviour for label "Continuous Update" disabled mode, when used labels are refreshed
      with dynamic orientation control as the user drags the mouse and rotates or zooms the 3D scene
    12. #1974: Added new example state file (using STEP file input) to demonstrate new features and include no JavaScript,
      file attachments, Metadata and Labels when Using PMI
    13. #1596: Corrected North Compass lost visibility in scene by clipping planes
    14. #1977: Updated QA testing .py file (in pdf3d.io folder) to include new examples and removed deprecated batch QA files
    15. #1980: Corrected widget annotation behaviour and updated examples to use correct class
    16. #1978: Corrected activation failures encountered when using PDF3D LLM Floating Server on Windows
    17. #1926: Building Windows platform releases on Visual Studio 2022
    18. #1964: Corrected error in Panoramic 360 demo example state file where Home button does not correctly reset azimuth
      Please note for users of pdf3d.io, the sample state folder contains examples which are intended for packaging with PDF3DReportGen.
      When running these, check all resources refer to correct paths.
    19. #1961: Updated Qt build vrs to v5.15.2 on Windows
    20. #1947: Compliance/security issue reviews, resolved:
      1. #1957: Minimatch Security Vulnerability (CVE-2022-3517), uncontrolled resource allocation, in rest.js.client
      2. #1985: Bump qs from 6.4.0 to 6.4.1
    21. #1075: Added support for extrusion nodes in X3D
  3. X3D Interface
    1. #1936: Updated X3D loading to utilise pugixml V1.12
    2. #1488: Improved loading performance and corrected cases of long X3D loading times:
      150k triangle x3d case improved loading time from 3000s to 15s, and 1M triangles in less than 30 seconds
    3. #1634: X3D text label font family corrected by applying substitution map to PDF base 14 fonts
    4. #1634: X3D text label missing characters bug corrected
    5. #1075: Corrected bugs relating to poor visual representation of extrusion nodes in X3D
  4. PDF3D-SDK PRO General Changes
    1. #1949: Removed CMake and (now deprecated) PDF3D in PowerPoint installers and executables from SDK packaging
    2. #1959: Corrected failure of the 'Always in Front' option for annotations
    3. #1584: Corrected unstable rotations with non-vertical yaw in Panoramic 360
    4. #1931: Corrected outdated references used in the generation of the graphical interface
    5. #1927: Corrected duplicated nodes in U3DRHC tree that contain no actual meshes and added control to change root node names:
      See documentation for PDF3DAdditionalResourcesNames class, with methods:
      const char * getResourceFile () const
      void setResourceFile (const char *)
      const char * getJavaScriptId () const
      void setJavaScriptId (const char *)
      const char * getModelName () const
      void setModelName (const char *)
    6. #1622: Corrected behaviour for label "Continuous Update" disabled mode, when used labels are refreshed with dynamic orientation control
      as the user drags the mouse and rotates or zooms the 3D scene
    7. #1596: Corrected North Compass lost visibility in scene by clipping planes
    8. #1977: Updated QA testing .py file (in pdf3d.io folder) to include new examples and removed deprecated batch QA files
    9. #1980: Corrected widget annotation behaviour and updated examples to use correct class
    10. #1978: Corrected activation failures encountered when using PDF3D LLM Floating Server on Windows
    11. #1926: Building Windows platform releases on Visual Studio 2022, updated CMake files and libraries to develop with Visual Studio 2022
    12. #1961: Updated Qt build vrs to v5.15.2 on Windows
    13. #1947: Compliance/security issue reviews, resolved:
      1. #1957: Minimatch Security Vulnerability (CVE-2022-3517), uncontrolled resource allocation, in rest.js.client
      2. #1985: Bump qs from 6.4.0 to 6.4.1

What's new in PDF3D Version 2.23.0

Roll-up of incremental releases since 2.22.1
  1. ReportGen
    1. #1633: Corrected gLTF export failure for textured mesh cases
    2. #1314: Corrected License utility case, failed to show valid status on language selection
    3. #1849: Corrected Abrupt ReportGen shutdown (interprocess communication layer)
    4. #1858: Boost major version update to V_1_75_0 from V_1_60_0
    5. #1875: Corrected .vtk loading problems in MacOS
    6. #1880: Removed redundant 'Check for Updates' buttons in ReportGen and license interface
    7. #1886: Corrected widget display problems encountered when using 3D annotations
    8. #1765: Improved interface to avoid conflicts when using Simplification Options & Optimized Mode (Color Options)
    9. #1884: Updated digital signature in ReportGen installer
    10. #1876: Removed .tif from GRD interface, in favour of improved support using GDAL interface
    11. #1877: Removed .las (point cloud) from VTK interface, in favour of improved support using GRD interface; LAS Well Log (Subset) removed.
    12. #1876: Removed .obj from VTK interface, in favour of improved support using DCC interface
    13. #1631: Removed several formats from DCC Interface:
      1. #1890: 3D Manufacturing Format (.3mf)
      2. #1894: Irricht Mesh(.irrmesh)
      3. #1895: Irricht Scene(.irr)
      4. #1897: Quake I (.md1)
      5. #1898: Quake III MapBSP (.pk3)
      6. #1899: TrueSpace(.cob, .scn)
      7. #1900: Valve Model (.smd, .vta)
      8. #1905: BlitzBasic 3D (.b3d)
    14. #1854: DCC interface loading adjustments for CAE related formats
    15. #1891: Removed Movie BYU (.byu) from VTK interface
    16. #1913: Updated links to online user manuals
    17. #1321: Corrected typos in tool tips
    18. #1918: Deprecated Teigha Interface on Centos 7 Linux platform
    19. #1808: Added additional builds for new Linux platforms - CentOS8.2 and SLES 15 SP1
    20. #1942: Upgraded Teigha libraries (now known as ODA Platform) to 2022.7 from 2021.11
    21. #1882: Corrected license utility hang, encountered when using invalid server address
    22. #1920: Corrected client side license server connection issues on Linux platforms
    23. #1874: Improved colour loading in VTK interface on MacOS
    24. #1827: Updated PoDoFo libraries to 0.9.7
    25. #1465: Corrected abrupt failure encountered when loading some STEP files
    26. #1929: Corrected errors shown in JavaScript Console of Adobe Viewer in some resultant 3D PDFs
    27. #1831: Improvements to Panoramic 360
      1. Corrected bug encountered which caused zoom to become detached from intended scene
      2. Added elevation and tilt limits
      3. Added azimuth tilt limits
      4. Added option to enable/disable use of limits
      5. Mouse button zoom now goes full available FOV span by moving 1 full screen height vertically
      6. Scroll zoom uses 60 lines for full zoom in/out (20 scroll wheel steps with default mouse settings)
      7. Scroll zoom can be slowed with Ctrl key and sped up with Shift key.
      8. #1635: Spin behaviour improvements to correct un-even movement
      9. Play/Pause widget can now store spin enabled state after saving the document. Other controls do not affect document state.
      10. Isometric camera support improvements.
    28. #1484: Corrected default interface selection on MacOS, now consistent across platforms
    29. #182: Added the functionality to maintain original files (and any additional files) as attachments in PDF wrapper
    30. #1843: Added the functionality to customise font when adding title, caption and watermark annotations
    31. #1922: Added an option to remove all JavaScript from PDF
  2. PDF3D.IO
    1. #1633: Corrected gLTF export failure for textured mesh cases
    2. #1858: Boost major version update to V_1_75_0 from V_1_60_0
    3. #1314: Corrected License utility case, failed to show valid status on language selection
    4. #1849: Corrected Abrupt ReportGen shutdown (interprocess communication layer)
    5. #1875: Corrected .vtk loading problems in MacOS
    6. #1889: Corrected Report layout samples page table alignment
    7. #1880: Removed redundant 'Check for Updates' button in license interface
    8. #1886: Corrected widget display problems encountered when using 3D annotations
    9. #1876: Removed .tif from GRD interface, in favour of improved support using GDAL interface
    10. #1877: Removed .las (point cloud) from VTK interface, in favour of improved support using GRD interface; LAS Well Log (Subset) removed.
    11. #1876: Removed .obj from VTK interface, in favour of improved support using DCC interface
    12. #1631: Removed several formats from DCC Interface:
      1. #1890: 3D Manufacturing Format (.3mf)
      2. #1894: Irricht Mesh(.irrmesh)
      3. #1895: Irricht Scene(.irr)
      4. #1897: Quake I (.md1)
      5. #1898: Quake III MapBSP (.pk3)
      6. #1899: TrueSpace(.cob, .scn)
      7. #1900: Valve Model (.smd, .vta)
      8. #1905: BlitzBasic 3D (.b3d)
    13. #1854: DCC interface loading adjustments for CAE related formats
    14. #1891: Removed Movie BYU (.byu) from VTK interface
    15. #1913: Updated links to online user manuals
    16. #1918: Deprecated Teigha Interface on Centos 7 Linux platform
    17. #1808: Added additional builds for new Linux platforms - CentOS8.2 and SLES 15 SP1
    18. #1942: Upgraded Teigha libraries (now known as ODA Platform) to 2022.7 from 2021.11
    19. #1882: Corrected license utility hang, encountered when using invalid server address
    20. #1920: Corrected client side license server connection issues on Linux platforms
    21. #1874: Improved colour loading in VTK interface on MacOS
    22. #1827: Updated PoDoFo libraries to 0.9.7
    23. #1465: Corrected abrupt failure encountered when loading some STEP files
    24. #1929: Corrected errors shown in JavaScript Console of Adobe Viewer in some resultant 3D PDFs
    25. #1831: Improvements to Panoramic 360
      1. Corrected bug encountered which caused zoom to become detached from intended scene
      2. Added elevation and tilt limits
      3. Added azimuth tilt limits
      4. Added option to enable/disable use of limits
      5. Mouse button zoom now goes full available FOV span by moving 1 full screen height vertically
      6. Scroll zoom uses 60 lines for full zoom in/out (20 scroll wheel steps with default mouse settings)
      7. Scroll zoom can be slowed with Ctrl key and sped up with Shift key.
      8. #1635: Spin behaviour improvements to correct un-even movement
    26. #182: Added the functionality to maintain original files (and any additional files) as attachments in PDF wrapper - "< Attachment> <FileName value=".."/> </Attachment>", see updated xml guide for full xml tags
    27. #1843: Added the functionality to customise font when adding title, caption and watermark annotations - fontFamily="[selected font]", see updated xml guide for full xml tags
    28. #1940: Resolved ReDoS vulnerability in css-what dependency, upgrading from 2.1.0 to 2.1.3 in rest.js.client
    29. #1943: Resolved Prototype Pollution vulnerability in async dependency, upgrading from 2.6.1 to 2.6.4 in rest.js.client
    30. #1944: Resolved Prototype Pollution vulnerability in minimist dependency, upgrading from 1.2.0 to 1.2.7 in rest.js.client. Alongside this, upgrades are also made to mkdirp from 0.5.1 to 0.5.6 and handlebars from 4.0.12 to 4.7.7
    31. #1945: Resolved ReDoS vulnerability in scss-tokenizer dependency, upgrading from 0.2.3 to 0.4.3 in rest.js.client. Alongside this, node-sass is upgraded from 4.9.3 to 7.0.3
  3. OC Interface
    1. #1465: Corrected abrupt failure encountered when loading some STEP files
  4. Teigha Interface
    1. #1918: Deprecated Teigha Interface on Centos 7 Linux platform
    2. #1942: Upgraded Teigha libraries (now known as ODA Platform) to 2022.7 from 2021.11
  5. DCC Interface
    1. #1631: Removed several formats from DCC Interface:
      1. #1890: 3D Manufacturing Format (.3mf)
      2. #1894: Irricht Mesh(.irrmesh)
      3. #1895: Irricht Scene(.irr)
      4. `
      5. #1897: Quake I (.md1)
      6. #1898: Quake III MapBSP (.pk3)
      7. #1899: TrueSpace(.cob, .scn)
      8. #1900: Valve Model (.smd, .vta)
      9. #1905: BlitzBasic 3D (.b3d)
    2. #1854: DCC interface loading adjustments for CAE related formats
  6. GRD Interface
    1. #1876: Removed .tif in GRD interface, in favour of improved support using GDAL interface
  7. VTK Interface
    1. #1877: Removed .las (point cloud) from VTK interface, in favour of improved support using GRD interface; LAS Well Log (Subset) removed.
    2. #1876: Removed .obj from VTK interface, in favour of improved support using DCC interface
    3. #1891: Removed Movie BYU (.byu) from VTK interface
    4. #1874: Improved colour loading in VTK interface on MacOS
  8. PDF3D-SDK PRO General Changes
    1. #1633: Corrected gLTF export failure for textured mesh cases
    2. #1858: Boost major version update to V_1_75_0 from V_1_60_0
    3. #1875: Corrected .vtk loading problems in MacOS
    4. #1881: Corrected linking errors and missing draco library in linux packaging
    5. #1880: Removed redundant 'Check for Updates' button in license interface
    6. #1886: Corrected widget display problems encountered when using 3D annotations
    7. #1913: Updated links to online user manuals
    8. #1911: Corrected CMake SDK "PDF3D_HELPERS_DIR Not Found" warning
    9. #1808: Added additional builds for new Linux platforms - CentOS8.2 and SLES 15 SP1
    10. #1882: Corrected license utility hang, encountered when using invalid server address
    11. #1920: Corrected client side license server connection issues on Linux platforms
    12. #1827: Updated PoDoFo libraries to 0.9.7 & altered examples to use full embed mode for OTF fonts
    13. #1828: Improved static labels and added 'Always in Front' option
    14. #1912: Deprecated Python and JavaAPI bindings (retained C#)
    15. #1885: Corrected linking errors when compiling in Linux
    16. #1929: Corrected errors shown in JavaScript Console of Adobe Viewer in some resultant 3D PDFs
    17. #1831: Improvements to Panoramic 360
      1. Corrected bug encountered which caused zoom to become detached from intended scene
      2. Added elevation and tilt limits
      3. Added azimuth tilt limits
      4. Added option to enable/disable use of limits
      5. Mouse button zoom now goes full available FOV span by moving 1 full screen height vertically
      6. Scroll zoom uses 60 lines for full zoom in/out (20 scroll wheel steps with default mouse settings)
      7. Scroll zoom can be slowed with Ctrl key and sped up with Shift key.
      8. #1635: Spin behaviour improvements to correct un-even movement
    18. #182: Added the functionality to maintain original files (and any additional files) as attachments in PDF wrapper
    19. #1863: Corrected a bug in billboarding where enabling 'Always in Front' behaviour did not see desired behaviour

What's new in PDF3D Version 2.22.1

Roll-up of incremental releases since 2.22.0
  1. ReportGen
    1. #28259 Multi-line 3D label display correction for Software Renderer versus DirectX
    2. Correction for hang when reading LAS files (introduced when solving #1612 and #1593)
    3. #1824: Improved using metadata with label text label nodes in IntermediateStorage
    4. #1834: Panoramic sample state files updated with relative PRC tolerance now disabled
  2. PDF3D.IO
    1. #28259 Multi-line 3D label display correction for Software Renderer versus DirectX
    2. Correction for hang when reading LAS files (introduced when solving #1612 and #1593)
    3. #1824: Improved using metadata with label text label nodes in IntermediateStorage
    4. #1834: Panoramic sample state files updated with relative PRC tolerance now disabled
  3. PDF3D-SDK PRO General Changes
    1. #28259 Multi-line 3D label display correction for Software Renderer versus DirectX

What's new in PDF3D Version 2.22.0

Roll-up of incremental releases since 2.21.0
  1. ReportGen
    1. #1519: Improve "Remove Model" wild-card string matching: Replaced Remove Model controls with Remove Input Nodes and Remove Output Nodes controls. Both are using regular expression instead of name list.
    2. #1496 LightWave LWO3 (2019) format version support update (without textures)
    3. #1647 Added STL file-type export
    4. #1781 DWG part and hole processing and visibility corrections
    5. #1670 LLM local machine license updated to enable all users on system rather than current user
    6. #1433 Panoramic 360 scene mouse rotation reversed - image now follows cursor move direction
    7. #1691 Panoramic 360 set starting view point azimuth angle parameter
    8. #1586 Panoramic 360 view reset home button
    9. #1353 Panoramic 360 heading azimuth and polar elevation angles display in PDF page
    10. Added Panoramic 360 Pause/Play, changing direction of spin rotation buttons on page
    11. Added Panoramic 360 Left/Right rotation buttons for scene navigation (30 degree increments)
    12. #1467 Assembly Depth Merge: updated to avoid copying metadata properties
    13. #1612 Corrected LAS loader decimation failure when number of points is divisible by the sub-sampling value
    14. #1593 Added 16-bit per channel color support in LAS format loader
    15. Added Exploded Part View demo with extended modes
    16. #1814 Corrected OBJ format loading in DCC interface, added FileReference texture for LineSet with optimization.
  2. PDF3D.IO
    1. #1519: Improve "Remove Model" wild-card string matching: Replaced RemoveModel tag with RemoveInputNodes and RemoveOutputNodes tags. Both are using regular expression instead of name list.
    2. #1496 DCC Interface LightWave LWO3 (2019) format version support update (without textures)
    3. #1647 Added STL file-type export
    4. #1781 DWG part and hole processing and visibility corrections
    5. #1467 Assembly Depth Merge: updated to avoid copying metadata properties
    6. #1814 Corrected OBJ format loading in DCC interface, added FileReference texture for LineSet with optimization.
  3. OC Interface
    1. #1198 Added STEP tessellation parameters for Relative and Absolute Linear Deflection
    2. #1793 Added Triangle Mesh Planar-Subdivision feature
  4. Teigha Interface
    1. #1781 DWG part and hole processing and visibility corrections
    2. Teigha Interface disabled, deprecated on Linux (Centos7)
  5. DCC Interface
    1. #1496 LightWave LWO3 (2019) format version support update (without textures)
    2. #1814 Corrected OBJ format loading in DCC interface, added FileReference texture for LineSet with optimization.
  6. GRD Interface
    1. #1612 Corrected LAS loader decimation failure when number of points is divisible by the sub-sampling value
    2. #1593 Added 16-bit per channel color support in LAS format loader
  7. PDF3D-SDK PRO General Changes
    1. Added swig wrapping of PDF3DImage class of its enumators (for C# API)
    2. Updated vtsl_lib/cmake/toolchain.cmake for new compiler versions
    3. Added PDF3DExporter::InsertPDF3DNodeAnnotationScript() method
    4. #1647 Added STL file export from IntermediateStorage method
    5. LLM local machine license updated to enable all users on system rather than current user
    6. Corrected variable Font Size within ComboBox widget
    7. Added Billboarding Extension Example, always in front, pinned to screen, bitmap image label with lead-line
    8. #1788 Optimized PDF writing methods for large documents
    9. #1797 Decreased font size lower limit to 0.00005 (from 0.5)
    10. #1467 Assembly Depth Merge: updated to avoid copying metadata properties
    11. Moved ConversionRunner TRect class from global into namespace
    12. Extended PDF3DExporter::SetPanoramic360 class with additional azimuth angle and form-field name parameters
    13. #1811 #1818 ConvertToGLTF license intermittent error in floating configuration

What's new in PDF3D Version 2.21.0

Minor release, roll-up of incremental releases since 2.20.0
  1. ReportGen
    1. #1380 New LLM license system introduced, new version of license utility program
    2. Samples-States: Added 2D image sequence animation profile (with pre-set animation script)
    3. Updated saving/loading for glTF materials
    4. #1638 U3D to glTF dark materials regression from 2.20
    5. #PHRD-5162 updated Teigha Interface for DWG conversion case
    6. #1649 Stretch animation controls to rect
    7. #1003 Added draco compression support for glTF
    8. Samples-States: Corrected XML typo in TurboCAD-House.pdf3dsettings
    9. #1716 Fixed crash IFC to GLTF
    10. U3D import corrections for security, memory, textures
    11. Corrected menu parameters for Advanced Color to Texture Options
    12. LLM floating lease 30 seconds in case of conversion failure restarts
  2. PDF3D.IO
    1. #1598 Installer path to non-default mounted drives (non-C:\)
    2. #1716 Fixed crash IFC to GLTF
  3. Teigha Interface
    1. #PHRD-5162 updated Teigha Interface for DWG conversion case
  4. PDF3D-SDK PRO General Changes
    1. Replaced libIDN library by SaslPrep & utf8proc libraries
    2. Added VTSL_CXX_11_AVAILABLE global flag and C++11 is conditionally enabled
    3. Spatial Interface SPAN-PDF3D updated to 2020.1.0.1
    4. Added Basic PMI Example, simplified introduction to PMI API methods
    5. Removed JAVA API
    6. Updated saving/loading for glTF materials
    7. CodeSign Certificate Updated
    8. #1649 Stretch animation controls to rect to page width
    9. iText runtime files removed due to license restrictions
    10. #1003 Added draco compression support for glTF
    11. Updated conversion between shininess and PBR roughness/glossiness
    12. Updated glTF material export
    13. Updated glTF mixing-in ambient to emissive color when Blinn-Phong extension is disabled
    14. Set LLM License system GracePeriod and DaysBetweenChecks to extended time values
    15. Updated minimum required CMake version to 3.0
    16. #1681 Corrected wrong bufferView offsets in glTF with draco compression
    17. Added VTSL_CXX_11_AVAILABLE global flag and C++11 is conditionally enabled
    18. Replaced libIDN by SaslPrep & utf8proc libraries
    19. Updated certificates for macOS
    20. Added "borderThickness" parameter for PDF3DAnimationParams structure
    21. PDF3DLicense - Improved error reporting when offline activating license server
    22. U3D import corrections for security, memory, textures
    23. LLM floating lease 30 seconds in case of conversion failure restarts
    24. Link library draco packaging update

What's new in PDF3D Version 2.20.0

Major release, roll-up of incremental releases since 2.19.0
  1. ReportGen
    1. #1536 Large image improvements supporting up to 175 Mega-Pixel Textures and Panoramic 360 images
    2. #1591 Scene Initialize Progress Bar (JavaScript) Feature Added
    3. #1587 Label billboard transformation regression if label contains rotation matrix
    4. #1472 Corrected Japanese annotation corrupted on MacOS
    5. #1595, #1596 Updated GeospatialNorthCompass system
    6. Corrected tooltip for GRD TIN Absolute parameter
    7. #1621 DCC Interface: Deprecated Blender (.blend) and Doom (.md5) formats
    8. Correction for loading PRC textures without MappingType
    9. Updated Partlist_Profile.pdf3dsettings state file correcting part table and selection behaviour
    10. Added Template Placeholder and batch command-line example for 4x views on same page
    11. #1626 Improvements to feedback if template or image file missing
    12. Improvements to U3D data processing, materials, textures and security patches
    13. #1595, #1596 North Compass positioning, clipping and numerical stability corrections
    14. #1627 GRD Interpolation method default changed from IDW to Point Cloud
    15. #1628 ReportGen UI improvement setting U3D/PRC Compression type to match output file type
    16. #1603 DWG small pipe parts missing correction
    17. #1624 Corrected the model tree hierarchy and group transformations lost on applying texture splitting methods
  2. pdf3d.io
    1. #1599 Corrected PDF3D.IO license feature failure with PDF Interface
    2. Added basic sample-pdf-to-gltf.pdf3dsettings test for PDF loading and glTF export license feature check
    3. #1615 Transparency for Widgets added
    4. Improvements to U3D data processing, materials, textures and security patches
    5. #1595, #1596 North Compass positioning, clipping and numerical stability corrections
    6. Added template PDF sample-placeholder.pdf3dsettings example illustrating placeholder merge mode
  3. Teigha Interface
    1. #1596 Updated Teigha cameras import
    2. #1603 DWG small pipe parts missing correction
  4. PDF3D-SDK PRO General Changes
    1. Corrected "old" mode for key-frame animation and "useMatrix" mode
    2. #1615 Transparency for Widgets added:
      • Added checking for Filled field
      • HasBackground returns true if BackgroundColor.Filled is true
      • HasBorder return true if BorderColor.Filled is true or Border.Thickness is true
    3. #1624 Corrected model tree hierarchy and transformations in PrepareForConversion and TextureSplitter
    4. Correction for loading PRC textures without MappingType
    5. Signing Executables time-stamp server changed to alternative due to suspected DDOS blocking
    6. #1618 Examples: added missing IDXM to TextIS PrepareForConversion()
    7. #1618 U3D Points and Labels runtime intermittent crash at CIFXModifierDataPacket::GetDataElementIndex
    8. #1472 Japanese annotation is corrupt on MacOSX
    9. #1618 Examples: added missing IDXM to TextIS PrepareForConversion()
    10. #1587 Updated bring to front distance calculation in billboard scripts
    11. #1587 Changes in JS Scene and Cameras
    12. #1610 Further Updated U3D import for test file corrections
    13. #1617 Updated ambient color/texture glTF export processing
    14. Updated GltfSaver method
    15. Updated swig wrapper for simplification params
    16. #1627 Interpolation method default changed from IDW to Point Cloud
    17. #1591 Scene Initialize Progress Bar (JavaScript) Feature Added
    18. #1595, #1596 Updated GeospatialNorthCompass system
    19. #1587 Label billboard transformation regression if label contains rotation matrix
    20. #1595, #1596 North Compass positioning, clipping and numerical stability corrections
      • Fixes and improvements to Screen.js for more accurate camera information
      • Fixes for PDF3DNodeAnnotation.js
      • Moved Bounding box related functions to BillboardNode.js and added scene bounding box calculation with option to ignore screen space billboards/labels/compass
      • Switched PDF ISO cameras from absolute size binding to binding to annotation height (same as perspective) and updated LookAtMatrix
      • FOV is now written for PDF ISO cameras for better support of switching view type in viewers
    21. #1610 Updated U3D Decoding Process:
      • updated the logic for shadingModifiers
      • added global sorted list for u3d shaders
      • fixed more memory leaks in u3d library
      • updated arithmetic context decoders for RHC (partial)
      • updated png module for u3d library for support indexed palette colors
      • added support for wrapMode, blend-function when reading u3d textures
      • added metadata flag "PDF3DVTSLPointSet" for identify u3d and u3d_rhc pointSet when reading
      • added support for older format u3d pointSet (ordered triangle connectivity)
      • prepared IntermediateFormat example (unreleased)
      • fixed writing optimized models with normals into RHC format
      • fixed missing geometry references
      • #1625 Corrected U3D load failure for multiple "ContinuationImage" textures
      • Added support for shading modifiers for "GENERATOR" palette elements

What's new in PDF3D Version 2.19.0

Minor release, roll-up of incremental releases since 2.18.2
  1. ReportGen
    1. Simplified gamma correction settings for glTF to single option toggling sRGB color conversions.
    2. #1482 Pentaki Sphere improved automatic selection of detail level
    3. #1570 Added support for loading U3D RHC Point Cloud
  2. Pdf Interface
    1. #1570 Added support for loading U3D RHC Point Cloud
    2. #1479 Added support for loading pdf, u3d, prc files from memory
  3. glTF Interface
    1. Simplified gamma correction settings for glTF to single option toggling sRGB color conversions.
  4. PDF3D.IO
    1. #1544 Improved string marshaling for .NET wrappers
  5. PDF3D-SDK PRO General Changes
    1. #1581 Added emptySceneCheck() method
    2. #1579 Import U3D various small memory leak corrections
    3. #1580 Empty scene output suppression to glTF
    4. #1568 JS PDF3DNode performance improvements, helps reduce PDF start-up delays
    5. #1552 Added implementation for VTSL_lights_simple_ambient glTF and VTSL_materials_blinn_phong glTF serialization and IntermediateStorage import/export
    6. #1559 U3D to glTF unexpected very large light intensity values
    7. #1542 OEM /api-key argument added to *_2_PDF3D.exe auto-generated command-line converters
    8. #1548 glTF support for KHR_materials_unlit diffuse texture import
    9. #1540 TexWidget appearance does not match to its real content during edit (rich text)
    10. #1473 Warning about Mona font missing on MacOSX
    11. #1482 Pentaki Sphere improved automatic selection of detail level
    12. #1535 Custom user-configurable Z-Scale controls
    13. #1553 Added reverseZIndices flag to Z-fighting prevention API with fixed axes to cover more cases
    14. #1479 Added support for loading pdf, u3d, prc files from memory

What's new in PDF3D Version 2.18.2

Minor release, roll-up of incremental releases since 2.18.1
  1. ReportGen
    1. #1471 Fixed crash in Coin3D_Interface during animated VRML conversion on macOS
    2. #1531 Restored Pentakis sphere tessellation min-max parameter control
    3. #1538 Fixed loss of watermarks when containing Japanese characters
    4. #1539 Fixed VRML import from EnSight and color issues
    5. #1556 Added support for loading PDF files with broken internal objects
  2. PDF3D-SDK PRO General Changes
    1. #1455 Fixed crash in DrawTextUTF example
    2. #1532 Added support for colored point sets by diffuse material color (in addition to vertex colored point sets)
    3. #1538 Fixed loss of watermarks when containing Japanese characters
    4. #1541 Added support metadata for u3d files.
      Added PDF3DIntermediateModel::GetMetadataKey, PDF3DIntermediateModel::GetMetadataValues methods.
    5. #1549 Fixed missing colors in line set for U3D/U3D_RHC encodings
    6. #1553 Corrected Z-fighting prevention with fixed axis
    7. #1553 Added PDF3DZFightingParams::reverseZIndices flag
    8. #1556 Added support for loading PDF files with broken internal objects
      Added argument ignoreBrokenObjects into IPDF2DDocLayer::LoadDocumentFromFile methods
      bool IPDF2DDocLayer::LoadDocumentFromFile(const char* fileName,bool pdfECompliance, bool ignoreBrokenObjects = false)
  3. Coin Interface
    1. #1471 Fixed crash in Coin3D_Interface during animated VRML conversion on macOS
    2. #1539 Fixed VRML import from EnSight and color issues
  4. Pdf Interface
    1. #1541 Added support metadata for u3d files.
    2. #1556 Added support for loading PDF files with broken internal objects

What's new in PDF3D Version 2.18.1

Minor release, roll-up of incremental releases since 2.18.0
  1. ReportGen
    1. Updated glTF options physical light intensity
  2. PDF3D-SDK PRO General Changes
    1. glTF:
      • Added infinite point/spot lights workaround
      • Added loading pdf3d metadata from glTF
      • Added setting to specify intensity correction for conversion attenuated lights to/from physically correct lights
      • Added gamma correction settings API
      • Added gamma correction and physical light intensity to XML tags, PDF3DReportGen and ConvertToGltf example project
    2. #1527 Encapsulated RigidAnimation structure and substructures (API change) for Release/Debug size variance exceptions

What's new in PDF3D Version 2.18.0

Major release, roll-up of incremental releases since 2.17.1-5
  1. ReportGen
    1. #1489 - Sphere simple representation new Selection Menu
    2. #1523 - ReportGen output file relative path not shown automatically when completed
    3. #1522 - ReportGen: sequence animations expose button control UI, default to initially playing mode
    4. #1517 - Changed Teigha Interface DWG "Export Layers" default to True
    5. #1480 - ReportGen UI automatic outputfilename field - avoid input filename if same format
    6. #1322 - Tooltip too long (across screen) and therefore unreadable
    7. #1323 - Typos and awkward phrasing on Tooltip in "PDF 3D View" tab
    8. #1321 - Typos in tool tip on "Conversion" and "PDF 3D View" tabs
    9. #1427 - Added drag & drop and path-completion handling to file-path input forms
  2. PDF3D-SDK PRO General Changes
    1. Added reading "Visibility of the Model" for U3D reader
    2. Added texture's intensity support for U3D
    3. Added glTF Export PDF3DRigidAnimation string handling for debug building
    4. Improved glTF Export conditioning for empty animation
    5. Added glTF conversion of Reflection texture parameters to metallic materials
    6. Updated glTF light conversion methods

What's new in PDF3D Version 2.17.5

Minor release, since 2.17.4
  1. ReportGen
    1. #1482 Improved automatic selection of detail level for sphere tessellations, including pentaki spheres
    2. #1474 Improved Default state of Animation controls for Visibility of Buttons
      • switched off "SmoothRepeat" control for both animation modes
      • added automatically detect VRML key-frame case (using default parameters from MetaXML and Exporter, but not from rigid animation)
      • set "Current Text" default state to ON for both animation modes
      • "initiallyPlaying" switch ON by default for both animation modes
    3. #1470 DCC IFC file Loading Error
    4. #1481 Added Use Specular/Glossiness Material control to glTF Parameters for enabling/disabling Specular/Glossiness materials export. Added Use Alpha Blending control to glTF Parameters for enabling/disabling alpha blending for transparent models.
  2. pdf3d.io (see separate release notes)
    1. #1482 improved automatic selection of detail level for sphere tessellations, including pentaki spheres
    2. #1470 DCC IFC file Loading Error
    3. #1481 Added UseSpecularGlossiness tag to GLTFOptions for enabling/disabling Specular/Glossiness materials export. Added UseAlphaBlend tag to GLTFOptions for enabling/disabling alpha blending for transparent models. Fixes for Phong to PBR conversion.
    4. #1510 Improved U3D and U3D-RHC Import, including incomplete U3D specifications and undocumented UIC type.
    5. #1508 Added Key-Frame Animation export to glTF Saver for glTF specification compatible animations (position, rotation, scale and TRS matrices)
    6. #1503 Visual Studio 2019 configurations added
  3. DCC Interface
    1. #1470 DCC IFC file Loading Error
    2. #1521 DCC AVZ TextureCoordinate correction for negative value ranges
  4. PDF3D-SDK PRO General Changes
    1. #1503 Visual Studio 2019 configurations added
    2. #1481 Added PDF3DGltfSaver::SetUseSpecularGlossiness method for enabling/disabling Specular/Glossiness materials export. Added PDF3DGltfSaver::SetUseAlphaBlend method for enabling/disabling alpha blending for transparent models. Fixes for Phong to PBR conversion.
    3. #0591 Added ConvertToGltf example showing 3D PDF, U3D, PRC to glTF (glb) command-line conversion
    4. #1426 Added PDF3DIsPlugins example showing loading import plugins such as DWG for 3D PDF command-line conversion
    5. #1510 Improved U3D and U3D-RHC Import, including incomplete U3D specifications and undocumented UIC.
    6. #1508 Added Key-Frame Animation export to glTF Saver for glTF specification compatible animations (position, rotation, scale and TRS matrices)
    7. #1500 Light source intensity issue fix for glTF Saver: updated KHR_lights_punctual support to include range for point and spot lights instead of using attenuation for all light types
    8. GlTFSaver improvements for double sided rendering, added option for enabling/disabling use of original normals

What's new in PDF3D Version 2.17.4

Minor release, since 2.17.3
  1. PDF3D-SDK PRO General Changes
    1. #1466 PDF XREF Table parsing syntax variation allowance adjustment
    2. #1466 Improved U3D loading color, node types, key-frame node and camera animation
    3. #1477 GltfSaver class added example, added consumers, added option to return memory buffer, added extra IDX argument, added option to
    4. #1478 Multiple views on page with adjusted JavaScript Control support
    5. #1481 Added PDF3DGltfSaver::SetUseSpecularGlossiness method for enabling/disabling Specular/Glossiness materials export. Added PDF3DGltfSaver::SetUseAlphaBlend method for enabling/disabling alpha blending for transparent models. Fixes for Phong to PBR conversion.

What's new in PDF3D Version 2.17.3

Minor release, since 2.17.0
  1. ReportGen
    1. #1439 Automatic PMI Views loss of arrow and label visibility fix
    2. #1438 Fixed bug when substituted fonts were not embedded
    3. Partlist_Profile upgraded with new text search box feature
    4. #1423 VRML single-file Keyframe Animation Support
    5. #1446 ReportGen Windows Installer Start-Menu in Common for all users
    6. #0487 Clipping Error on Animation (Adobe Bug Work-Around)
    7. #4553 Added menu to specify Poster Image for preview before scene activation
    8. Rigid key-frame animation delay multiplier scale value correction
    9. Animation controls Smooth Repeat and Time Tag fields visible only if used
  2. pdf3d.io (see separate release notes)
    1. #1439 Automatic PMI Views loss of arrow and label visibility fix
    2. #1438 Fixed bug when substituted fonts were not embedded
    3. #1423 VRML single-file Keyframe Animation Support
    4. Fixed bug in PDF3DOptimalLegendInterface when working with very close labels
    5. #0487 Clipping Error on Animation (Adobe Bug Work-Around)
    6. #1440 PDF DrawText Right-To-Left (RTL) option, XML control for pdf3d.io
    7. #1458 Vertex transparency message suppression improvement
    8. Added xml sample for scalar value probe method
  3. Coin Interface
    1. #1423 VRML single-file Keyframe Animation Support
  4. X3D Interface
    1. #1454 Text node multiple spaces in numerical tag correction
  5. Teigha Interface
    1. #0095 PDF page thumbnails and preview, Added managed CLI assembly PDF3D_PdfPreview
      with PDF3D::PdfPreview class for use in C# (depends on Teigha 2019 u2)
    2. Updated to Teigha 2019 Update 2, patch 1
  6. PDF3D-SDK PRO General Changes
    1. #1439 Automatic PMI Views loss of arrow and label visibility fix
    2. #1438 Fixed bug when substituted fonts were not embedded
    3. Fixed bug in PDF3DOptimalLegendInterface when working with very close labels
    4. Added new example OpenGLExampleIS - IS version of OpenGLExample example
    5. #0487 Clipping Error on Animation (Adobe Bug Work-Around)
    6. #1463 2-Byte PMI Names ignored by view visibility
    7. #1462 AddDefaultView Matrix issue caused model missing from custom View

What's new in PDF3D Version 2.17.0

Major release, since 2.16.1
  1. ReportGen
    1. #1318 Placeholder Template mode improved, handles more complex WORD layouts, now allows any PDF image with Alt-Text as placeholder
    2. #1347 Added Legend position and size control associated with 3D view placeholder.
      3D view image alt-text = "PDF3D1" (where number is 1,2,3...)
      Legend image alt-text = "LEGEND1" (where number matches corresponding 3D)
    3. Added support for LaTeX placeholder method
    4. #1372 Corrected ReportGen Poor behavior when saving CommonParameters to XY Units and Z Units
    5. #1373 ReportGen's MBD Demo, upgraded to improve performance, part name handling
    6. #1377 Parts list profile for catalogue navigation, with cross-highlight and context
    7. #1261 STL Interface Color Mode Override Parameter
    8. #1387 Corrected Placeholder Layout: (a) PPT second image identification failure, (b) LibreOffice Alt-Text failure
    9. #1324 macOS pkg installer exposed Documentation links for end-user visibility
    10. #1384 Fixed bug in ReportGen Multimedia Scale Media checkbox processing
    11. #1390 Fixed bug in Automatic mode for output coordinate system for custom assembly position and scale case
    12. #1390 Fixed bug when assembly position and scale were ignored in non-exploded mode
    13. #1375 Changed %TEMP% to %DOCUMENTS% default output paths for better navigation, especially on macOS
    14. #1330 Enabled font subsettings to reduce size of the generated PDF files
    15. #875 Added Legend Visible checkbox in Legend Bar Parameters on Page Layout tab
    16. #1398 Added DWF part-level surface material colour support
    17. #1388 Added e57 point cloud mixed internal scan type support
    18. #1333 Fixed corrupted Japanese characters in annotations (title, caption, alt-text under 3D) on macOS
    19. #1399 Fixed problem when adding second scene at placeholder on the same page (#1399, #1400, #1401, #1402)
    20. #1325 ReportGen Template PDF Loading-Failure (security) dialog rather than Fatal conversion error or crash
    21. #868 Added ability to set elevation data, if value is negative then positive depth will be used
      (Interface Settings -> Preferred Interface -> GRD Interface)
    22. #1325 Fixed crash when template PDF file is encrypted
    23. #1335 Added menu options for animation control bar, pre-setting modes and individual button visibility
    24. #1397 Corrected texture preservation during simplification for OSG models
    25. #1293 Improved transparency rendering in PRC_HCT mode for some shapes (cylinder, cone, sphere)
    26. #1242 Added support MatrixTransform node for X3D Interface (also for X3D embedded content)
    27. #1407 Fixed IFC Metadata Properties corrupted part names with Japanese characters
    28. #1408 Fixed DCC Interface IFC bars out of position and orientation
    29. #1325 Added Template PDF Loading-Failure (security) dialog avoiding Fatal conversion errors
    30. #1424 Added Panoramic 360 cube-map image type profile
    31. #1335 Corrected display of animation controls if the defined image area is narrow
    32. #1399 Panoramic 360 multiple views on same page
    33. #1410 Added panoramic 360 hemisphere dome fisheye mode
    34. #1293 Added SetMeshIsRegularGrid tag for transparency effects
  2. pdf3d.io (see separate release notes)
    1. #0141 Major re-factor, derived from redesigned XML Server, new packaging
    2. #0929 Added RESTful API with HTML Client example, pdf3d.rest.io.exe
    3. #1293 Added SetMeshIsRegularGrid tag for transparency effects
  3. glTF Interface
    1. #1413 WebGL saver now preserves alpha when texture is not in PDF3DTexture::eModulate blending mode
    2. #1287 Added support for loading glTF 2.0 from external file (such as .glb)
    3. #1414 Added metadata export for glTF (exported to node's extras.pdf3d_meta)
    4. #1414 WebGL Viewer metadata display of part information
  4. VTK Interface
    1. #1411: Added supporting Surface With Edges representation
  5. X3D Interface
    1. #1043 Added support for using Text elements with billboarding
    2. #1059 Added support for using LineSet elements
    3. #1057 Added support for using Background Scene Color elements
    4. #1058 Added support for using Viewpoint tag elements
    5. #1073 Improved processing of rotation attribute of Transform elements
    6. #1293 Improved transparency rendering in PRC_HCT mode for some shapes (cylinder, cone, sphere)
    7. #1242 Added support MatrixTransform node (also for X3D embedded content)
  6. Coin Interface
    1. #1293 Improved transparency rendering in PRC_HCT mode for some shapes(cylinder, cone, sphere)
    2. #1421 Fixed VRML IndexedLineSet black line case
  7. Teigha Interface
    1. #1350 Corrected Teigha Interface DWG BlockReference to a non-existing object loading failure
    2. #1272 DWG conversion failure on certain files corrected
    3. #1130 Added support for DWG custom views
    4. #1374 Improved RCP/RCS loader, previously ignored multi-scan registration and cropping
    5. #1383 Added support of layer and entity transparency
    6. #1398 Added DWF part-level surface material colour support
    7. Updated to version 2019.1
  8. DCC Interface
    1. #0748 IFC Properties Loading into MetaData attribute value pairs added new capability
    2. #1355 IFC file conversion fails with "Bad dynamic_cast conversion" error corrected
    3. #1381 3MF build part transforms ignored, correction
    4. #1339 Corrected Import of OBJ with Japanese filename loading
    5. #1382 Added support of materials and textures in .3mf format
    6. #1382 Fixed geometry generation in particular color modes in FBX format
    7. #1287 Deprecated support for loading glTF from external file, please use new glTF interface
    8. #1407 Fixed IFC Metadata Properties corrupted part names with Japanese characters
    9. #1408 Fixed DCC Interface IFC bars out of position and orientation
    10. #1407 Added X2 escaped text processing (proof-of-concept) for IFC node names
    11. #1355 Updated library version, Fixed IFC Reader for individual test cases
  9. SHP / GDAL Interface
    1. #0867 ArcGIS Shapefile SHP to GDAL refactored, Deprecate SHP Interface, removed from packaging
    2. #1357 Shapefile mesh color attributes and tessellation for large polygons improved
    3. #1369 Transitioned SHP interface to GDAL interface for Shapefile loading
  10. GRD Interface
    1. #1389 Updated laszip library to version 3.2.2
    2. Fixed texture created from vertex color having incorrect alpha channel
    3. #1358 Corrected e57 multi-scan coordinate registration alignment and transformations
    4. #1388 Added e57 point cloud mixed internal scan type support
    5. #868 Added ability to set elevation data, if value is negative then positive depth will be used (Interface Settings -> Preffered Inteface -> GRD Interface)
  11. STL Interface
    1. #1366 STL file format correction for exception during parsing ASCII variation
    2. #1261 STL Interface Color Mode Override Parameter Added
  12. OSG Interface
    1. #1397 Corrected texture preservation during simplification for OSG models, r10246.
      Turned off UV clamping during simplification, restricted to isg_pdf3d_osg_interface_optimized_mode = false.
  13. OC Interface
    1. #1341 Fixed crash during STEP file conversion on macOS
  14. VTK Interface
    1. #1077 Added support for building with VTK v6.2, v7 and v8 by setting VTK_DIR environment variable
    2. #1411 Improved exporting Surface With Edges representation
  15. PDF3D-SDK PRO General Changes
    1. #1417 Added support for displaying billboards (PDF3DExporter::SetBillboards) and labels (PDF3DExporter::SetLabelsDynamics) in front of other models. Combined PDF3DExporter::SetBillboards parameters to PDF3DBillboarding structure. Added ability to pin billboard to a point in scene, model or on screen. Scale factor is now used only with scaling enabled to convert model units to screen units. Fixed up parameter not influencing the billboards.
    2. #1318 Added Exporter method GetXmlImageList() to scan template PDF for images, positions and Alt-Text to identify placeholder positions
    3. #1347 Added Legend position and size control associated with 3D view placeholder using image scanning
    4. Added new example AssemblyView showing how to make assembly and exploded views, make assembly animation, use view-dependent transformations
    5. Added new transformation field to PDF3DISViewDependentNodeVisiblityInformation structure for specifying view-dependent node transformation
    6. Added new PDF3DViewAccessInterface::GetViewDependentTransformation()> method for specifying view-dependent node transformation
    7. Fixed bug in rigid animation system, when use_interpolation flag was not applied. Removed extra frames from AssemblyView example
    8. Added support for horizontal legends (by passing PDF3DExporter::LegendType to PDF3DExporter::DrawLegend routine)
    9. #1378 Fixed Metadata Control failure to display embedded Model Part Metadata (for some interfaces)
    10. #1367 Added new method IPDF2DDocLayer::SetUseIMLangFontLink2Interface()
      for controlling usage of IMLangFontLink2 interface (Windows only). By default IMLangFontLink2 is not used
    11. #1376 Corrected Texture Split dropping mesh segments in corner case
    12. #1346 PDF 2D Image AlphaBlending API (from GDI)
    13. #1348 Resolved KeyFrame Animation Clipping plane issue, primarily for Coin Interface API
    14. #1399 Fixed problem when adding second scene at placeholder on the same page (#1399, #1400, #1401, #1402)
    15. #1293 Improved transparency rendering in PRC_HCT mode for some shapes(cylinder, cone, sphere), primarily for Coin and X3D Interfaces API
    16. #851 Template layout reporting extended to list size of all pages in Placeholder mode
    17. #851 Placeholder Layout updated ConversionRunner to report Template PDF page and layout XML information in Log message stream
    18. #1403 PDF3DExporter::DrawLegend() minimum with limitation correction
    19. #1400 Double-sided rendering lost in second view on page correction
    20. #1401 Navigation constraint fails in second scene on page correction
    21. #1402 Lock render mode fails on second scene on page correction
    22. #1417 Generic billboards: (PDF3DIntermediateModel::SetBillboarded and PDF3DExporter::SetBillboards) alwaysInFront flag added for each billboard
    23. #1417 PDF3DExporter::SetLabelDynamics added alwaysInFront parameter and support for showing labels in front of all other models
    24. Added new example OpenGLExampleIS - Intermediate Storage version of OpenGLExample example

What's new in PDF3D Version 2.16.1

Minor patch release, since 2.16.0
  1. ReportGen
    1. Added FBX sample and state files
    2. Added Panoramic_Profile.pdf3dsettings for quick initial start Panoramic 360 JPEG image conversions, with blank filenames
    3. Improved Panoramic Batch processing script
  2. DCC Interface
    1. #1328 AVZ texture coordinate load failure correction
  3. PDF3D-SDK PRO General Changes
    1. #1334 Added ScalarValueProbeIS C++ example, showing continuous attribute value reporting, optimized legend and texture colormap and data table

What's new in PDF3D Version 2.16.0

Major release, since 2.15.2
  1. ReportGen
    1. #1288 Change to License button: keeps session alive unless valid floating network license checked-out
    2. #0644 License Utility Node-locked transfer license option remove from UI, please contact us for manual transfers
    3. #1285 Many New UI Menus (GLTF, Color2Texture, TextureSplit, TextureSubsample, Pentaki, Panoramic360)
    4. #1319 Added sample fbx format file and demo settings file
  2. Coin Interface
    1. #1291 Japanese locale PC configuration filename issue (VRML, IV)
  3. Teigha Interface
    1. #1202 Added DWG Import of pre-determined view ports (from AutoCAD)
  4. U3D Interface
    1. #1256 Added support of reflection textures
  5. OSG Interface
    1. #1289 Disabled DXF file type, now strongly recommend Teigha Interface for all DXF, DWG types
  6. DCC Interface
    1. #1271 TGA Image format (texture) support, for use in FBX
  7. XML Server
    1. #1275 Added Panoramic360 tag to set spherical camera interactive behaviours
    2. #1283 Added SetCurrentPDFPage, SetPDFPageWidth, SetPDFPageHeight tags support
    3. #1263 Corrected issue to set render mode (via PDF3DSceneOptions) when exporting second page
    4. #1283 Enabled controls to Draw Image on any specified page
  8. PDF3D-SDK PRO General Changes
    1. #1122 SDK compiler-independent approach with C-API architectural changes (in progress)
    2. #1256 Fixed memory leaks during embedding additional textures
    3. #1274 Added preserving of original normals to PDF3DColor2Texture::Converter class
    4. #1275 Added PDF3DExporter::SetPanoramic360() API to set special spherical camera interactive behaviours
    5. #0976 Sequence Animation scenes with control bar no longer present "Save Changes?" dialog on PDF close
    6. #0919 LMX 2018 License System Update, requires license server update
    7. #1290 Eradicated lib IDN unwanted export symbols
    8. #1236 macOS Remoted XQuartz dependency, updated to High Sierra
    9. #1308 Added PDF3DPMILinearSize API for C# .NET developers

What's new in PDF3D Version 2.15.2

Minor release, since 2.15.1
  1. ReportGen
    1. #1002 glTF parameters added to Conversion tab UI
    2. #1002 glTF added to Output file type enumerator
    3. #1002 glTF options added: Single Binary or JSON/Assets, Omit Default Values, Export Point Sets, Export Line Sets, Add ID To Asset
    4. Added demonstration of CheckBoxes to change visibility with simple JavaScript action in TurboCAD-House state file
    5. Doc: updated end-user license agreement (EULA) terms to v19
    6. LMX: Dongle license profile updated with new IDs
    7. #1266 Added automatic detection of initial Teigha Interface file-type selection to enable appropriate View Scheme ODA (DWG/DXF).
    8. #1275 Added Panoramic view scheme for Panoramic 360 photo scenes
  2. OSG Interface
    1. #1304 Fixed crash (debug assert) in visitor's destructors (objects were on stack instead of heap)
  3. VTK Interface
    1. VTK v7.1.1 porting
    2. #1305 Fixed bug in reading certain type of VTK files
  4. STL Interface
    1. #1240 Added ignoring of local opacity parameter from materials in special types of binary STL
  5. DCC Interface
    1. #1262 Added processing external texture image paths, including FBX textures.
    2. #1295 Fixed memory leak in assimp dependent library
    3. Improved AVZ Importer, transparency, duplicate materials issues
    4. #1297 Added partial support transparency from color auto-detection
    5. Added some improvements in AVZ importer:
      1. Added support opacity and diffuse color in material
      2. Support texture for line set(by converting it to color)
      3. Support texture from colormap
  6. Teigha Interface
    1. Added "Teigha Architecture" component in installer scripts.
    2. Fixed crash in Teigha_Interface for specific DWG Model
  7. GRD Interface
    1. Fixed small issues in GRD_Interface CMake scripts
  8. Coin Interface
    1. #1221 Allowed input .wrl files with UTF8 BOM
  9. U3D Interface
    1. #1256 Fixed bug with importing U3D texture coords
  10. XML Server
    1. PDF3D XML Server name revised to pdf3d.io, may be used interchangeably.
    2. Added training slide set for pdf3d.io
    3. New revision of XML Server user guide, updated for pdf3d.io name change
    4. Test added for grid explode position and scale auto=true
    5. #1296 Exploded view grid layout corrections, array placement logic
    6. #1298 Disabled auto-position and auto-scale default values in exploded mode
    7. #1299 Added setting up initial animation playback speed in XmlServer and ReportGen
    8. #1275 Added Panoramic default view scheme tag option for Panoramic 360 photo scenes
  11. PDF3D-SDK PRO General Changes
    1. PDF3D-SDK name revised to PDF3D-SDK PRO, may be used interchangeably
    2. #1274 Updated PDF3DColor2Texture::Converter class to preserve original normals
    3. #1271 Added support of TGA image format to PDF3DImageLoader class
    4. #1263 Improved PDF3DExporter::DrawPrevious3DSceneAsReference() method, initial 3D view respects render mode parameter
    5. #1306 Added support for the latest version of VS2017 in CMake configurations
    6. IS Serialization to external dump file: various fixes
    7. #1300 Added matrix mode API for rigid body key-frame animation, type=old
    8. glTF 2.0 export updated:
      1. Added texture resource loading
      2. added support for diffuse, ambient, emission and bump textures
      3. Added support and internal setting for switching between one interleaving BufferView or individual BufferViews for vertex attributes
      4. Added support and internal setting for exporting auto-generated normals
    9. #1301 Updated annotation PDF page rotate logic.
    10. #1303 Improved API for 2D page annotation classes:
      1. Added "GetFlags" method for IPDF2DDocLayer class and and for classes inherited from it
      2. Added "GetAnnotation" methods for IPDF2DDocLayer class and and for classes inherited from it
      3. Added "GetAnnonationByIndex" and "GetAnnotationByHash" in PDF3DExporter class.
    11. Corrected packaging, added all QT dependent runtime components for license utility
    12. Improved packaging redistributable runtime support files on Windows.
    13. Documentation: added training slide on preview-poster image C++ API
    14. Documentation: Added slides for U3D-PRC output file and Clipping planes to SDK Training Slides.
    15. #1302 Updated Geospatial pcs, gcs, and datum enumerator
    16. Added commercial version of bcapi, code and license
    17. #0919 Updated LMX floating server and dongle control to version 4.9.2, requires server update to support current clients
    18. #1275 Added Panoramic default view scheme API for Panoramic 360 photo scenes

What's new in PDF3D Version 2.15.1

Minor release, since 2.15.0
  1. ReportGen
    1. #1210 Added PF3D_Dongle_Profile.lic to standard package for simplified Dongle setup
    2. #0977 Flash Deprecated, Changed default control style to Widget
    3. #1152 Added simple CSV format label annotation insertion format (.lbl, via STL interface)
    4. #1206 Added Panoramic 360 Image conversion using Geospatial Image UI and X3D Embedded Content
  2. PDF3D-SDK PRO General Changes
    1. Added new methods, PDF3DExporter::DrawTextInSpacing(), PDF3DExporter::DrawTextUTF8InSpacing(), PDF3DExporter::DrawTextUTF16InSpacing()

What's new in PDF3D Version 2.15.0

Major release, combines all changes since 2.14.1, 2.14.2
  1. ReportGen
    1. #1024 Added new ImageTexture tag for texture replacement
    2. #1174 Added basic support for loading and exporting of e57 files
    3. #0985 Added support for exporting Reality Capture Scan project (.rcp) file format files
    4. Added image sequence 2D animation demo
    5. Added image comparison wipe operator demo
  2. XML Server
    1. #1024 Added new ImageTexture tag for texture replacement
  3. GRD interface
    1. #1174 Added basic support for loading and exporting of e57 files
  4. DCC Interface
    1. #1149 Added basic support for loading and exporting of AVZ files
  5. Teigha Interface
    1. #985 Added support for exporting Reality Capture Scan project (.rcp) file format files
  6. GDAL Interface
    1. #1208 Correction for GDAL failing to load some types of JPEGs
  7. PDF3D-SDK General Changes
    1. #1153 Added optimize mode support to texture splitter

What's new in PDF3D Version 2.14.2

Minor release, combines all changes since 2.14.1
  1. Teigha Interface
    1. #985 Added support for exporting Reality Capture Scan (.rcs) point cloud file format files
  2. OSG Interface
    1. #1193, Added new noRotation=1 option to OSG plugins, avoided extra rotation
  3. DCC Interface
    1. Added partial support for reflection maps in MTL (only sphere mapping)

What's new in PDF3D Version 2.14.1

Minor release, combines all changes since 2.14.0
  1. ReportGen
    1. #714 Added new numberFormat and numberPrecision attributes to the InsertMouse3DProbeControls xml tag for Mouse3DProbe floating point numbers formatting control
    2. Added new AmbientColor, SpecularColor, EmissionColor sub-tags, and shininess attribute to GenerateBlackBackfaces tag
    3. #1173 Added U3DNormalsGen tag specifies the normals generating mode for u3d format
    4. #1067 No keys needed automatic trial period on install
    5. #1187 FBX format support added to DCC interface
  2. DCC Interface
    1. #1167, Added new CylindricalTessellation sub-tag to DccParameters tag
    2. Updated assimp library
  3. XML Server
    1. #714 Added new numberFormat and numberPrecision attributes to the InsertMouse3DProbeControls xml tag for Mouse3DProbe floating point numbers formatting control
    2. #995, Fixed 2D layer sequences image corruption
    3. Added new AmbientColor, SpecularColor, EmissionColor sub-tags, and shininess attribute to GenerateBlackBackfaces tag
    4. #1173 Added U3DNormalsGen tag specifies the normals generating mode for u3d format
  4. PDF3D-SDK General Changes
    1. #1185 Added PDF3DTextureSplitter2, PDF3DTextureSplitterWithKeepGeometry and PDF3DTextureSplitterWithCellSpacing classes to PDF3D-SDK which split textures with the specifies limit
    2. #1188 Improved PDF3DImageLoader class to load PNG files with extra IDAT sections
    3. #161 Added new PDF3DIntermediateScene::AddNewRigidAnimation method to support U3D animation chanel
    4. Added PDF3DColor2Texture::Converter::SetLimitColorPlaneCount() and PDF3DColor2Texture::Converter::SetColorPlaneCountLimit() methods
    5. #714 Added SetMouse3DProbeNumberFormat, GetMouse3DProbeNumberFormat, SetMouse3DProbeNumberPrecision and GetMouse3DProbeNumberPrecision to the PDF3DExporter for Mouse3DProbe floating point numbers formatting control. Added PDF3DExporter::JsFormatNumber to support same number formatting in user-defined scripts
    6. #1139 Refactored Mouse3DProbe scripts and added VectorMath.js to support 64 bit floating point precision
    7. #1173 Added U3DNormalsGen tag specifies the normals generating mode for u3d format
    8. #1172 Corrected memory leak in PDF font subset handling related to missing styles on unicode characters

What's new in PDF3D Version 2.14.0

Minor release, combines all changes since 2.13.8 including interim 2.13.16
  1. ReportGen
    1. #1034 MBD Demo added, state file, template, STEP model, JavaScript
    2. #1131 Added new TextureSubSampling subtag to AssemblyProperties and InputParameters tags. It performs subsampling textures in scene
  2. STL Interface
    1. #1065 STL Interface correction for ASCII solid model name characters
  3. Teigha Interface
    1. #1080 Improved support for transparency.
    2. #1130 Added DWG appropriate View Scheme ODA (DWG/DXF), Changed DWG coordinate orientation. In previous releases, the Teigha interface applied a transformation for DWG files using the 4x4 matrix
          (1, 0, 0, 0,
           0, 0, 1, 0,
           0,-1, 0, 0,
           0, 0, 0, 1)
            
      This is now removed so DWG models are converted using original coordinates. This may introduce changes to other related coordinates such as .iv or .wrl label files. To compensate for this change, reverse the sign of Z and swap Y and Z values. To illustrate: (-51, 38, -15) is changed to (-51, 15, 38). Label samples have been updated.
  4. DCC Interface
    1. #1044 Enabled double-precision coordinates support for OBJ, IFC and other formats.
    2. #0792 Added AMF Additive Manufacturing File Format.
    3. #1144 Added OBJ reflection environment and bump map texture features.
    4. #1135 Improved texture image compression, pruning unused textures.
    5. Upgraded and improved polygon tessellation methods.
    6. #1138 Corrected IFC file memory access violation error.
  5. Coin Interface
    1. #1062 .iv input format index face color correction.
  6. OSG Interface
    1. Changed default mode of OSG_Interface to normal, non-optimized mode.
      You can change back to optimized mode again by using line 58 in PDF3D-SDK/interfaces/OSG_Interface/IFace/src/OsgData.cpp:
      const bool g_pdf3d_osg_interface_optimized_mode = false; // Change to "true", if it is required
  7. XML Server
    1. #1156 Model Tree Dump to external XML file, with optional Exit, showing actual model tree hierarchy.
    2. #1061 Added Metadata Title and Author PDF document parameters tags (as children of InputParameters).
    3. #1140 Added PDF Content Creator field XML tag control
    4. #1131 Added TextureSubsample XML tag to perform subsampling texture images in scene
    5. #1155 Added the <PostProcessingNames> tag, a list of model names that will be replaced with the name of the parent node.
    6. #1146 Added the <GenerateBlackBackfaces> tag for generating black backfaces for triangle meshes.
  8. PDF3D-SDK General Changes
    1. #863 PMI arrow scaling improvement, avoiding long thin arrow heads
    2. #1084 Fixed wrong page orientation bug (occured for some specific PDF templates).
    3. Added PDF3DIntermediateModel::SetTriangleColor() method for specifying triangle colors.
    4. #1046 Added PDF3DIntermediateModel::SetLabelRotationAngle() and PDF3DIntermediateModel::GetLabelRotationAngle() methods.
    5. Renamed PDF3DIntermediateModel::SetLabelVerticalOrientation() method to PDF3DIntermediateModel::SetLabelOrientation().
    6. #1046 Added PDF3DLabelModel::SetRotationAngle() method.
    7. Added new example LabelTestIS
    8. Fixed bug in PDF3DIntermediateModel::OptimizeVertexColor() method.
    9. #1039 Fixed transformation bug of billboards when Spin or Walk tools are selected.
    10. Fixed North Compass Z-fighting visual artifact.
    11. Added Reference documentation to cover more examples.
    12. #1063 Fixed IS color retriving bug in OptimizeVertexColorImpl.
    13. Fixed possible memory buffer overrun in vtsl_lib.
    14. Added new texture splitter method with keep geometry as far as possible.
    15. Added new technical training slide materials for general SDK and JavaScript methods.
    16. #1131 Added new PDF3DSubSampling class and TextureSubsample XML tag which performs subsampling textures in scene.
    17. #1142 Disabled color buffer in optimized mode, corrected OSG interface failure on custom materials.
    18. #1132 Missing PDF3DJava.dll runtime file correction.
    19. #1042 Added PDF font embedding API, with font subset for only referenced characters.
    20. #1086 Added support for Metadata on PMI nodes.
    21. #1154 Now Color2Texture works with scene in optimized mode, also added method which takes intermediate model.
    22. #1143 Added font fallback API as solution for unicode characters missing in Arial font.
    23. #1089 Linux x64 GCC 5.2 Support with C++11

What's new in PDF3D Version 2.13.8

Minor release, combines all changes since 2.13.0
  1. ReportGen
    1. Added <Clip>, <SaveGraphicsState> and <RestoreGraphicsState> tags for clipping path support. <Clip> modifies the clipping path by intersecting it with the current path. Since clipping path modification is permanent the graphic state managment tags <SaveGraphicsState> and <RestoreGraphicsState> are introduced.
    2. #1004: German menu and tooltip translations improved
    3. #994: PRC file type loading license feature issue on macOS
    4. Assemblies merged in both Exploded and Regular modes will now retain their root transformation matrices.
    5. #1015: TitleString tag: added color, font size, font style (bold, italic, underline) and alignment attribute control
    6. Added <OrthoHeight>, <Aspect> and <BackgroundColor> tags for camera.
    7. Added side-by-side merged view example
    8. Added exploded parts view example
    9. #770 Label continuous update parameter behaviour correction
    10. First release of a new X3D interface
  2. XML Server
    1. Added <Clip>, <SaveGraphicsState> and <RestoreGraphicsState> tags for clipping path support. <Clip> modifies the clipping path by intersecting it with the current path. Since clipping path modification is permanent the graphic state managment tags <SaveGraphicsState> and <RestoreGraphicsState> are introduced.
    2. #996: Added TextureSplit tag as global scene as well as per assembly, adjusted processing order
    3. Assemblies merged in both Exploded and Regular modes will now retain their root transformation matrices.
    4. #1015: TitleString tag: added color, font size, font style (bold, italic, underline) and alignment attribute control
    5. Added <OrthoHeight>, <Aspect> and <BackgroundColor> tags for camera.
    6. Added TextureSplit tag modifier parameters for texture split algorithm selection and sub-node name scheme
  3. Teigha Interface
    1. Fixed scene orientaion for imported files. Important: the scene has effectively been rotated around X axis by 90 degrees clockwise. If a subscene or a file is affected by this change then the same transformation should be applied to it. Please note that the rotation should be performed with the center of rotation at the origin of the Teigha-imported subscene.
  4. X3D Interface
    1. First release of a new X3D interface
  5. PDF3D-SDK General Changes
    1. Added new IPDF2DPainter::Clip(), IPDF2DPainter::Clip(bool), PDF3DExporter::Clip() and PDF3DExporter::Clip(bool) methods for clipping path support. These methods modify the clipping path by intersecting it with the current path. The boolean argument specifies whether to use EvenOdd or Nonzero winding rule (Nonzero winding by-default) when determining the clipping region.
    2. Assemblies merged by the PDF3DConversionRunner (in both Exploded and Regular modes) now retains PDF3DScene's root transformation matrix in the newly created assembly root nodes.
    3. PDF3DConverter corrected divide by zero floating point exception.
    4. #1041 New TextureSplit algorithm implemented for CellSpacing and KeepGeometry avoiding geometric splitting, avoids triangle drop-out
    5. SDK package now includes some core PDF3D library and limited interface debug enabled libraries
    6. Symbol fonts such as Wingdings now embedded and rendered correctly in PDF output

What's new in PDF3D Version 2.13.0

Major general release, combines all changes since 2.12.0
  1. ReportGen
    1. #961: Chinese Menu & Tooltip translations added, both official simplified (CN) Chinese and traditional (HK,TW) character sets.
    2. #954: Alternative Text Under 3D added with default message for non-Adobe PDF viewers
    3. #958: Activation and Deactivation Mode Selector: On Page Visible / Manual
    4. #935: Window menu smaller size for laptops, UI menu re-organization with collapsible sections
    5. Status now reported along bottow row using QStatusBar format
    6. Added "Interface" column to input file information table (for files which use default settings the default preferred interface is displayed)
    7. #944 Added "Options" check box column to input file table to select default or specific interface choices, skipping choice dialog
    8. "Add file", "Remove file", "Move up" and "Move down" buttons for input files are now simple visual universal icons
    9. Removed "Exit" and "Convert" buttons from bottom right. Convert is now top left, use Window close to exit.
    10. #943: Added Default Preference Settings User Control, dialog to save user preferences or reset to factory
    11. Moved "Reset Settings" to top right position for improved access, now reverts to user defaults
    12. Added "Visual Effects" main panel with re-grouped colormap, material and elevation binding selection menu (Moved from Interface Settings).
    13. Added new PDF3DSceneOptions::SetDefaultSelectionToolAlwaysEnabled() method
    14. #934: Colormap Preview Display on Selection on visual effects panel
    15. #945: Explode mode scale, rotation and placement now available for a single input file.
    16. Export State now saves relative paths to data files with respect to state file location, Paths in states are saved relative to the state file if it is on the same drive and does not start with an environment variable
    17. Non-existant and zero-length input files are now highlighted in red
    18. Removed top level group boxes in PDF3DReportGen UI for cleaner layout
    19. Input file paths and names are now editable (text only; file dialog not supported)
    20. Added open file dialog for changing input file paths
    21. Input file list "Interface" row now displays reason why interfaces list for input file is empty instead of combo box (file is either not found or not supported)
    22. Interface Settings re-organized into selection groups with vertical scroll bars, replacing previous horizontal tabs.
    23. Updated some tool tips
    24. #967: Compact probe bottom margin adjustment corrected, was too large in some cases
    25. #969: Texture Split fix for memory violation, enabled use on Geospatial meshes and Terrain draping modes
  2. Teigha Interface
    1. #630: Part reference optimization, reducing PDF size
    2. #928: Deprecated Collada DAE file type extension matching, as DCC is preferred
    3. #970: Teigha Fatal AddTriangle conflict resolved when Export Materials disabled
  3. DCC Interface
    1. 3DS Coordinates change: In previous releases, the DCC interface applied a transformation for 3DS files using the 4x4 matrix
          (1, 0, 0, 0,
           0, 0, 1, 0,
           0,-1, 0, 0,
           0, 0, 0, 1)
            
      This is now removed so 3DS models are converted using original coordinates which matches the OSG Interface. This may introduce changes to other related coordinates such as .iv label files. To compensate for this change, reverse the sign of Z and swap Y and Z values. To illustrate: (-51, 38, -15) is changed to (-51, 15, 38).
  4. STL Interface
    1. #939: Added loading Color in Binary STL Files (STL+) with Materialise MAGICS conventions
  5. GRD Interface
    1. #926: Correction for Layers & Node Names
    2. #975: Fix for ESRI GRID loading bug, showing as corner spike
    3. Fixed bug for point clouds with 1 point
    4. Fixed xllcenter & yllcenter parameters wrong processing for ESRI GRID loader
  6. OSG Interface
    1. #921: Sphere OSG sprite billboarded autotransform in orthographic and non-world transforms
    2. #959: FBX file type support added on most compilers and platforms
  7. XML Server
    1. Added PageLayout and PageMode tags
  8. XGL/ZGL Interface
    1. #911: node model tree structure hierarchy preservation.
  9. Coin Interface
    1. #911: Library version update for general minor corrections.
    2. #966: VRML Points with Group-Node Color Appear Black - Added Vertex Color substitution
  10. OC Interface
    1. #932: First release of OpenCASCADE interface for STEP, IGES, BREP 3D CAD models
  11. VTK Interface
    1. VTK Interface updated to VTK support 6.3.0 building if required
    2. Runtime VTK Interface updated to VTK version 6.2.0 with custom patches for PDB
    3. #968: vtp (VTK PolyData File) attributes selection fix
  12. PRC Interface
    1. Transformation and Scale, User Data corrections and improvements
  13. PDF3D-SDK General Changes
    1. #914 Added texture blending mode support. The PDF3DTexture::SetBlending (EBlendMode) method can be used to set the blending mode for texture. To get the current mode use PDF3DTexture::GetBlending() method.
    2. #914 Added texture wrapping support. The PDF3DTexture::SetWrapU(EWrapMode) and PDF3DTexture::SetWrapV(EWrapMode) methods can be used to set the wrapping mode for the texture's U and V diretions. To get the current mode use PDF3DTexture::GetWrapU() and PDF3DTexture::GetWrapV() methods.
    3. #930: IPDF2DAnnotFreeText - Transparent or No Color background option
    4. #916: Visual Studio 2015 (vc14) configurations added
    5. #918: QT 5.5.1 UI support added
    6. #917: CMake 3.4 configurations added
    7. #668: macOS El Capitan 10.11 XCode 7 configurations added
    8. IronPython examples added
    9. #552: Digital Code Signing for MSI, EXE programs and packages identifying vendor
    10. #503: LMX floating license system update to 4.8.1, VS2010 changed to Shared DLL mode
    11. #922: VCT Correction when using optimized PDF3DIntermediateModel for color per face
    12. #920: Intermediate Storage degenerate triangle correction
    13. #915: Action3D Walk Up Tree JS method correction
    14. #622: Add support for labels with orientation different than Z+
    15. #783: Illustration Outline Angle parameter
    16. #370: GRDDotNetExample GrdOptions struct corrected for C++/C#/Python
    17. #698: car_assembly_metadata.xml adjusted for PRC mode
    18. #927: Deprecated packaging compiled binary Access Interface examples where equivalent IS examples are available.
    19. #927: Deprecated packaging all compiled binary examples in LMX license configuration for SDK.
    20. Added PDF3DPDFOptions::PageLayout and PDF3DPDFOptions::PageMode enumerations
    21. #931: Z-Fighting method adjustments and improvements for different node ordering in U3D/PRC, Sign reversed for PRC
    22. 3D Annotation selection for Metadata used when normal selection is disabled.
    23. #983: TIFF 32-bit float image type crash during loading fixed

What's new in PDF3D Version 2.12.0

Major general release, combines all changes since 2.11.0
  1. XML Server
    1. Added Hyperlink actions GotoURL, GotoNamedDestination, GotoPageNum, GotoExternalDestination on 3D node selection.
  2. Teigha Interface
    1. Added Tessellation of curves parameters for normals and knot subdivision
    2. Added Material and Layer conversion to Model Tree options
  3. VTK Interface
    1. Bands example added showing solid filled contour bands on vertex scalar polydata mesh, including simplification
    2. VTK_2_PDF3D command line program now follows extended argument conventions
    3. Added LegendInterface support
  4. XGL Interface
    1. Corrected XGL, ZGL loader for case of DATA ORG attribute tag
  5. PDF3D-SDK General Changes
    1. Added BulkSceneIS example, showing how the new optimized mode for PDF3DIntermediateModel can be used with bulk writing and explicit geometry referencing
    2. Added OptimizedModels example, showing how the new optimized mode for PDF3DIntermediateModel can be used
    3. Fixed PDF3DExporter::SetBillboards() method for Iso Views case
    4. Small improvements in CSharpTeighaPMI example
    5. Added support for bold and italic font styles in PDF3DFontTessellator
    6. Updated WeldingProximity parameter processing
    7. #0208 IntermediateStorage Bulk API for adding 3D array data

What's new in PDF3D Version 2.11.4

  1. OSG Interface
    1. Added Geometry::BIND_PER_PRIMITIVE support
    2. Improved memory and file size by exploiting vertex buffer references
    3. Added scheme to handle mixed opaque and partially transparent textures (RGBA)
    4. Added point sprite with texture unit support, AutoTransform support
    5. Corrected case of incorrect normals conversion
    6. Enabled custom rebuilding of OSG Interface with OSG versions 2.8.3, 2.9.8, 3.2.0, with runtimes supplied for 3.2.0
    7. Added point substitution as tetrahedron method
    8. Added emulation for textured line and point sets
    9. Added point size emulation
    10. Corrected Use Original Normal parameter
  2. COIN Interface
    1. Added placeholder merge mode option into LandRover demo example
  3. Teigha Interface
    1. Upgraded to Teigha library version 4.0.1
    2. Upgrade supports AutoCAD 2015, 2016 DWG File Import
  4. VTK Interface
    1. Added vector magnitude attribute colormap mode
    2. Added reporting all available scalars for colormap in log message
  5. PDF3DReportGen
    1. Adjusted user interface layout, slightly more compact
    2. Added Merge Mode #5, At Placeholder Layout from template PDF
    3. Windows title bar shows current state or input filename
  6. COMSOL Interface
    1. Added legend support when colormap applied to scalar results
  7. GRD Interface
    1. Fix to DEM elevation grid format loading
  8. XML Server
    1. Added example with interactive buttons for styles, views and js, using DWG
    2. Correction to GoTo3DView action tag
    3. Added new Merge Mode "At Placeholder" taking layout from template PDF
  9. PDF Interface
    1. Added basic (provisional) support for loading PDF with U3D encoding, extracting triangle meshes only
    2. Added part transformation support
  10. PDF3D-SDK General Changes
    1. Added PRC support for vertex buffer references
    2. Optimized line set support for PRC
    3. Corrections to duplicate vertex removal and welding
    4. Added PDF Export Options method to get keywords from input PDF
    5. Added keyword support into PDF3DImporter class and PDF3DImporterExample
    6. Added utility method to check if placeholder layout parameters are present
    7. Added utility method to extract placeholder layout parameters from keyword (XML substring)

What's new in PDF3D Version 2.11.3

  1. XmlServer
    1. Added new minStepsCountX,minStepsCountY and minStepsCountZ attributes to SceneAxes
      tag for specifying minimal steps number of labels for each axis.
    2. Added new TextureSplit tag for texture split algorithm
  2. COMSOL Interface
    1. Updated VTK library to version 6.2.0
  3. GRD Interface
    1. Updated VTK library to version 6.2.0
    2. Added SetMinimalStepsCount method family to GrdConverter class
  4. OSG Interface
    1. Added AutoTransform node support
    2. Added Billboard node support
    3. Added united structure for state stacking
  5. VTK Interface
    1. Updated VTK library to version 6.2.0
  6. PDF3DReportGen
    1. Added minimal number of steps for scene axes on Scene Axes tab
    2. Added new TextureSplit tag for texture split algorithm
  7. PDF3D-SDK General Changes
    1. Added PDF3DSceneOptions::SetGeneralAnimationDefinition
      and PDF3DSceneOptions::GetGeneralAnimationDefinition support for swig wrappers.
    2. Updated VTK library to version 6.2.0
    3. Improved and extended PDF3DExporter::SetBillboards() method for individual node billboarding
    4. Added PDF3DIntermediaeModel::SetBillboarded() method for individual node billboarding
    5. Added support for bold and italic font styles to PDF3DFontTessellator class

What's new in PDF3D Version 2.11.2

  1. PDF3DReportGen
    1. Added ANSYS FEA filter suppress lines and skip final faceset options
    2. Added new defaultSeparation attribute when Inserting Layers
  2. XmlServer
    1. Added poster image support and annotation activation properties.
      • Added new <PosterImage> tag.
      • Added new <Annotation3DActivation> tag.
    2. Added new defaultSeparation attribute to InsertLayerSeparationSystem tag for specifying default separation factor.
    3. Added new ANSYSIgnoreLastFaceSet and ANSYSIgnoreLineSets tags
  3. COIN Interface
    1. Improved interface processing efficiency (major code re-write)
    2. Improved ANSYS FEA mode filtering
    3. Added parameter to enable or disable line processing
    4. Added parameter to skip final face set containing annotations found in some ANSYS files
  4. OSG Interface
    1. Improved osgText text label processing in OSG_Interface
    2. Improved texture processing in OSG_Interface
    3. Improved texture coordinate processing in OSG_Interface
  5. Teigha_Interface (Based on Teigha®)
    1. Fixed problem with incorrect layer names
    2. Fixed incorrect materials bug, part color
    3. Added interface re-build CMAKE option for Static "*MD" Teigha libraries
    4. Added CSharpTeighaPMI C# Example loading DWG and adding custom PMI
  6. PDF3D-SDK General Changes
    1. Added new void SetPreview(PDF3DTexture preview) method to
      the PDF3DIntermediateScene class. This method allows to set the poster image.
    2. Added band binding mode parameters to auto generated xxx_2_PDF3D programs
    3. Improved KML complex shape tessellation
    4. Fixed JavaScript syntax error in alternative rigid animation
    5. Fixed bug in rigid animation for non-interpolation mode
    6. New scallop Colormap added to samples

What's new in PDF3D Version 2.11.1

  1. XmlServer
    1. Added outline angle support for views and cameras.
      The outline angle value is used to determine the silhouette edges in the Illustration,
      ShadedIllustration and SolidOutline render modes.
      • Added new outlineAngle attribute to the <DefaultViewScheme> tag.
      • Added new <OutlineAngle> sub-tag to the <Camera> and <DefaultView> tags.
  2. PDF3D-SDK General Changes
    1. Added new ElevationMeshIS example which shows
      PDF3DIntermediateModel::ElevationGridVRML() method usage
    2. Fixed bug in PDF3DIntermediateModel::ElevationGridVRML() method
    3. Added outline angle support for views and cameras.
      The outline angle value is used to determine the silhouette edges in the Illustration,
      ShadedIllustration and SolidOutline render modes.
      • Added new void GetOutlineAngle(double&) method to the PDF3DViewAccessInterface interface.
      • Added new double GetOutlinAngle() and void SetOutlinAngle(double) methods to the PDF3DIntermediateCamera class.
    4. Added new void SetModelRenderModes(PDF3DSceneOptions, const PDF3DStringList&, const PDF3DVector::type&)
      method to the PDF3DExporter class. This method allows to set the individual render modes for the specified models.

What's new in PDF3D Version 2.11.0

Major general release
  1. Coin Interface
    1. Added new filter option for ANSYS FEA vrml files (available on 'Coin Interface' sub-tab)
    2. Added example of stand-alone cfx legend (ANSYS FEA filter use)
    3. Added support of WWWInline nodes
  2. DCC Interface
    1. Added support for bump, reflection, ambient, emissive and opacity textures
      for .MTL files (.OBJ material library files)
  3. GDAL Interface
    1. Added ERDAS IMG file format support
    2. Added GeoTIFF 16-bit and 32-bit support
    3. Added JPEG, PNG, BMP, TIFF image file format support
    4. Added ability of building elevation grids from images or IMG files
    5. Added ability of applying colormaps in the following modes: Along Z, With Attributes
    6. Added Color RGB mode which directly shows input bands as specified color components
  4. GRD Interface
    1. Added IRAP Classic Grid Format IFGR support
    2. Added Landmark ZMap variation support on ZMapPlus grid format
    3. Moved some parameters from Geospatial tab to Interface Settings, Color Mapping And Elevation sub-tab,
      including colormap file name, and mapping modes
    4. Introduced Automatic mapping mode for GRD Interface
    5. Fixed ZMAP reading bug
    6. Fixed unconditional jump statement bug
  5. OSG Interface
    1. Added additional source files to allow rebuilding against customer versions of OSG
    2. Added automatic version identifier to allow building with OSG v2.8 through 3.2
  6. VTK Interface
    1. Added LAS Well Log ASCII standard format support, with simple cylinder and labels
  7. PDF3DReportGen
    1. Added IRAP Classic Grid Format IFGR support
    2. Added Landmark ZMap variation support on ZMapPlus grid format
    3. Added LAS Well Log ASCII standard format support by VTK Interface
    4. Added ERDAS IMG file format support by GDAL Interface
    5. Added GeoTIFF 16-bit and 32-bit support by GDAL Interface
    6. Fixed DrawHyperLink bug
    7. Fixed bug: write floating point value in local neutral format
    8. Fixed texture import for GeoTiff files in Geographic coordinate systems
    9. Extended error reporting
    10. Menu tabs re-arranged for color and elevation parameters
    11. User Guide updated with latest menus and features
    12. Default build migrated to Visual Studio 2012 (from 2010)
  8. XmlServer
    1. Added IRAP Classic Grid Format IFGR support
    2. Added Landmark ZMap variation support on ZMapPlus grid format
    3. Added LAS Well Log ASCII standard format support by VTK Interface
    4. Added ERDAS IMG file format support by GDAL Interface
    5. Added <DisablePDF3DGeneratedJavaScripts> tag support for disabling all PDF3D-SDK generated JavaScripts
    6. Added <DocumentLevelJavaScript> tag support for specifying document-level JavaScripts
    7. Fixed persistence of values with no defaults for tags in XmlServer
    8. Fix for reading the character content of tags (< > will now be read properly)
    9. Fixed texture import for GeoTiff files in Geographic coordinate systems
    10. Extended error reporting
  9. PDF3D-SDK General Changes
    1. LMX License system platforms adjusted forward, removed VS2008, added VS2013, at version 4.7.1.
      Note, floating license servers will need to be updated at this release.
    2. Exposed simplification API through PDF3DIntermediateScene::PrepareForConversion() routine
    3. Added licensing parameter to PDF3DIntermediateScene::PrepareForConversion() routine
    4. Added IPDF2DTilingPattern and IColorSpaceTilingPattern interfaces to support 2D area tiling patterns
    5. Added usage examples of 2D tiling patterns to all versions of OCLayers and DrawCMYK examples
    6. OCLayers and DrawCMYK examples are available in C#, Java and Python languages
    7. Added IPDF2DLogicalStructure and related interfaces for specifying Model Tree Hierarchies for 2D PDF documents
    8. Updated PDF3DExporter::SetBillboards() method in order to support all parameters from PDF3DExporter::SetLabelDynamics method
    9. Added PDF3DExporter::SetDisablePDF3DGeneratedJavaScripts() method for disabling all PDF3D-SDK generated JavaScripts
    10. Fixed LineSets colors bug (affected AccessInterface only, undefined behaviour for alpha components)
    11. Fixed incorrect text drawing bug in PDF3DExporter::DrawText() method (rare case)
    12. Extended Swig wrappers for PDF3D-SDK library by including Geospatial module support, for C#, Java, Python
    13. Fixed 3D normalization bug (for specific OEM customer case)
    14. Fixed crash in PodofoPainter::DrawColorSpaceAlphaImage() method
    15. CubeSceneIS example: restored broken Spheres and Cones, restored missing PrepareForConversion() call
    16. Added ability to draw raster images in Separation and DeviceN color spaces using IColorSpace instance
    17. Improved Doxygen coverage of interfaces, added GDAL, SHP, DCC, etc.
    18. Added IPDF3DIntermediateMaterial interface. It is possible to specify named materials,
      and share the same material by several different models (see PDF3DIntermediateModel::SetMaterial method).
      If material if not specified then model's diffuse, ambient and specular colors are used, otherwise
      the model materials properties will be used. Note that materials names are preserved in resulting 3D PDF files,
      so, you can use their names in custom JavaScripts
    19. Added support for bump, reflection, ambient, emissive and opacity textures,
      see PDF3DIntermediateModel::AddNewAdditionalTexture() method or contact support for details
    20. Refactored PDF3DColormap class and added IPDF3DColormapInterface interface
    21. Fixed problem with ref-counted objects in PDF3D-SDK version 2.x
    22. Fixed font tessellation bug in PDF3DFontTessellator class
    23. Added support for custom image file readers
    24. Moved PDF3DGeoTiffUtils.h and PDF3DConfig.h header files to public include folder
    25. Fixed texture import for GeoTiff files in Geographic coordinate systems
    26. Fixed rare incorrect root transformation matrix bug
    27. Added IPDF2DDocLayer::ImportContentFromDocument() method for merging an external PDF document into the current document

What's new in PDF3D Version 2.10.1

  1. XmlServer
    1. Added new <Camera> tag to support cameras with arbitrary positions and orientations
  2. Teigha_Interface (Based on Teigha®)
    1. Added support for exporting point cloud (PCG) file format files
  3. GRD Interface
    1. Added option to export GeoTiff image as texture mapped quad, instead of exporting full grid
  4. SHP Interface
    1. Fixed bug which caused SHPDotNetExample and SHPPythonExample to export empty scenes
  5. COMSOL Interface
    1. Fixed bugs causing COMSOLDotNetExample to fail during loading input data
  6. PDF3D-SDK General Changes
    1. Added possibility to specify nodes visibility for every frame in sequence animation
    2. Added possibility to specify general sequence animation where number of nodes can be different from number of animation nodes
    3. Added PRC interface for reading and exporting of PRC file format files
    4. Added Chinese translation of PDF3DLicense utility
    5. Added new C# example MultipleAnnotationsExample which describes how to draw multiple images on PDF page from C#
    6. Added possibility to measure Grade and Projected Distance using mouse 3d probing mechanism
    7. Added reporting Slope in percentages, instead of degrees

What's new in PDF3D Version 2.10.0

  1. Teigha_Interface (Based on Teigha®)
    1. Added transparency support
    2. Added preserving views
    3. Fixed packaging problem which caused errors during exporting DGN files
    4. Added Teigha library merged directory mode (use TEIGHA_USE_MERGED_DIRS CMake option)
  2. DCC_Interface
    1. Fixed bug with processing texture paths which caused missing textures in output 3D PDFs.
  3. OSG_Interface
    1. Added support for FBX file format
    2. Corrected texture color channel image format on macOS
  4. GDAL_Interface
    1. Added holes support for KML files
  5. ParaView Plugin
    1. Added possibility to export scenes to PLY file format
    2. Updated User Guide
  6. STL_Interface
    1. Added new file formats support (image files: TIFF, TIF, JPEG, JPG, PNG, BMP)
  7. GRD_Interface
    1. Fixed bug during loading point cloud files which contain empty lines
    2. Fixed bug in LAS reader (fixed normalizing from 8-bit values to 16-bit)
    3. Improved PTS loader so it accepts now files with large number of columns
  8. VTK_Interface
    1. Added exporting of PLY files without cells as point clouds
  9. ConversionRunner library
    1. Introduced access for PDF3DConversionRunner library for OEM customers
    2. Added basic routines for rendering PDF3DIntermediateScene object instance
      to 2D image (see PDF2DSceneDrawer and related classes)
    3. Add support for toggling using rigid animation interpolation
  10. PDF3D-SDK General Changes
    1. New PDF3DFontTessellator Class, creates geometric vector representation of a text string and specified font.
      The PMI generation system now makes use of the new PDF3DFontTessellator system. To add a text to PMI one should use the result of the new tessellation, received from PDF3DFontTessellator.
      The PDF3DFontTessellator Class can import and use an external font file and includes the following methods:
        GetAscent,
        GetDescent,
        GetSpaceWidth,
        GetSymbolAdvance,
        GetSymbolHeight,
        GetSymbolWidth,
        GetSymbolSize,
        GetLineHeight,
        GetTextAdvance,
        GetTextHeight,
        GetTextWidth,
        GetTextSize,
        GetTextAdvance,
        GetTextHeight,
        GetTextWidth,
        GetTextSize,
        TessellateSymbol,
        TessellateText,
        GetPoints,
        GetTessellation
      
      Any external True-Type font file can be used for symbol and text styles in PMI, such as the the widely adopted GD&T set:
           PDF3DFontTessellator fontTess("Y14_5M-2009.ttf", true);
      
    2. Advances to low level PMI and PRC processing. Previously only line drawing and text was supported, with API unable to create polygons and triangles. Now the ability to add triangles and polygons within PMI is added.
    3. The support of the Face View, Frame Draw, Fixed Size modes has been significantly revised and optimized. Frame Draw creates the group, which consists of the fixed size geometry without billboarding, so it can't be turned from the specified orientation.
      For the Face View, Frame Draw and Fixed Size modes, functions for supporting triangles and polygons to PMI annotations were also added.
    4. Developers can use the PMI XML metasystem, or the PMIAccessInterface and the PDF3DPMIMarkup classes.
      Both PMIAccessInterface and PDF3DPMIMarkup were upgraded.
      Various high-level classes for drawing have been added.
      The XML metasystem contains the following new types (with corresponding class API methods):
        PMIBeginTriangle, PMIEndTriangle - add one triangle
        PMIBeginTriangles, PMIEndTriangles - add a set of triangles in one operation
        PMIBeginPolygon, PMIEndPolygon - add a polygon
        PMIOpenFixedSize, PMICloseFixedSize - add a scalable (not a billboard) group
        PMIOpenLineStyle, PMICloseLineStyle - set line style (only color takes effect)
      
    5. Dimension and lead-line Arrowheads are now drawn with triangle filling instead of using two line segments.
    6. Oriented views can be captured and turned into illustrated buttons for user selection. To create the thumbnail buttons with images of actual 3D objects, developers should use the PDF2DSceneDrawer class, which allows to draw the scene on the XObject type on a PDF page. An XObject should be created inside the PDF user-defined style, which is applied to the button. The example can be found in the PMI_IS source. To make use of this class start with the MCRConvert2D.h header file (line 34). The example of the "user style" - lines 94 -172, the example of the "thumbnail with the line style usage" lines 349 -372.
    7. Added FontTessellation example, showing how tessellated text can be generated using Intermediate Storage classes API
    8. Redesigned PMI_IS example, showing advantage PMI mode, including GD&T symbols, preview images and view-dependent models
    9. Enabled draping vector lines and polygon features onto 3D terrain models
    10. Improved PDF3DPolygonTesselator and PDF3DPolygonTesselatorXZ classes to accept holes
    11. Added time tags using in TransformAnimation example
    12. Improved rigid body animation performance (PDF3DRigidAnimation), added support of time tags
    13. TIFF / GeoTIFF image 32-bit Integer and Float pixel type support added
    14. Removed memory usage reporting functions from all examples
    15. In Keylib license mode the usage of PDF3D_KEYLIB_LICENSE_PATH is avoided, software directly use common folders for licenses
    16. Fixed PDF3DIntermediateModel implementation to take into account transformation matrix for 3D Labels
    17. Added support of line caps and line joints styles
    18. Added ability to save PDF documents into the memory (see PDF3DExporter::GetInMemoryDocument)
    19. Added flags for specifying ownership of interface implementation objects, see PDF3DInterfaceDesc structure reference
    20. Added methods (PDF3DExporter::DrawPrevious3DSceneAsReference() family) for drawing current 3D scene
      by re-using PDF resources from previous conversion
    21. Added time tags to SequenceAnimation example
    22. Added 2D annotations (IPDF2DAnnotText etc)
    23. Added ability of highlighting layer geometry from model tree menu (Please see OCLayersExample)
    24. Added progressive animation mode
    25. Added IPDF2DWatermark::DrawText() routine for drawing watermarks with specified rotation angle, font size, opacity and position
    26. Added QA python script for verification of delivered packages
    27. Added the ability to use images as additional resources (see PDF3DExporter::AddXObjectResourceTo3DAnnotation)
    28. MS Visual Studio 2013 Update 2 support added for developers
    29. Fixed bug in ArcGIS colormaps reader

What's new in PDF3D Version 2.9.3

  1. GRD_Interface
    1. New .xml tag options are added: PointCloudNodeName, GridNodeName and IsocontoursNodeName
  2. COMSOL_Interface
    1. Fixed the bug which caused the crash during mesh files reading
  3. PDF3D-SDK General Changes
    1. Improved geometry referencing to the PRC subsystem. Now it is possible to share a resource node with the different texture or the material property
    2. Fixed the packaging bug which caused the loss of files
    3. Improved Doxygen documentation about interfaces
    4. Improved PDF3D_C3V::RotateZ() routine
    5. Deprecated DotNet_Interface and PDF3DOpenInventorDotNet_Interface as they are fully covered by Swig wrappers
    6. Added a new instancing API for the Intermediate Storage module, see PDF3DIntermediateModel::SetGeometryReference(),
      PDF3DIntermediateModel::SetTexture(PDF3DTexture) methods
    7. Added InstancingExampleIS example representing the use of instancing API for the Intermediate Storage module
    8. Added API method for deletion of the existing pages, see PDF3DExporter::DeletePages()
    9. Added support for display of the logical structure of a document, see PDF3DOCLayer::AddProperty()
    10. Added support for text render mode, see IPDF2DPainter::SetTextRenderMode()
    11. AVS Interface deprecated, no longer packaged by default into PDF3D-SDK, on special request only

What's new in PDF3D Version 2.9.2

  1. DCC_Interface
    1. Fixed bug when only the first texture was applied to a model
  2. OSG_Interface
    1. Fixed bug occuring when QT is not available
  3. ParaView Plugin
    1. Fixed bug with OnExistingPage parameter which occured when templates are used
  4. PDF3D-SDK General Changes
    1. Added API methods to work with SPOT colors. VTSL::PDF3D::IColorSpace,
      VTSL::PDF3D::IColorSpace, VTSL::PDF3D::IColorSpaceDeviceN,
      VTSL::PDF3D::IColorSpaceSeparation
      interfaces and other were added
    2. Updated DrawCMYK example to show SPOT API usage
    3. Introduced single header file for PDF3D-SDK library - PDF3D.h.
      Including only this one header file into your project will be enough
    4. Introduced PDF3D_KEYLIB_LICENSE_PATH environment variable for Full
      versions of PDF3D-SDK & PDF3DReportGen software packages
    5. Changed priority of license path sources (environment variables, .ini settings).
      Please see developer manual for details
    6. Turned off automatic server discovery by default
    7. Fixed bug in C# examples for swig wrappers to match target platform
    8. Updated boost libraries to version 1.55.0

What's new in PDF3D Version 2.9.1

  1. OSG_Interface
    1. Added support for previous versions of OpenSceneGraph (tested with v2.9 and v3.0.1)
  2. Coin3D_Interface
    1. Fixed bug which caused troubles in file format detection
  3. ParaViewPlugin
    1. Fixed bug which caused crash during multi-view exporting
  4. PDF3D-SDK General Changes
    1. Changed priority of license path sources to decrease license check time if license server is unavailable
    2. Fixed bug with label's coloring in PDF3DLabelModel class
    3. Added license path refresh in license utility
    4. Fixed small misprints in Russian translation of License Utility
    5. Fixed 'QThread is still running' message in License Utility
    6. Added showing trial license period in days instead of hours

What's new in PDF3D Version 2.9.0

  1. Teigha_Interface (Based on Teigha®)
    1. Added support for files with utf-8 encoded filenames (for instance with national symbols)
  2. OSG_Interface
    1. Added interface to used PDF3DConversionManager object
    2. Added example of using Qt, OSG and PDF3D in same project
    3. Added OpenSceneGraph v3.2.0 support
    4. Improved exporting to PDF3D of LOD objects
    5. Added using vertex colors even if bound overall or per primitive set
    6. Added prefering (non-white diffuse) material coefficients over per-vertex color
    7. Fixed transformation bug when text labels are exported
    8. Added preserving of per-node culling
  3. VTK Interface
    1. Added new python examples (Cutter, ParametricSurfaces, WaveletGlyphs)
    2. Improved exporting of animated scenes when templates are specified
  4. COMSOL Interface
    1. Added support for .mphtxt mesh file format
    2. Replaced sample file with new one (with results file)
    3. Updated quadratic_prism ReportGen sample state file
  5. GRD_Interface
    1. Updated LIDAR LAS format support
      1. Added internal geo location data parsing
      2. Updated supported specification version from 1.1 to 1.3 (be advised that Waveform packets' data is not processed)
      3. Point intensity is now treated as scalar data
      4. Added support for internal RGB data
      5. Point classification type can now be used as mapping value for color (it will be used as scalar in range of 0-31 if mapping mode was set to ShowRGB and colormap file is supplied)
      6. Low-points and withheld points are not exported
    2. Added LASZip compressed LIDAR files support
  6. Coin3D_Interface
    1. Improved GeoVRML support
  7. ParaViewPlugin
    1. Improved license checking part
    2. Improved searching for license utility
    3. Added support for exporting of gradient backgrounds
    4. Added support for integration into VeloView
    5. Added crease angle parameter
    6. Improved exporting of animated scenes when templates are specified
  8. PDF3DReportGen
    1. Packaging revised to correct missing files, at v2.8.1 interim patch
    2. Added Korean and Polish translations
    3. Updated translations
    4. Updated User Manual document
    5. Fixed packaging problems
    6. Added additional samples to Linux package
    7. Added post-install verification scripts
  9. XmlServer
    1. Added new SetCurrentOpacity drawing operation tag for setting opacity for 2D drawing operations
  10. PDF3D-SDK General Changes
    1. Fixed bug in IPDF2DAnnotation::SetFlags() method
      which was not applied for Watermarks.
      After fix it is possible to use the following scenario:
      1. Watermarks are not visible in Adobe Reader
      2. but if you will print the document then all watermarks will be printed
      For this you should use combination of the following flags:
      IPDF2DAnnotation::ePrint|IPDF2DAnnotation::eInvisible
    2. Added new IPDF2DRenderModeAction::SetProcessChildNodes() and
      IPDF2DRenderModeAction::GetProcessChildNodes() methods for
      recursive nodes processing flag
    3. Improved UTF-8 support for widgets classes (PDF3DCheckBoxWidget etc.)
    4. Added Korean and Polish translations of PDF3DLicense utility
    5. Updated translations
    6. Improved license activation using PDF3DLicense tool
    7. PDF3D-SDK Platform upgrade, VS2012 (Visual Studio 11) to SP3 patch level
    8. Added PDF3DExporter::SetCurrentOpacity(double) method for setting current drawing opacity for 2D paint operations
    9. Added PDF3DExporter::SetCurrentOverprint(bool) method for setting current overprint mode for 2D paint operations
    10. Added DrawCMYK example representing usage of colors from CMYK colorspace
    11. Extended PDF3DColor class to allowing drawing in CMYK colors, added PDF3DExporter::DrawImageCMYK() method
    12. Upgraded LM-X to v4.5.4
    13. Greatly improved time of LMX license checking

What's new in PDF3D Version 2.8.0

  1. Teigha_Interface (Based on Teigha®)
    1. COMSOL_Interface
      1. Added usage of ColorArrayName and ColorArrayIndex parameters
      2. Added usage of colormap files
      3. Added support for files with utf-8 encoded filenames
      4. Added coloring logic (in case scalars are not found, solid color is used)
    2. DCC_Interface
      1. Fixed model transformation problems
      2. Added preservation of node names
    3. XGL_Interface
      1. Fixed model transformation problems
      2. Added /OXGL parameter to XGL_to_PDF3D utility for dumping decompressed stream to output file (usable when working with .zgl files)
      3. Added support for files with utf-8 encoded filenames
    4. Coin3D_Interface
      1. Fixed problem with missing color in variable_font.iv
      2. Added limited support for geoVRML format (only UTMs based on WGS84 datums are supported)
      3. Added Python Filter for ArcScene VRML with inter layers Z-Fighting
      4. Improved quality of exported legend
      5. Fixed recognition of supported files less than 255 bytes
      6. Added insertion of LaunchURL 3DActions if url tags are defined in input files
      7. Fixed texture nodes processing and VRML LineSet coloring
      8. Added runtime file support specifically for compilers (VS2005, VS2008, VS2010, VS2012, etc)
      9. ABAQUS VMRL filter: improved quality of legend and removed absolute path from generated .xml
      10. Added usage of PDF3DIntermediateModel::SetLayerStatus() method for marking layered models
      11. Added ability to build Coin_Interface's samples without linking to PDF3DCoinInterfaceStatic[_MDd].lib(.a)
    5. OpenInventor_Interface
    6. OSG_Interface
    7. VTK_Interface
      1. Added usage of ColorArrayName and ColorArrayIndex parameters
      2. Added usage of colormap files
      3. Added discarding of fully transparent models
      4. Fixed problems with labels' colors (removed explicit setting color and continued with diffuse coefficients)
      5. Removed duplication of data in geometry cache
      6. Improved exporting of labels
      7. Added support for using PDF3D simplification parameters
      8. Improved exporting of points in animated scenes in PRC encodings
    8. ParaViewPlugin
      1. Moved to using ParaView v4.0.1 framework
      2. Improved license check during ParaView's startup
      3. Updated embedded pvpython scripts
      4. Improved logic of exporting point sets. In case of an animated scene, points are exported as short line segments, otherwise as true points.
      5. Improved exporting cube-axes (i.e. added using custom ranges)
      6. Updated documentation
      7. Added embedding of version string to Windows binary file
      8. Added usage of custom ranges of cube axes
      9. Improved exporting of points in animated scenes in PRC encodings
      10. Added support for the use of PDF3D simplification parameters
    9. GRD_Interface
      1. Fixed several smaller bugs in point cloud reader
      2. Added discarding of rows with one column in multi-line point cloud files
      3. Fixed bugs in ASCII point cloud reader (which made not all points processed)
      4. Added geo-registration using WKT data from .prj files (if available)
      5. Fixed black pixel masking bug
      6. Added usage of PDF3DIntermediateModel::SetLayerStatus() method for marking layered models
    10. STL_Interface
    11. SHP_Interface
      1. Added usage ColorArrayName and ColorArrayIndex parameters
      2. Added usage of colormap files
      3. Added geo-registration using WKT data from .prj files (if available)
    12. AVS_Interface
      1. Added AVS/Express 8.1 support
    13. GDAL_Interface
      1. Added KML (XML) format import support
      2. Added geo-registration using WKT data from .prj files (if available)
    14. KOMPAS_Plugin
      1. Updated UI and IDispatch interface
      2. Added licensing and MSI multi-lingual generation
      3. Added 2D export prototype
      4. Switched to use U3D_RHC encoding mode
      5. Added localizations of PDF3DKompas plug-in
      6. Added MFC re-distributable binaries
      7. Enabled pure PRC Nurbs BREP in case where PRC encoding is specified
      8. Improved default parameters' values
      9. Added user's guide document
      10. Added MSI installer generation
      11. Added separate license feature key
    15. XmlServer
      1. Removed VRML Interface references
      2. Added Origin Orientation parameter per each assembly and scale factor per each assembly
      3. Added PointSet and LineSegments Simplification parameters: thresoldLineSegmentsCount and thresoldPointsCount
      4. Added new ShowLayersWindow tag for showing layers menu during PDF open
      5. Added new ShowBookmarksWindow tag for showing bookmarks menu during PDF open
      6. Added new InitialView tag for selecting first visible view in 3D PDF
      7. Fixed metadata addition bug
      8. Added ability for creating 2D geo-registered PDF files
      9. Added support of UNC filenames
      10. Revised unit processing logic. The input units of all assemblies are processed by the following algorithm:
        1. If ModelUnitType parameter is specified exactly (i.e. it is not equal to ModelUnit_is_NotDefined value)
          then all models will be converted from input units to the exactly specified ModelUnitType.
        2. If ModelUnitType parameter is not specified exactly (i.e. it is equal ModelUnit_is_NotDefined value)
          then program iterates through input assemblies (in original order).
          For each assembly it performs the following:
          1. If xyUnits of the current assembly is not equal zUnits of the current assembly and
            zUnits can be assigned to ModelUnitType parameter.
            In such a case XY coordinates are converted to zUnits.
            Also ModelUnitType parameter is forced to zUnits parameter value.
            Program converts all the rest assemblies to ModelUnitType parameter.
          2. If xyUnits of the current assembly are not equal to zUnits of the current assembly and
            zUnits can not be assigned to ModelUnitType, but xyUnits can be assigned to ModelUnitType.
            In such a case Z coordinates are converted to xyUnits.
            The ModelUnitType parameter is forces to xyUnits parameter value.
            Program converts all the rest assemblies to ModelUnitType parameter.
          3. If both xyUnits and zUnits of the current assembly can not be assigned to ModelUnitType then the
            program processes the rest assemblies (checks for conditions a, b and c).
        As a result of such processing target units should be selected.
        If ModelUnitType is still ModelUnit_is_NotDefined and
        output coordinate system is some type of geospatial coordinate system
        (either exactly specified geodetic or projected coordinate system, or automatically detected geospatial coordinate system)
        then ModelUnitType is forced to meters.
        If the output coordinate system is geospatial coordinate system
        then degreesPerMeter parameter is not used, and used geospatially correct transformations.
        Note that xyUnits and zUnits can be applied to any input assembly, but not for GRD_Interface only.
        The deprecated parameter degreesPerMeter is used only when the output coordinate system is generic cartesian.
    16. PDF3DReportGen
      1. Added new sample and state files, demonstrating the use of coloring from attributes
      2. Added multi-language support (currently supported Arabic, English, French, German, Italian, Japanese, Portuguese, Russian, Serbian and Spanish)
      3. Improved logic for export of a legend-bar so it can be exported to all merge modes
      4. Fixed crashing when PDF3DLicense utility icon is pushed
      5. Added support for the input filenames in UTF-8 encoding
      6. Improved visual appearance of main window
      7. Added several samples files
      8. Added lights intensity normalization in case of multiple input files
      9. Added GEOTIFF_to_PDF3D utility into the package
      10. Improved JavaScript sources for Z-Fighting
      11. Fixed Automatic PMI creation bugs
      12. Implemented the adding of PDF3DReportGen to Windows's Program and Features panel.
      13. Improved Manual documents
      14. Added geospatial coordinate processing and reporting
      15. Added the ability to create 2D geo-registered PDF
      16. Added the ability to create 3D geo-registered PDF
      17. Added Origin Orientation parameter per each assembly and scale factor per each assembly
      18. Intentional shutdown, if license utility launched, to avoid a duplicated license checkout
      19. Added PointSet and LineSegments Simplification parameters on the "Advanced" tab
      20. Upgraded simplification parameters about non-edge contractions deduced from hierarchical clustering
      21. Performed various simplification generalizations
      22. Updated Flash version of Mouse3DProbe controls for geospatial coordinates report
      23. Added automatic determination of an input file's geospatial coordinate system
      24. Added automatic selection of geospatial coordinate system in an output file
      25. Fixed metadata addition bug
      26. Added new sub-tab on 'Interface Settings' tab for flat 2D drawing options
      27. Added support of UNC filenames
      28. Fixed ZScale for +Y-Up coordinate system
      29. Revised unit processing logic. The input units of all assemblies are processed by the following algorithm:
        1. If ModelUnitType parameter is specified exactly (i.e. it is not equal to ModelUnit_is_NotDefined value)
          then all models will be converted from input units to the exactly specified ModelUnitType.
        2. If ModelUnitType parameter is not specified exactly (i.e. it is equal ModelUnit_is_NotDefined value)
          then program iterates through input assemblies (in original order).
          For each assembly it performs the following:
          1. If xyUnits of the current assembly are not to equal zUnits of the current assembly and
            zUnits can be assigned to ModelUnitType parameter.
            In such a case XY coordinates are converted to zUnits.
            Also ModelUnitType parameter is forced to zUnits parameter value.
            Program converts all the rest assemblies to ModelUnitType parameter.
          2. If xyUnits of the current assembly are not equal to zUnits of the current assembly and
            zUnits can not be assigned to ModelUnitType, but xyUnits can be assigned to ModelUnitType.
            In such a case Z coordinates are converted to xyUnits.
            The ModelUnitType parameter is forces to xyUnits parameter value.
            Program converts all the rest assemblies to ModelUnitType parameter.
          3. If both xyUnits and zUnits of the current assembly can not be assigned to ModelUnitType then
            program process the rest of assemblies (checks for conditions a, b and c).
        As a result of such processing, a target units should be selected.
        If ModelUnitType is still ModelUnit_is_NotDefined and
        output coordinate system is some type of geospatial coordinate system
        (either exactly specified geodetic or projected coordinate system, or automatically detected geospatial coordinate system)
        then ModelUnitType is forced to meters.
        If output coordinate system is geospatial coordinate system
        then degreesPerMeter parameter is not used, and used geospatially correct transformations.
        Note that xyUnits and zUnits can be applied to any input assembly, but for GRD_Interface only.
        The deprecated parameter degreesPerMeter is used only when the output coordinate system is generic cartesian.
    17. PDF3D-SDK General Changes
      1. Added functions for reading .PRJ files: PDF3D::Geospatial::ReadWKTFile(), PDF3D::Geospatial::ReadAccompaniedWKTFile() and others
      2. Improved VTSL helper library by adding directives for suppressing compiler warnings
      3. Improvements to C# .NET, Python, Java API, updated for core C++ API changes
      4. Added multi-language support for PDF3DReportGen and PDF3DLicense softwares (currently supported Arabic, English, French, German, Italian, Japanese, Portuguese, Russian, Serbian and Spanish)
      5. Added several sample files, KML, GeoTIFF, Shape types
      6. Added non-edge contractions deduced from hierarchical clustering
      7. Added delivering LM-X Server MSI package
      8. Added GDAL Interface
      9. Added support for PDF layers by exporting PDF in 2D mode
      10. Improved exporting of JavaScript scripts
      11. Changed FATAL error to WARNING for the case when several textures per one node tried to be exported
      12. Fixed JavaScript encoding troubles
      13. Added auto-generated examples for interfaces
      14. Added support for loading input colormap filenames in UTF-8 encoding
      15. Added silent execution mode to PDF3DLicense utility
      16. Fixed WidgetTest example show\hide sphere check boxes logic
      17. Added support of choosing format for an empty page
      18. Fixed bug at PRC driver about exporting the last segment of a closed single polyline
      19. Switched Create Blank and Activate From File commands in PDF3DLicense utility, improved logic
      20. Improved quality of the delivered Coin3D binaries (runtimes)
      21. New generic PDF template samples added
      22. Added preliminary version of geospatial coordinate processing and reporting
      23. Updated Flash version of Mouse3DProbe controls for geospatial coordinates reporting
      24. Extended Mouse3DProbe controls with geo reporting (added space for geospatial mode combo box)
      25. Attribute Preserving Mesh Simplification: extended to support line segments and point sets. See parameters of PDF3DIntermediateScene::PrepareForConversion
      26. Fixed a bug with animated colored points in PRC & PRC-HCT modes
      27. Fixed a bug with metadata in PRC & PRC-HCT modes
      28. Fixed a bug with HyperLink3D example and API in PRC & PRC-HCT modes
      29. Cosmetic changes to Z-Scale controls (removed '10x Z-Scale' button, 'Reset to Default' button was renamed to 'Reset' etc.)
      30. Fixed BORROW bug in PDF3DLicenseUtility

    What's new in PDF3D Version 2.7.0

    1. Teigha_Interface (Based on Teigha®)
      1. Implemented Views Selection String
      2. Added grouping by views. View grouping node has name like "TeighaView_5"
    2. DCC_Interface
    3. XGL_Interface
      1. Added the export of model transformations
      2. Added the export of lighting
      3. Added the export of lines and points (as line-segments in case of PRC-HCT)
    4. Coin3D_Interface
      1. Added example ABAQUS VMRL filter - abaqus_legend.py.
        Script exports filtered .wrl file, legend image .png and .xml state file with annotations
    5. OpenInventor_Interface
    6. OSG_Interface
      1. Updated Technical Note document
    7. VTK_Interface
      1. Added the export of textures for triangle meshes only (now discards for point-set and line-segment models)
    8. ParaViewPlugin
      1. Improved behavior of the "Update Dialog" dialog when templates are used
      2. Added the export of textures for triangle meshes only (now discards for point-set and line-segment models)
      3. Added support for optional packaging of VRPN binaries
      4. Added VR and Visit plugins
    9. GRD_Interface
      1. Changed logic of xyUnits and zUnits parameters processing.
        Previously GRD_Interface converted all coordinates from the specified units to meters.
        Currently GRD_Inteface marks the input specified units in the output document,
        instead of performing actual unit conversion. The unit conversion is performed in the following cases:
        1. If xyUnits is not equal zUnits and zUnits can be assigned to ModelUnitType
          parameter. In such a case XY coordinates are converted to zUnits. Also ModelUnitType
          parameter is forced to zUnits parameter value
        2. If xyUnits is not equal zUnits and zUnits can not be assigned to ModelUnitType
          but xyUnits can be assigned to ModelUnitType. In such a case Z coordinates are
          converted to xyUnits. The ModelUnitType parameter is forced to xyUnits parameter value
        3. If both xyUnits and zUnits can not be assigned to ModelUnitType
          then all coordinates are being converted to meters. ModelUnitType is forced to meters also
      2. Added optimization for colormaps 1D Texture generation mode. However, this mode
        can be used only with a limited number of cases: it does not work with decimated
        output meshes and with hillshading. The user is unable to control
        this optimization manually. This mode is be selected automatically if possible
      3. Fixed irregular Z levels in contour lines bug from previous GRD_Interface version
      4. Fixed holes generation bug from previous GRD_Interface version
      5. Added Enable High Texture Resolution flag processing. If this flag is true then
        the generated texture will have maximum allowed resolution.
        High Resolution textures may degrade display performance
      6. Replaced internal colormap files readers with readers from vtsl_lib package
      7. Added support for ArcGIS, Visit and EnSight colormap files
    10. STL_Interface
    11. AVS_Interface
      1. Updated for Access interface API changes
    12. XmlServer
      1. If some input file will be converted by GRD_Interface then
        ModelUnitType global parameter can be forced to some value.
        Please see GRD_Interface aforecited release notes
      2. Added new enumerator item None to DefaultViewScheme tag. It allows not to add any default view
      3. Added new mergeUnnamedNodesToNamedEmptyParent boolean attribute
        to PrepareForConversion tag which specifies merging unnamed
        nodes to named empty parent nodes flag (for ISD request)
      4. Added COMSOL specific parameters: ColorArrayName and ParametersFileName
      5. Added new highTextureResolution boolean attribute.
        If this flag is true then the generated texture will have the maximum allowed resolution.
        High Resolution textures may degrade display performance
      6. ExplodedView default changed to Disabled
      7. Added support for ArcGIS, Visit and EnSight colormap files
      8. Added new ArcGIS, Visit and EnSight colormap files to samples/colormaps
      9. Added viewsSelection to TeighaParameters
    13. PDF3DReportGen
      1. Improved general stability when user clicks "Abort conversion" button
      2. Added Points Substitution Mode combo box control to specify how point sets should be exported
      3. More compact UI design in Interface Settings tab
      4. Added the export of model transformations to XGL_Interface
      5. Added the export of lighting to XGL_Interface
      6. Changed logic of XY Unit and Z Unit parameters processing on geospatial tab.
        Previously PDF3DReportGen and GRD_Interface converted all coordinates from the specified units to meters.
        Currently PDF3DReportGen and GRD_Inteface marks the input specified units in the output document,
        instead of performing actual unit conversion. The unit conversion is performed in the following cases:
        1. If XY Unit is not equal to Z Unit and Z Unit can be assigned to Model Units Type
          parameter. In such a case XY coordinates are converted to Z Unit. Also Model Units Type
          parameter is forced to Z Unit parameter value and becomes gray-out
        2. If XY Unit is not equal to Z Unit and Z Unit can not be assigned to Model Units Type
          but XY Unit can be assigned to Model Units Type. In such a case Z coordinates are being
          converted to XY Unit. The Model Units Type parameter is forcef to XY Unit parameter value
          and becomes gray-out
        3. If both XY Unit and Z Unit can not be assigned to Model Units Type
          then all coordinates are converted to meters. Model Units Type is forced to meters also and becomes gray-out
      7. Added new item None in View Scheme combo box control. It allows not to add any default view
      8. Added new mergeUnnamedNodesToNamedEmptyParent boolean attribute
        to PrepareForConversion tag which specifies merging unnamed
        nodes to named empty parent nodes flag (for ISD request).
        This paremeter is supported as a state file parameter only
      9. Increased number of decimals for PRC Tolerance parameter in the user interface
      10. Added COMSOL specific parameters: ColorArrayName and ParametersFileName
      11. Geospatial tab: added Enable High Texture Resolution check box.
        If this flag is true then the generated texture will have maximum allowed resolution.
        High Resolution textures may degrade display performance
      12. Added support for ArcGIS, Visit and EnSight colormap files
      13. Added new ArcGIS, Visit and EnSight colormap files to samples/colormaps
      14. Teigha Interface tab: added Views Selection
    14. PDF3D-SDK General Changes
      1. Added new geospatial 2D layers API, for more details, please see
        PDF3DExporter::GetOCLayers() method reference
      2. Added new OCLayersExample example which shows how to generate
        geo-registred PDF files with optional content layers (2D geospatial layers)
      3. Added new GEOTIFF_to_PDF3D example which shows how to generate
        geo-registered PDF files
      4. Extended list of possible default PDF layout zoom modes,
        please see PDF3DPDFOptions::curPageMode for reference.
        Added option to set some user-supplied zoom factor, such as 75%
      5. Added NurbsIS example. This examples shows how to use PDF3DIntermediateModel to export NURBS surfaces and curves
      6. Added CameraMoveAndHide example. Shows how to create custom buttons which can simultaneously move camera and change node visibility
      7. Added CylinderTexturedAI example. Shows how to create a cylinder with a texture applied to the surface.
      8. Introduced new PDF3D_SDK_GEOSPATIAL_LINK_LIBRARIES macro (in CMake scripts)
        for linking with pdf3d_geospatial library (for generation geo-registered PDF files)
      9. Removed PDF3D_LINK_LIBRARIES_TO_PLUGIN and PDF3D_LINK_LIBRARIES_TO_PLUGIN_CUSTOM
        macros in CMake scripts (please use PDF3D_LINK_LIBRARIES_TO_PROJECT or
        PDF3D_LINK_LIBRARIES_TO_PROJECT_CUSTOM macro instead)
      10. Improved internal structures for automatic geometry reference system.
        Now automatic geometry reference system works much faster and consumes less memory
      11. Improved conversion routines to PRC & PRC-HCT 3D data formats. Now they require less memory
      12. Changed View and Light access interfaces' methods to return enumerations instead of using
        them as output arguments. Please update your code if required.
        Subjets to this change are:
        • PDF3DLightAccessInterface::GetLightType
        • PDF3DLightAccessInterface::GetLightAttributes
        • PDF3DViewAccessInterface::GetViewType
        • PDF3DViewAccessInterface::GetNearFarClippingType
      13. Changed PDF3DIntermediateScene::PrepareForConversion() method which now accepts
        PDF3DPrepareForConversionParams structure
      14. Improved exporting module for LineSet models. Resulting size of such models
        is reduced both for PRC and PRC-HCT 3D formats
      15. Reduced memory consumption for PDF3DIntermediateModel::BeginPutSeession(),
        PDF3DIntermediateModel::EndPutSeession()
        methods
      16. All auto-generated files now have prefix AutoGen, except
        input_specifications.pdf, input_specifications.html, PDF3DXmlServer.xml
        and PDF3DXmlServer.xsd
      17. Added readers for ArcGIS, Surfer, Visit and EnSight colormap files to vtsl_lib area
      18. Added new ArcGIS, Visit and EnSight colormap files to samples/colormaps
      19. IntermediateStorage VRML specific modes: improved complexity from O(N^2) to O(N)
      20. U3D: fixed scene distortion bug in PointSets with less than 3 points
      21. HCT: adjusted internal structures, reduced memory usage
      22. HCT: implemented fallback for int32 overflow (meshes that have too small edges and too large distances/edges)
      23. Simplification: internal improvements, minor speedup
      24. PRC and HCT: integrated warnings/errors to main services
      25. Mangled internal VTK symbols
      26. LMX: automatic server discovery mode can be turned off by setting
        PDF3D_AUTOMATIC_SERVER_DISCOVERY environment variable to 0

    What's new in PDF3D Version 2.6.0

    1. Teigha_Interface (Based on Teigha®)
      1. Added Surface-Only, Suppress Line Conversion option, new check-box in PDF3DReportGen
      2. Teigha 3.8.1 version upgrade, supports AutoCAD 2013, from previous version 3.7.0.
      3. Teigha: Top scene transformations are now aligned with model, APMI annotations now aligned.
      4. Node names are based on layer names now
      5. Implemented hierarchical grouping of nodes by layer names
    2. DCC_Interface
      1. Enabled macOS DMG packaging
      2. assimp Centos 4, Suse10 GCC compile errors resolved.
    3. XGL_Interface
      1. Enabled macOS DMG packaging
      2. Added simplest possible cube.xgl ASCII example to samples
    4. Coin3D_Interface
      1. Improved node hierarchy processing routines to save original nodes hierarchy at maximum possible level
      2. Improved SoWriteSceneToPDF3D conversion class to support most of conversion paramerters. If you need backward compatibility then please, use OldOldSoWriteSceneToPDF3D class instead
      3. Added new example LandRoverDemo which uses new SoWriteSceneToPDF3D class, with custom layout, buttons, template style
      4. Coin3D VS2012 compile error fix (redefinition of int8_t) applied using header Coin_inttypes_workaround.h.
      5. COIN Interface IV file NURBS curved surface entity support added [PROVISIONAL STATUS]
      6. Failure at loading a plugin in PDF3DReportGen during some customers installation revised.
      7. Added OldSoWriteSceneToPDF3D::AddDefaultView() method (Thanks to Kim R.)
      8. Build required, missing PDF3DPngEncoder.h header file, resolved
      9. Changed Coin3D_Interface to use new methods: PDF3DIntermediateModel::SetTemplateName()
      10. Added only 1 callback for SoGroup nodes rather then 2 different callbacks for each derivate from SoGroup class
      11. Improved loading textures: the created texture is in the same heap manager as source scene
    5. OpenInventor_Interface
    6. OSG_Interface
      1. Geospatial Image support added
      2. Additional platforms brought up to 3.1.3
      3. VS2012 support added
    7. VTK_Interface
      1. Added support for specifying template file name
      2. Added Mesh Simplification parameters
    8. ParaViewPlugin
      1. Added exporting OBJ plus PC2 point cache for vertex position animation
      2. Added exporting to sequence of OBJ files feature (using OBJFileExporter plugin) + ExportPointCache UI / pvpython option
      3. Added support for template files
      4. Added advanced UI options for specifying annotations which should be replaced
      5. Added processing of all output ports (previously only Output Port 0 was processed)
      6. Fixed bug related to visibility of OnExistingPage widget on SettingsDialog when MergeMode is set to Replace Annotation
      7. Revised SettingsDialog class (moved parameters manipulating to ExportingParameters)
      8. Fixed bug related to security flag when exporting multi-page document
      9. Upgraded exporting of lights (now exports all 3 VTK types of light sources)
      10. Revised loading state file / annotation file and saving state file in vtkPDF3DExporter class
      11. Fixed security problems and cleaned the part of code for loading PDF3D parameters from state file
      12. Finished with replacing using QSettings with ExportingParameters class
      13. Added ExportingParameters class files
      14. Improved packaging directives for OpenMPI runtime
      15. Fixed small bug related to discarding of degenerative triangles
      16. Updated Users Guide and Release Notes documents
      17. Added Mesh Simplification parameters
      18. Added dialog at the end of exportion process notifying successfully finished exportion
    9. GRD_Interface
      1. Major Refactoring of GRD_Interface, mainly color mapping classes have been refactored
      2. Added feature to export colors either as colored texture or as straightforward colors in all color mapping modes
        (along z, with attributes, show rgb colors, etc)
      3. Improved ability of mapping image files (.jpg, .png, ,tif) with accompanied World Files. Now rotation parameters are supported
      4. Added ability to mapping geo-tagged TIFF (GeoTIFF) image files
      5. Fix for color points for SRSample.las
      6. Improved texture resolution in GRD_Interface.
        GRD_Interface tries to use original texture resolution in case of external image + world file.
        If this texture size exceeds maximum allowed texture size in Adobe Reader,
        then it performs 2x2 sub sampling until texture size reaches allowed size
      7. Added zero checks for intervalX and intervalY parameters (to prevent division by zero)
      8. Hill shade improved so now works together with any other mapping mode
        (AlongZ,ScalarToColorMap,DirectColor,DefaultSolid,ExternalTexture etc)
      9. New bilinear interpolation method added for color and gradient interpolation
      10. Changed order of generated triangles, now front face of grid is visible by default
        (previously back face of grid was visible by default)
      11. Implemented new geospatial texture mapping method where texture is generated for used grid part (but not for all grid as before).
        However, the previous texture mapping method is preserved and can be selected if texture covers more than 50% of the full grid square
      12. Increased buffer size in GRD_Interface ASCII point cloud class reader
    10. STL_Interface
      1. Adjusted ASCII or binary format detection for .stl files
      2. Fixed extensions check, .stla and .stlb are correctly identified
    11. AVS_Interface
    12. XmlServer
      1. Added ability to map geo-registered image files (either GeoTIFF files or ordinary image files with accompanied World Files) to any input 3D model. Please refer to GeospatialImage tag
      2. Fixed the bug in security permission attributes
      3. Perl on Windows: added C:/Perl{32,64} as highest priority search path during build
      4. XML Animation Tutorial updated to latest XML tags
      5. XML Server Training Slides updated
      6. XML/ReportGen added Teigha-specific parameter "Suppress Lines Conversion"
      7. Added Mesh Simplification parameters: Simplification subtag in PrepareForConversion
    13. PDF3DReportGen
      1. Added ability to map geo-registered image files (either GeoTIFF files or ordinary image files with accompanied World Files) to any input 3D model
      2. Fixed the bug in security permissions
      3. Added Teigha specific Surface-Only, Suppress Line Conversion option, new check-box
      4. Added Training Slides, short overview
      5. Added new HOW-TO chapters in manual, for colormap file formats and template creation.
      6. Added Mesh Simplification parameters on Advanced tab
    14. PDF3D-SDK General Changes
      1. Added geospatial family of API functions which are located in include/geospatial folder. Please see the reference documentation for the following new API functions
        1. For reading geo-registration parameters from World Files and GeoTIFF files
          1. PDF3D::Geospatial::ReadWorldFile() for reading the specified World File
          2. PDF3D::Geospatial::ReadAccompaniedWorldFile() for reading an accompanied World File
          3. PDF3D::Geospatial::ReadAccompaniedWorldFileOrGeoTiff() for reading geo-registration parameters either from GeoTIFF file or from World File
        2. For reading raw GeoTIFF tags and creating geospatial PDF files which are compatible with Open Geospatial Consortium (OGC) PDF Geo-registration Encoding Best Practice Version 2.2 document
          1. PDF3D::GeoTiff namespace and PDF3D::RawInformation structure which strores all required raw GeoTiff tags for embedding in geospatial PDF files
          2. PDF3D::OGCPDF::ConvertRawGeoInformation() function which converts raw GeoTIFF information ready for use for embedding in geospatial PDF files
          3. PDF3D::OGCPDF::WriteGeoinformation() function for saving geospatial information in PDF files. In such case the created PDF file become geospatial PDF file
          4. Further, these routines return true 3x4 matrix for 3D vector transformation
        3. Added GeoTIFF header files into include/geospatial/geotiff folder to work with GeoTIFF enumerators
        4. Updated LM-X licensing subsystem to version 4.4.2 new license server update is required for floating users
        5. Added new PDF3DIntermediateModel::SetTemplateName() method. The template name of the model will use used during generation of model name, in case if a source model name is empty and generated unique name should be used
        6. PDF3DExporter::SetAlternateShowSystem() has been changed, removed PDF3DSceneOptions argument. Please update your code
        7. Added new function to ask if a texture exceeds the PDF3D-SDK's texture limits, PDF3D::Limits::IsTextureSizeExceedLimit()
        8. Improved Label font resolution lower-bound to avoid corrupt label rendering
        9. CMake upgrades to 2.8.10 for Visual Studio 2012 support
        10. Visual Studio 2012 support added
        11. LMX no longer available on VS2005
        12. VS2003 .NET no longer included in Windows 32-bit SDK packaging
        13. QT version upgraded to 4.8.4
        14. Windows8 Runtime Support added
        15. Added libgeotiff version 1.4.0
        16. Updated libtiff from 3.5.7 to 4.0.3
        17. Implemented Attribute Preserving Mesh Simplification. See parameters of PDF3DIntermediateScene::PrepareForConversion. Simplification is the process of reduction of the total triangle count whenever possible, preserving features of a model. Simplified models may increase interactive performance speed, and reduce storage requirements for an output file.
        18. Non-Cubic Trimmed NURBS API Methods Added [PROVISIONAL STATUS], where NURBS are tessellated for U3D,
          direct non-tessellated representation for PRC
          NurbsAccessInterface, and SplineAccessInterface methods added to API
        19. Intermediate Storage memory requirements reduced
        20. Replace Annotation mode on macOS template enabled.
        21. LMX 4.1 library name pool burnout resolved.
        22. Z-Fighting Prevention Fails after Home or Default View selected event resolved,
          added scene management updating on camera event, for Z-fighting prevention, label transformations
        23. Adjusted Z-Fighting Prevention mechanism for VTK Linesets and Pointsets
          All Linesets now have same Z-Priority - higher than triangle meshes. Delta is 0.1*TriangleMesh_Z-Shift
          All Pointsets now have same Z-Priority - higher than Linesets. Delta is 0.1*TriangleMesh_Z-Shift
        24. Added scene management updating on camera event, for Z-fighting prevention, label transformations.
        25. Improved Dynamic 3D Labels System to work when JavaScripts are disabled
        26. Added new merge mode in ConversionRunner: MConversionRunner::MergeIdentity() which is used to merge a single assembly
          (no additional nodes are created)
        27. Added 'const' qualifier to PDF3D_C3V, PDF3D_C4V, PDF3D_C3x4M, PDF3D_C4x4M template methods
        28. Added two new parameters to PDF3DIntermediateScene::PrepareForConversion() method
          (removeUnnamedGroupingNodes and removeEmptyNodeHierarchies)
        29. Added PDF3DIntermediateModel::SetMarkToDelete() method which marks to delete the specified model
        30. Added unicode node-names support for PRC encoding
        31. PDF3DLabelModel - constrained min font size to 32 (does not affect model size), elliminates intermittent label corruption
        32. Added ability to mapping geospatial images for a specified 3D model which is stored into PDF3DIntermediateModel object, see
          PDF3D::Geospatial::MapGeoImageToModel and PDF3D::Geospatial::CreateMappedGeoImage() for details
        33. Updated PDF3DIntermediateModel::SetTexture(PDF3DTexture texture), it ignores previous texture value
        34. Added PDF3DBoundingBox::Accumulate(PDF3D_D3V point) for accumulating points
        35. Exposed vtsl_lib to users (function start with lower-case, class/struct with upper-case): approx_equals, ApproxEqualsFixed, linear_approx_segment, linear_approx_sequence, euclidean_gcd, Factorial, round_nearest_half_up, round_nearest_half_abs_up, round_nearest_half_down, round_nearest_half_abs_down, Transform1D, linear_range_to_range, inverse(Transform1D), Successor, Orbit, extract_last_ext, read_file, lexical_cast, to_string, float_to_string, wstring_to_string, ToLower, lower_case, scoped_array
        36. Added support for UTF encoded JavaScripts to PDF3D-SDK
        37. Updated WidgetStyleExample
          - simplified checks in isInsideOutline functions
          - for anti aliasing simple gauss blur is now used
          - added explicit use of std namespace
        38. Extent Mis-Alignment in GRD/OSG/Teigha and Axes Inserter resolved. To enable fix you need to use forceTransformateAllMatricesToIndentity attribute of NormalizeSceneBBox tag in XML state file
        39. macOS PDF3DReportGen restored missing DCC, XGL interfaces.
        40. Kompas-3D CAD Interface plug-in (private distribution)
        41. Documentation: ArcScene to PDF3D Tutorial updated with new PDF3DReportGen screenshots
        42. Added Boost 1.52 header-only libraries to PDF3D-SDK/include/pdf3d/boost. It is not used in SDK API. But it is required during build of Coin3D Interface and similar. May be removed in future versions.

    What's new in PDF3D Version 2.5.0

    1. Teigha_Interface (Based on Teigha®)
      1. New interface introduced to support loading of DXF, DWG, Collada DAE (BETA Windows only), DWF and DGN file types, based on Open Design Alliance Teigha®.
      2. Support of polygons, lines, colors and hierarchies.
    2. DCC_Interface
      1. New interface introduced to support loading of Collada DAE, Blender, IIR, MS3D, OFF, LXO, and other DCC file types.
    3. XGL_Interface
      1. New interface introduced to support loading of XGL/ZGL 3D file types.
    4. Coin3D_Interface
      1. Coin3D version 3.1.3 update, new license terms
      2. Minor improvements to error reporting messages
      3. Camera animation added
      4. Compiler compatibility adjustments
      5. Python IV separator filter improved
      6. Debug dlls now packaged
      7. Crash fix related to SoSFColor
    5. OpenInventor_Interface
      1. Improved C++ type casting in interface, memory corruption fix
    6. OSG_Interface
      1. Improved examples to use new conversion runner library
    7. VTK_Interface
      1. VTK version 5.10 update
      2. Added merge mode for replace annotation
      3. Fixed font parameter for point and cell labels
      4. Increased lookup table resolution, corrected artefacts when NaN color assigned
      5. VTKLegend updated to use Optimal legend (better tic boundaries)
      6. Legend layout adjusted for non-overlap wtih numerical labels
      7. Improved exporting non-composite derivatives of vtkPolyDataMapper
      8. Added double-sided rendering for PRC encoding
      9. Improved image exporting, full grid replaced with texture on 2x triangles
      10. Removed QDebug header from VtkConverter class
      11. Added Z-fighting prevention option
      12. Improved exporting of image data objects
    8. ParaViewPlugin
      1. Added Replace annotation mode
      2. Fixed bug causing security errors when corrupt output file specified
      3. Discrete color legend fix
      4. Optimal legend generation update, legend tics now at rounded numerical boundaries
      5. pvpython license session corrected
      6. Added support for exporting animated scenes from pvpython environment
      7. Added new examples of exporting animated scenes from pvpython environment
      8. Added using VTK View by default when opening exported 3D PDF
      9. Corrected uneven, blotchy color shading artefacts appearing on some surfaces.
      10. State file Restore Active button change on selection UI behaviour fix
      11. Changed PRC-HCT default Tolerance from 1e-3 to 1e-5 for improved initial default surface smoothness
      12. VTKLegend replaced with PDF3DLegendOptimalInterface
      13. Improved exporting of image data objects
    9. GRD_Interface
      1. Scene normalization option for improved numerical stability now global for all interfaces, not longer locally part of GRD interface
      2. Optimal legend update - replaced GRD ColorLegend with PDF3DLegendOptimalInterface
      3. Reversed meaning of 'o' in XML colormap file reader, now matches ParaView
      4. Moved some definitions from code into header files
      5. Axes are now global for all interfaces, no longer a local part of the GRD interface.
      6. Min-max normalization correction, legend range when attribute colors applied
    10. STL_Interface
      1. Adjusted example command-line to use new conversion runner library
      2. Fixed misprints at comments
    11. AVS_Interface
      1. No change a present time, holding at AVS/Express 7.3
    12. XmlServer
      1. Added scene normalization option for improved numerical stability
      2. Dynamic 3D labels options now global for all interfaces and able to change axis label font size
      3. Starting with Adobe 9 billboardContinuesMode attribute in DynamicLabels tag does not affect due internal implementation of Adobe
      4. Added ability to use coordinates in model space for camera animations and template file support for all update modes
      5. added CoordinateSpace tag (specifies Node name) to all camera key frame types
      6. Updated RigidAnimation scripts to use local coordinate spaces
      7. Removed unused key frames generation for RigidAnimation
      8. Improved tag documentation
      9. Added Teigha® Assembly Depth control - Assembly.AssemblyProperties.TeighaParameters.AssemblyDepth
    13. PDF3DReportGen
      1. Teigha® interface PDF3DReportGen packaging, DXF, DWG, DWF, DGN, and Collada file types
      2. DCC interface PDF3DReportGen packaging, Collada DAE, Blender, IIR, MS3D, OFF, LXO
      3. XGL interface PDF3DReportGen packaging, loading of XGL/ZGL 3D file types
      4. Added scene normalization option for improved numerical stability
      5. Dynamic 3D labels options now global for all interfaces and able to change axis label font size
      6. Starting with Adobe 9 Continuous Update check box on Label Dynamic Controls group box does not affect due internal implementation of Adobe
      7. UI: moved Additional Controls group from Advanced to 3D Controls tab
      8. Adjusted main window size less tall, to fit onto laptop screens.
      9. Added Template file browser on the first tab
      10. Automatic detection if template is 2D or 3D, switching merge modes accordingly
      11. Corrected Spin animation option
      12. Legend and Scene axes now have tic labels at rounded numerical boundaries
      13. Black pixel substitution operation corrected
      14. Page layout margin logic corrections
      15. Launching License Utility on Windows platforms corrected
      16. Layer control insertion into PDF under 3D view logic corrected
      17. Lock Render Mode toggle option added, with updated internal scene constraints
      18. Double sided rendering modes insertion logic corrected
      19. Added Teigha® Assembly Depth UI control
    14. PDF3D-SDK General Changes
      1. Added PDF3DSceneInterface::Destroy(), PDF3DModelInterface::Destroy(), PDF3DViewAccessInterface::Destroy(), PDF3DLightAccessInterface::Destroy() methods to improve memory handling
      2. Starting with Adobe 9 continuous argument in PDF3DExporter::SetLabelDynamics method does not affect due internal implementation of Adobe
      3. DrawGradientLegend implementation adjusted, fixed color interpolation, changed PDF format to raw to prevent lossy compression artefacts, added space between labels and tic lines, added label overlap prevention logic.
      4. Added LayerCaptions array to layer separation parameters, if specified, values from this array will be displayed in controls instead of node name of the layer (layer name substitution feature).
      5. Added support for bookmarks (implemeted by IPDF2DDocLayer::CreateBookmark method).
      6. Added new fields to PDF3DOptions: curPageMode (sets whether bookmark views will fit width or height of the page) and curBookmarksMode (sets if bookmarks tab will be shown at file opening).
      7. Clipping plane API updated
      8. PDF3DConversionManager::SetDefaultViewsInsertionMode corrected, to set arbitrary view as default on PDF open
      9. Moved iText binaries so are now available in customer packaging
      10. Changed PRC-HCT default Tolerance from 1e-3 to 1e-5 for improved initial default surface smoothness
      11. Improved exception handling at MConversionRunner::SingleLoad
      12. AxesInserter improvement of axes alignment, added minor and middle ticks, colors adjustment
      13. Added PDF3DLegendNonRegularInterface: wrapper around PDF3DLegendInterface which allows to use independent non-regular steps for labels and color map points
      14. Added PDF3DLegendOptimalInterface - wrapper around optimal_ticks and labels generator
      15. DrawGradientLegend - fixed wrong color interpolation, added labels overlap prevention

    What's new in PDF3D Version 2.4.1

    1. Coin3D_Interface
      1. Fixed heap problem (crash) in code dealing with SoSFColor
      2. Quick fix for "whichChoice -1", replaced with "whichChoice 0"
      3. Improved preprocessing VRML filter
      4. Fixed crash in ansys_vrml_simplify.py filter on some input
      5. Added vrml2_node_merger.py filter
      6. Updated to Coin3D version 3.1.3 library
    2. OpenInventor_Interface
      1. Fixed heap problem (crash) in code dealing with SoSFColor
      2. Fixed compilation errors in OpenInventor interface
      3. Fixed resource and memory leaks by adding finish() methods for SoInteraction and SoNodeKit classes.
    3. VRML_Interface
      1. Removed at the current release, please use Coin3D Interface as a replacement for converting any VRML files.
    4. OSG_Interface
      1. Improved color processing algorithm; some models have the original colors after conversion
    5. VTK_Interface
      1. Added support for exporting styled spreadsheets
      2. Added Use Flash Controls flag deciding between Flash / non-Flash PDF controls
      3. Added support for exporting labels with special formats
      4. Added support for exporting GOW legends
      5. Improved exporting of vtkImageData
      6. Added setting Pan navigation tool as default if rotation is disabled
      7. Added new merge mode - Replace Annotation
    6. ParaViewPlugin
      1. Added support for exporting styled spreadsheets
      2. Added Use Flash Controls flag deciding between Flash / non-Flash PDF controls
      3. Added support for exporting labels with special formats
      4. Added support for exporting GOW legends
      5. Added support for selecting axes along which will be exported custom PDF3D axes and scalebar
      6. Added UI parameters to control Z-Fighting Prevention Mechanism
      7. Improved exporting of vtkImageData
      8. Added setting Pan navigation tool as default if rotation is disabled
      9. Added new merge mode - Replace Annotation
      10. Fixed several exporting bugs
    7. GRD_Interface
      1. Fixed reverse meaning of attribute 'o' in colormap files during reading by XML colormap reader
      2. Fixed crash in GrdColormapReader::GetRGBAColor() method
    8. STL_Interface
      1. Fixed crash in STL Interface during loading binary STL files which begin from 'solid binary' string. These files were recognized as ASCII STL files
    9. XmlServer
      1. Fixed unit label insertion logic for both types on input data (GRD and non-GRD)
      2. Fixed ZScale behavior in ReportGen and XmlServer; they use correct scene center now
      3. Perl script language example added
      4. Java language example and wrapper added
      5. Added CameraMovement subtag to RigidAnimation, describing keyframes used to animate camera
      6. Added PDF3DPlaybackParams contents to RigidAnimation tag as attibutes to allow it to be played without inserting animation conrols
      7. Improved auto-position and autoscale algorithm for 2D UI controls placement
      8. Manual, User Guide added
      9. Ruby script language example added
      10. Added tag to control Z-Fighting Prevention Mechanism: <ZFightingPrevention enabled="true" ZShiftScale="0.1"/>
      11. Added new MergeMode Replace Annotation to allow replacement of existing annotations. Also added subtag ReplaceMode to specify searching method for annotation to be replaced.
      12. Added new lockRenderMode attribute to PDF3DSceneOptions tag. It forces display in the same render mode as specified at creation time, i.e. locks in render mode representation, and disables user ability to change it during Adobe Reader session
      13. Added new CoordinateSpace tag to CameraMovement's keyframe tags. It allows to specify scene node which coordinate space to use for camera positioning
      14. Added new TemplateFileName tag to InputParameters. When using any of update modes it specifies source file, which contents must be updated, this allows to keep original file unchanged by seting OuputFileName to different value thus saving modified PDF in new file
      15. Added new NormalizeSceneBBox tag to perform scene normalization
    10. PDF3DReportGen
      1. Keylib Full SoftwareProtectionPlus system update to 4.6.0.6 version
      2. Fixed ZScale behavior in ReportGen and XmlServer; they use correct scene center now
      3. Added XSD validation on loading and saving XML in PDF3DReportGen
      4. Added new UI controls to specify interface-specific conversion parameters individually for each input file. Added two new buttons for creating and deleting individual conversion parameters (Create Options and Delete Options buttons) and combo-box for selecting the current input file
      5. Added new Scene Axes tab, Axes parameters were moved to this tab and were switched to checkbox-style Axes parameters
      6. Add Compass Symbol check-box and Original Coordinates combo-box were moved to Scene Axes tab
      7. PRC Tolerance Type combo-box was replaced by similar PRC Tolerance Is Relative check-box
      8. Crease Angle parameter was moved into Interface Settings tab, Common Parameters section
      9. Fully redesigned conversion engine in PDF3DReportGen. Now it uses .XML state files format which is fully compatible with PDF3DXmlServer's .XML format. I.e. you can open .XML files which were created for PDF3DXmlServer in PDF3DReportGen application. Also PDF3DReportGen creates PDF3DXmlServer-compatibility .XML state files. However, some features of PDF3DXmlServer are not supported in PDF3DReportGen.
      10. Improved auto-position and autoscale algorithm for 2D UI controls placement
      11. Added UI parameters to control Z-Fighting Prevention Mechanism
      12. Fixed unit label insertion logic for both types on input data (GRD and non-GRD), extended Scene Axes UI parameters' block
      13. Added new UI controls to override diffuse, specular, ambient, emission material properties and shininess value for a specified input file.
      14. Restored the ability of selection background color in Adobe Reader menus for 3D PDF files which have no gradient background color
      15. Added new MergeMode Replace Annotation to allow replacement of existing annotations. Also added controls to specify a searching method for an annotation to be replaced.
      16. Security options improved to show free Adobe Reader commenting availability
      17. Added new Lock Render Mode control to the PDF 3D View tab. It forces display in the same render mode as specified at the moment of creation, i.e. locks in render mode representation, and disables user ability to change it during Adobe Reader session
      18. Added controls to specify template file for update modes
      19. Redesigned update file dialog
      20. Added new Perform Scene Normalization check box to perform scene normalization
    11. PDF3D in PowerPoint
      1. Updated to v1.1
      2. Free download available from store site
    12. PDF3D-SDK General Changes
      1. Added new API for creating custom widget styles (please see PDF3DExporter::SetPDF2DControlsStyle() method reference)
      2. Fixed hang-up (infinite loop) then PDF3DConversionManager encountered unused lights in PRC or PRC_HCT modes
      3. Improved PDF3DAxesInserter class implementation; for cases when two axes are selected, their "ticks" now lie on same plane
      4. Axes Elevation now does: displacement on X for YZ selected axes, displacement on Y for XZ selected axes, displacement on Z for rest cases
      5. Extended RigidAnimation's so it can be used to animate both models and camera (one rigid animation can contain just camera movement, just model movements or both)
      6. Extended RigidAnimation's API for advanced set opacity modes. Please see reference documentation about PDF3DRA_EOpacityMode enumeration type and PDF3DRANodeMovement structure
      7. Improved set opacity methods in layer separation and model tree systems
      8. Added PDF3DPlaybackParams structure containing playback parameters (e.g. animation speed, direction) to allow rigid animaion to be played without inserting any animation conrols
      9. Fixed locale decimal point error in ModelTree and LayerSeparation flash controls
      10. Fixed page formating bug in PDF3DTableCreator
      11. Added functions to support replacement of an existing annotation (all of below functions can perform search for annotation by: it's 3DData's md5 hash [and page number]; page number and annotation number):
        • Replace3DScene replaces existing annotation in PDF. This function simply deletes existing annotation and then inserts a new one in it's place
        • Measure3DScene returns page on which existing annotation is positioned and annotation's bounding box
        • Free3DScene deletes existing annotation from document
      12. Added FOReplace example to show how to replace 3D annotation created by XSL-FO
      13. Added LayersExampleAI example, shows how to export a 3D scene with multiple layers using Access Interface
      14. Added Z-Fighting Prevention Mechanism
      15. Added WidgetStyleExample and WidgetImageButtonExample into examples folder
      16. Added new PDF3DExporter::SetLockRenderMode() method. It forces display in the same render mode as specified at creation time, i.e. locks in render mode representation, and disables user ability to change it during Adobe Reader session
      17. Removed dependency from page orientation for SetPageWidth, GetPageWidth, SetPageHeight and GetPageHeight functions in PodofoLayer. It was done because, when getting orientation, rotation entry of annotation's dictionary is used. This attribute does not change page's geometry (just rotates page by the given angle), but so does swapping width with height

    What's new in PDF3D Version 2.4.0

    1. Coin3D_Interface
      1. Added support for texture coordinate wrap mode. Please note that Coin3D library supports only CLAMP and REPEAT wrap modes
      2. Added support for broken IndexedTriangleStripSet nodes
      3. Format preprocessing, filtering, now completely in memory, avoiding temporary files (possible write permission issues).
      4. Improved preservation of connectivity, eliminating small mesh gaps, improving PRC-HCT compression performance
      5. Large Performance improvement in processing .iv and .wrl (VRML) files
      6. Improved algorithms for input file parsing
    2. OpenInventor_Interface
      1. Updated OpenInventor Interface, added PDF3DReportGen plugin dll and extended SoWriteSceneToPDF3D class. Now OpenInventor interface supports OpenInventor library version 9.0
      2. Implemented VRMLDisk2D callback to support conversion of the appropriate nodes
    3. VRML_Interface
      1. Deprecated, please use Coin3D where possible.
    4. OSG_Interface
      1. Upgraded to support OSG version 3.0.1 on all platforms
      2. Drawing points with actual points, instead of lines, implemented, removed previous work-around
      3. Nodes with their own viewport are hidden now
      4. Fixed possible crash in case the geometry does not have vertices
      5. Fixed wrong interpretation of data (colors, normals, UV's) for cases with complex primitives (quads, polygons) and fixed possible crash.
      6. Improved memory allocation
      7. Added support of three formats (OpenSceneGraph extendable) - osgb (Binary), osgt (ASCII), osgx (XML)
    5. VTK_Interface
      1. Improved spreadsheet exporting
      2. Replaced exporting points as short lines with exporting as points, removed previous work-around
      3. Added resolving environment variables in log file pathnames
    6. ParaViewPlugin
      1. Updated to ParaView 3.14.0 latest stable version
      2. Improved spreadsheet exporting
      3. Fixed exporting pipeline source and filter names, now preserves original names in PDF model tree
        (NOTE: requires ParaView source patch, contact support for details).
      4. Added UnscaledTicks property support
      5. Added watermark option, large 45 degree transparent text overlay
      6. Fixed warning about duplicate conversion manager
      7. Added ACTORS_NAME_PATCH CMake option to control if actors name patch is present in ParaView build
      8. Replaced exporting points as short lines instead of exporting them as points
      9. Upgraded animation detection code
      10. Fixed UI layout problems and spelling mistakes
      11. Added resolving environment variables in a log file pathnames
      12. Added Check for Updates button
    7. GRD_Interface
      1. Fixed custom range behaviour for colormaps
      2. Added support for exporting point cloud files with both intensity and RGB color specified, in all encoding modes
      3. Added discarding points with intensities out of specified range
      4. Added setting how point cloud attributes are used (map colormap with intensities or Z values, color by RGB values)
      5. Refactored GRD_Interface. Implementation is now separated between classes for each data type (e.g. point cloud and grid) and file format
      6. Fixed possible crash in Point Cloud loading case
      7. Replaced Axes Z Offset with Axes Elevation
      8. Replaced exporting points as short lines with exporting as true points
      9. Added checking and exporting all 4 possible triangles in case 1 vertex is missing in quad of a regular grid
      10. Fixed the bug with coloring without textures when point cloud with colors (RGB) is specified
      11. Set isocontours color to black if Mode is "Show Both" and colormap is specified
      12. Added .pts file format support
      13. Added rescaling of intensities read from point cloud files
      14. Fixed several bugs with loading point cloud files
      15. Fixed the bug with specifying colorbar labels in original units
      16. Point Cloud (xyz, csv, pts, etc.) header line optional, if present new analysis algorithm determines where data begins, column count and format type identification.
      17. Axes scale bar annotation set to saturated black rectangles, in any lighting condition.
      18. Axes scale bar ticks and labels frequency now uses more sophisticated method, at intervals of 2, 5 or 10, with data min-max actual values shown at the ends of axes. Scalebars for X, Y and Z no longer overlap. Range now fits data bounds exactly, without extending outside of range.
    8. STL_Interface
      1. Additional startup check if an input file does not exist (avoiding possible crash)
      2. Fixed possible crash
    9. XmlServer
      1. Major refactor, new internal architecture, requires some XML tag changes from previous release. Please ask support for advice to update the previous xml systems.
      2. More logical, improved tag structure
      3. Much less code, internal processing simplified
      4. Faster XML parsing of supported input tags
      5. Improved Stability, internal systems more robust algorithms
      6. input_specifications.xml, html documentation is now automatically generated from actual tags, coverage is complete now.
      7. PDF3DXmlServer.xsd now available, synchronized with actual XML tags and documentation
      8. Old version of XmlServer has been moved into XMLServer_deprecated folder
      9. Sample XMLs for old XmlServer have been moved into samples/xmlserver_deprecated folder
      10. Added ClippingPlaneObject tag. Example is sample-iv.xml
    10. PDF3DReportGen
      1. Added new checkbox Add Compass Mesh to PDF 3D View tab. This control (instead of view scheme in older versions) specifies if north compass mesh is added to scene.
      2. Layered checkbox in Animations tab is now enabled for single file exports. This will make possible use of layer separation system with files containing layers.
      3. Removed obsolete Normalize checkbox from Geospatial tab, since scene normalization is transparent for user.
      4. Added new Scan Layer Nodes checkbox into Coin3D Interface specific options
      5. Removed deprecated Enable Conversion from VRML 1.0 to VRML 2.0 checkbox
      6. Removed Enable Geospatial Coordinates confusing checkbox from "Exporting Parameters" group on "Conversion" tab
      7. Added new Transform Scene Coordinate Space from combobox on "Geospatial" tab
      8. Added new Insert Layer Separation Controls checkbox into "Advanched Parameters" groupbox on "Advanced" tab.
      9. Added support for exporting point cloud files with both intensity and RGB color specified
      10. Added discarding points with intensities out of specified range
      11. Added setting how point cloud attributes are used (map colormap with intensities or Z values, color by RGB values)
      12. Added setting original geospatial coordinate space (Z+ UP or Y+ UP)
      13. Now available for Mac OS X Snow Leopard and Mac OS X Lion as .dmg DragNDrop style package
      14. Replaced Axes Z Offset with Axes Elevation
      15. Fixed layout problems and slot-connection warnings in Qt UI
      16. Added .pts file format support for point clouds
      17. Additional samples, car model assembly PMI added with the state file, showing the appropriate settings
      18. ReportGen manual, added Linux & MacOSX setup install, license notes added
      19. Added Watermark 3D view overlay feature, 45 degree large transparent text
      20. Added Check for Updates button
      21. Added Reset Settings to default button
      22. Added support for 3D Axes for any file type, default is now off for most file types, on for Grid types, can be enabled using the Axes control on the Geospatial tab.
      23. Axes scale bar annotation set to saturated black rectangles, in any lighting condition.
      24. Axes scale bar ticks and labels frequency now uses more sophisticated method, at intervals of 2, 5 or 10, with data min-max actual values shown at ends of axes. Scalebars for X,Y and Z no longer overlap. Range now fits data bounds exactly, without extending outside of range.
    11. PDF3D in PowerPoint
      1. Added new installer system, for MS PowerPoint 2007, 2010
      2. Added new user guide
    12. PDF3D-SDK General Changes
      1. Introduced new structure PDF3DGUIControlParams to store general parameters for all 2D PDF GUI controls (such as position and size on 2D page). Similar structure was introduced to store general parameters for flash controls - PDF3DGUIFlashControlParams
      2. Updated GUI controls creation functions(e.g PDF3DExporter::SetZScaleControls, SetMouse3DProbeControls, PDF3DMouse3DProbeFlashControls) to use single structures instead of argument lists.
      3. Changed PDF3DExporter::SetLayerSeparationSystem() method. Now it accepts arguments into a structure parameter rather than a lot of arguments; Also this method implements "distance-100" calculation algorithm (calculates disatance for 100% layer separation mode which is based on layering direction and scene bounding box dimensions)
      4. Changed PDF3DExporter::SetLayerSeparationControls() method. Now it accepts arguments into a structure parameter rather than a lot of arguments
      5. Changed PDF3DExporter::SetLayerSesparationFlashControls() method. Now it accepts arguments into a structure parameter rather than a lot of arguments
      6. Mouse3D Probe structure params and LayerSeparation structure params are derived from common structures (see items above)
      7. Added new methods into PDF3D_C3V template: PDF3D_C3V::IsNearZeroX(),PDF3D_C3V::IsNearZeroY(),PDF3D_C3V::IsNearZeroZ(). These methods return true if the specified component vector is close to zero (lesser than DBL_EPSILON for 'double' instatination, lesser than FLT_EPLISON for 'float' instatination, and equal to zero for other integer types instatinations). The similar method was added for PDF3D_C4V template, it is PDF3D_C4V::IsNearZeroW() method
      8. Added new methods into PDF3D_C3V template: PDF3D_C3V::MaximalValueIndex(), MinimalValueIndex() which returns index of maximal and minimal value of vector component array (0 index means for "x" component, 1 index means for "y" component, 2 index means for "z" component)
      9. Added _worktype& operator()(size_t index) and _worktype operator()(size_t index) const in PDF3D_C3V template. The "const" version of overloaded operator returns value of the specified component by index (0 means for x, 1 for y, 2 for z). And non-const version returns reference to the specified component. The appropriate implementation was added for PDF3D_C4V template also
      10. Renamed methods PDF3D_C3x4M::fillArray() to PDF3D_C3x4M::SaveToArray(), PDF3D_C4x4M::fillArray() to PDF3D_43x4M::SaveToArray(), added the following methods:
        1. PDF3D_C3V::SaveToArray()
        2. PDF3D_C3V::LoadFromArray()
        3. PDF3D_C4V::SaveToArray()
        4. PDF3D_D4V::LoadFromArray()
        5. PDF3D_C3x4M::LoadFromArray()
        6. PDF3D_C4x4M::LoadFromArray()
      11. Added Apple MacOSX x86_64 Snow Leopard and Lion (Darwin 10.6, 10.7) platform support
      12. Improved Default view generation:
        1. perspective and orthographic views now use width or height for scaling, depending on view aspect ratio and BBox width/height proportion
        2. fixed BBbox generation: one of the points used wrong z coordinate
        3. fixed model's BBox transformation, now it uses inverted view's transformation matrix
      13. Added support for texture coordinate wrap modes into PDF3DIntermediateModel class. Now CLAMP,CLAMP_TO_EDGE,CLAMP_TO_BORDER and REPEAT modes are supported
      14. Added example of using PDF2DLayer with the existing libHaru application
      15. Added example of using PDF2DLayer with the existing iText application
      16. Small change to PDF3D-SDK API at PDF3DSceneInterface::GetPreviewImageData() const method changed to PDF3DSceneInterface::GetPreviewImageData() method ("const" is removed);
      17. Restructurization of PDF3DCommon.h & PDF3DExporter.h, split into several different header files as:
        1. added PDF3DSDK.h which will include all PDF3D-SDK API header files
        2. added PDF3DSDKConfig.h for PDF3D-SDK configurations
        3. added PDF3DConfigArch.h which contains some useful compiler-dependent definitions (__PDF3D_ARCH_I386__ or __PDF3D_ARCH_AMD64__)
        4. added PDF3DLicenseInfo.h for PDF3DLicensInfo class declaration
        5. added PDF3DViewTexture.h for PDF3DViewTexture declaration
        6. added PDF3DColor.h for PDF3DColor and PDF3DIntColor declarations (and PDF3DColor.cpp)
        7. added PDF3DMetadata.h for metadta structures declarations
        8. added PDF3DRigidAnimation.h for PDF3DRigidAnimation and related structures declarations (and PDF3DRigidAnimation.cpp)
        9. added PDF3DPDFOptions.h for PDF3DPDFOptions structure declaration (and PDF3DPDFOptions.cpp)
        10. added PDF3DAux.h several auxiliary methods, mainly for internal usage (and PDF3DAux.cpp)
        11. added PDF3DMouse3DProbeParams.h for PDF3DMouse3DProbeParams structure declaration (and PDF3DMouse3DProbeParams.cpp)
        12. added PDF3DRect.h for PDF3DRect structure declaration (and PDF3DRect.cpp)
        13. added PDF3DPoint.h for PDF3DPoint structure declaration (and PDF3DPoint.cpp)
        14. added PDF3DLegendInterface.h for PDF3DLegendInterface interface declaration (and PDF3DLegendInterface.cpp)
      18. Introduced new IPDF2D layer interface, which allows possible use of some 3rd party PDF authoring library or application allowing embedding 3D annotation into such systems. New interface is a set of several abstract virtual structures (i.e. pure interfaces). In details, we have added new folders for IPDF2D layer interface:
        1. %PDF3D_ROOT%/PDF3D-SDK/include/pdf_layer folder for IPDF2D layer interface general header files
        2. %PDF3D_ROOT%/PDF3D-SDK/include/pdf_layer/widgets folder for IPDF2D layer interface for widgets
        3. %PDF3D_ROOT%/PDF3D-SDK/include/pdf_layer/widgets/actions folder for IPDF2D layer interface for widget' actions
      19. Refactored (extracted) PoDoFo-dealing code into separate part of PDF3D-SDK. Such new part (module) is contained in our standard pdf3d.lib (or pdf3d.a) file and is default IPDF2D layer implementation. You do not need to do anything extra to enable default IPDF2D layer implementation, it is enabled by default
      20. Removed all things from PDF3D-SDK memory allocation customization:
        1. PDF3DAllocator is removed
        2. PDF3DMemoryInterface is removed
        3. global function PDF3DSDK_SetMemoryFunctions() is removed
        4. changed signature of global function PDF3DSDK_InitializeInstance(), removed PDF3DMemoryInterface* argument
        5. removed the appropriate functions from all interfaces
        6. performed all the required changes in all the interfaces
      21. Changed signature of the following methods in PDF3DExporter class:
        1. PDF3DExporter::IsDocumentSecured() becomes non-static method, accepts const char* argument rather than PDF3DString
        2. PDF3DExporter::DrawImage() accepts PDF3DRect structure as argument. Please see reference documentation about PDF3DRect class
        3. PDF3DExporter::DrawImageScale() is removed, please use PDF3DExporter::DrawImage() method instead (it has an ability to scale)
        4. PDF3DExporter::DrawImageFromFile() accepts PDF3DRect structure as argument
        5. PDF3DExporter::DrawImageScaleFromFile() accepts PDF3DRect structure as argument
        6. PDF3DExporter::DrawText(), DrawTextUTF8(), DrawTextUTF16() accept PDF3DPoint or PDF3DRect structure as argument. Please see reference documentation about PDF3DPoint class, Also these methods accept const char* types rather than PDF3DString
        7. PDF3DExporter::DrawTextGetLineHeight(), DrawTextGetLineWidth() accept const char* argument rather than PDF3DString, PDF3DExporter::DrawTextGetMultilineHeight(), DrawTextUTF8GetMultilineHeight(), DrawTextUTF16GetMultilineHeight() accept PDF3DRect structure and const char* pointers as arguments
        8. PDF3DExporter::DrawHyperLink() accepts PDF3DPoint structure as argument
        9. PDF3DExporter::DrawRect(), DrawWidget(), DrawLegend(), DrawCircle() accept PDF3DRect structure as argument
        10. PDF3DExporter::MoveTo(), LineTo(), DrawArc(), DrawLine(), CubicBezierTo() accept values of type "double" rather than "int", for improved positional precision
        11. PDF3DExporter::AddSWFFile() accepts PDF3DRect structure as argument
        12. PDF3DExporter::Draw3DScene() accepts PDF3DRect structure as argument
        13. PDF3DSceneOptions::SetViewportMargins() accepts argument of type "double" instead of "int" before, for improved precision
        14. PDF3DSceneOptions::GetViewportMargins() accepts argument of type "double&" instead of "int&" before, for improved precision
        15. PDF3DExporter::SetCurrentLineWidth() accepts argument of type "double" instead of "int" before, for improved precision
        16. PDF3DExporter::GetCurrentLineWidth() returns value of type "double"
        17. PDF3DExporter::AddDocumentLevelNamedDestination() accepts PDF3DRect structure as argument, changed argument types from PDF3DString to "const char*"
        18. PDF3DExporter::AddDocumentLevelJavaScript() changed argument types from PDF3DString to "const char*"
        19. PDF3DExporter::AddLinkToURL() accepts PDF3DRect structure as argument
        20. PDF3DExporter::AddLinkToDestination() accepts PDF3DRect structure as argument
        21. PDF3DExporter::SetOutputFileName() accepts const char* argument rather than PDF3DString type
        22. PDF3DExporter::GetOutputFileName() returns const char* argument rather than PDF3DString type
        23. PDF3DExporter::SetCurrentFont() accepts const char* type instead of PDF3DString type, also "fontSize" argument changed to "double"
        24. PDF3DExporter::SetCurrentFontFamily() accepts const char* type rather than PDF3DString type
        25. PDF3DExporter::GetCurrentFontFamily() returns const char* type rather than PDF3DString type
        26. PDF3DExporter::SetCurrentFontFromFile() accepts const char* type instead of PDF3DString type
        27. PDF3DExporter::GetCurrentFontFile() returns const char* type rather than PDF3DString type
        28. PDF3DExporter::SetCurrentFontSize() accepts argument of type "double" instead of "int" before
        29. PDF3DExporter::GetCurrentFontSize() returns value of type "double"
        30. PDF3DExporter::SetCurrentColor() accepts PDF3DColor structure as argument. Please see reference documentation about PDF3DColor class
        31. PDF3DExporter::SetEncryptionOptions() accepts const char* arguments rather than PDF3DStrings
        32. PDF3DExporter::InitializeInstance() method removed PDF3DMemoryInterface* argument
        33. added new method PDF3DExporter::SetPDF2DLayerHandler() which tells PDF3D-SDK to use a custom implementation of IPDF2D layer interface
        34. new method PDF3DExporter::GetPDF2DLayerHanlder() returns the current used IPDF2D layer implementation
        35. PDF3DExporter methods are re-ordered and grouped into logical blocks;
      22. Changed widget classes implementation and include header files:
        1. removed all files which match %PDF3D_ROOT%/include/PDF3D*Widget.h pattern
        2. instead added %PDF3D_ROOT%/include/PDF3DWidgets.h common header file for all widgets
        3. new widget classes have different creation semantic (you need to pass PDF3DExporter* pointer to class constructor)
        4. you need to use "->" operator instead of "." to access methods into new widget classes (this is because new PDF3D*Widgets classes are smart-pointers)
        5. you need to use interfaces from /include/pdf_layer/widgets and /include/pdf_layer/widgets/actions folders
        6. you need to use some enumeration types from IPDF2D layer interface
      23. Renamed PDF3DColorInteger structure to PDF3DIntColor. Performed the appropriate changes to PDF3DImageLoader class
      24. Precison of some constants is increased in PDF3DStd3v.h (PDF3D_STD_PI, PDF3D_STD_GRAD2RAD, PDF3D_STD_RAD2GRAD)
      25. Added support of Colored Points for PRC and HCT modes. As the result Colored Points are supported in all 4 modes now: U3D, RHC, PRC, HCT
      26. Added support of Watermarks - PDF3DWatermark class. Example of usage is at WidgetTest example. Watermark can contain transparent vector graphics, text, images. Transformations can be applied to Watermark elements
      27. Fixed geometric distortion bug for U3D Linesets
      28. Added Clipping Plane API to PDF3DSceneOptions. Example of usage is at ReportExample
      29. Added Check for Updates and Request License buttons to PDF3Dlicense utility

    What's new in PDF3D Version 2.3.2

    1. Coin3D_Interface
    2. VRML_Interface
    3. OSG_Interface
    4. VTK_Interface
      1. Added VTK poly-data files (.vtp) support
    5. ParaViewPlugin
    6. GRD_Interface
      1. Added support for point clouds with vector and scalar attributes
      2. Added file types for xyzi, xyzrgb, xyzirgb
      3. Added mapping of colormap colors to scalar attributes
      4. Added colormap mapping option for mapping colormap values with scalar attributes or Z values
      5. Seta isocontours to black if showing them overlaid on a color surface
    7. STL_Interface
    8. XmlServer
    9. PDF3DReportGen
      1. Added VRML processing options to Coin interface control section
      2. Added support for point clouds with vector and scalar attributes
      3. Added colormap mapping option for mapping colormap values with scalar attributes or with Z values
      4. Added VTK poly-data files (.vtp) support
    10. PDF3D-SDK General Changes
      1. Fixed a bug in PDF3DExporter::SetLayerSeparationSystem(), improved LayerSeparation system initialization time.
      2. Fixed a bug when a transformation matrix was ignored for point sets.
      3. Improved default view generation system, now it takes into account 3D scene's aspect ratio and 2D viewport's aspect ratio.
      4. Added new method PDF3DConversionManager::SetInitialViewIndex(),GetInitialViewIndex() which allows to specify initial view number.
      5. Added new method PDF3DConversionManager::SetDefaultViewsInsertionMode() which allows developers to specify default views insertion mode list order (prepend or append to the existing view list).
      6. Fixed a bug in 3D scene initialization, when initial view could appear damaged.
      7. Removed deprecated defines in PDF3DCommon.h, such as PDF3D_USE_ZLIB,PDF3D_USE_TRANSPARENT_BOX, PDF3D_USE_U3D_VIEW_MODE,PDF3D_ENABLE_LINE_SET,PDF3D_ENABLE_POINT_SET,PDF3D_ENABLE_OPEN_INVENTOR_CONVERTER, PDF3D_ENABLE_VTK3DS_CONVERTER. We always compress 3D data streams by ZLib library, support LineSet and PointSet. The rest of defines are deprecated and do not mean anything. For PDF3D_USE_U3D_VIEW_MODE please use new method PDF3DConversionManager::SetGenerateU3DViews(), but note that this method does not work with default views.
      8. Windows2000, WindowsNT is no longer supported, due to LMX library platform services requirements.
      9. VS2003 .NET, XML Server porting corrections

     

    What's new in PDF3D Version 2.3.1

    1. Coin3D_Interface
      1. Improved empty block filter in fixVRML
    2. OSG_Interface
      1. Removed STL file formats support list, STL interface is now preferred. Only affects PDF3DReportGen, command-line tools can still be used.
    3. VTK_Interface
      1. Removed STL file formats support list, STL interface is now preferred. Only affects PDF3DReportGen, command-line tools can still be used.
    4. STL_Interface
      1. Mutliple part ASCII, base color control + visual differentiation between parts
      2. Iimproved keyword matching flexibility
    5. XmlServer
      1. Mouse3DProbe bottom margin improved flexibility
      2. UseUnits tag is now deprecated, please use ModelUnitType tag system
      3. Extended InsertMouse3DProbeControls xml tag by the following attributes:
        "defaultMode", "useExactPositionSize", "left", "bottom", "width", "height", "compactMode",
        "disModeEnabled", "probeModeEnabled", "distanceModeEnabled", "angleModeEnabled", "slopeAzimuthModeEnabled",
        "disModeDesc", "probeModeDesc", "distanceModeDesc", "angleModeDesc", "slopeAzimuthModeDesc". Please note that xxxModeDesc attributes can be an UTF8 strings and, for example, then may contain characters in some foreign language (not English).

      4. Extended AutomaticallyGeneratePMI xml tag by the following attributes:
        "limitProcessedNodeCount", "skipModelNodes", "skipEmptyGroupingNodes", "enable1ChildFilter", "showNodeNames", "showBBSizes", "showGlobalMetrics", "showBBoxes", "generateNodeViews", "defaultViewsShowAutogeneratedPMI", "limitForProcessedNodeCount", "maxModelLevel, "minModelLevel", "maxGroupLevel", "minGroupLevel".

      5. Fixed Metadata parsing bug.
    6. PDF3DReportGen
      1. Added additional attribute controls for VRML advanced settings on COIN interface section.
    7. PDF3D-SDK General Changes
      1. Packaging correction for OEM *_MDd.lib debug development
      2. Corrected U3D,RHC initial visibility of linesets, previous inconsistant behaviour resolved.
      3. Improved viewport scaling, view transformation matrix under a non-default page layouts during export,
      4. Corrected MixedSurfaceLines example initial view, using new improved viewport scaling.
      5. Mouse3DProbe Feature, major revision:
        1. Removed superfluous "50" bottom margin constraint, can now go to bottom of page if needed, in either Widget or Flash formats.
        2. API Change: SetMouse3DProbe() argument list changed, using new structures of PDF3DRect, PDF3DMouse3DProbeParams, PDF3DMouse3DProbeFlashParams.
        3. Embedded Font used for Flash UI text elements, for consistancy across PDF users/viewers, currently uses subpear.ttf.
        4. Page Magnifcation view for Flash controls now uses dynamic font size selection for high quality vector fonts rather than pixel scaling.
        5. Partial menu cut-off on some page magnifications corrected.
        6. Probe Modes ComboBox list items may now be individually configured for the custom list, using 'or' combinations in PDF3D_EMouse3DProbeMode ENUM, of PDF3D_m3dDisable, PDF3D_m3dProbe, PDF3D_m3dDistanceMeasuring, PDF3D_m3dAngleMeasuring, PDF3D_m3dSlopeAzimuth, PDF3D_m3dAll.
        7. New Compact one-line mode, with probe mode selector on the left, result string box on the right format.
        8. Transparency of flash control UI added, so drop-down ComboBox items can overlay other page content.
        9. Dictionary API added, Probe Mode UI item strings may now take substutions, including UTF8 European Language strings.
        10. Example source Mouse3DProbeExample updated to show new techniques.
        11. In Disabled mode, allows normal object selection, bounding box highlighting, hides marker arrow(s).
        12. New XML tag attributes added, please see details in XmlServer section.
        13. Added new control in API: mModelUnitType. ReportGen and XMLServer use that API.
        14. Changed default report scripts: Units, 5 digits after decimal point.
      6. Flash controls internal library revision upgraded, adding another 300KiB - 400KiB to PDF size if enabled.
      7. Scene background color (non-default) intermittent loss corrected.
      8. Doublesided Rendering mode enforced when leaving and returning to 3D page (scrolling through other parts of a document), not only on initial instance.
      9. Changed GenerateAutomaticPMI API: parameters are grouped into struct PDF3DGenerateAutomaticPMIParams. Parameter generateNodeViews is changed to generateViews.

     

    What's new in PDF3D Version 2.3.0

    1. Coin3D_Interface
      1. Added example ANSYS VMRL filter - ansys_vrml_simplify.py
      2. Added support for 3D labels font size scaling parameters
      3. Improved Vrml extension checking
      4. Added TransformSeparator node support to .iv and .vrml formats
      5. Added support of CLAMP_TO_EDGE texture wrapping to .iv and .vrml formats
      6. Improved style, syntax checking for .iv and .vrml formats, detection of NANs
      7. Added support for Triangle Strips, Indexed Triangle Strips
    2. VRML_Interface
      1. Removed from PDF3DReportGen
      2. Added support for 3D labels font size scaling parameters
    3. OSG_Interface
      1. Added support for 3D labels font size scaling parameters
      2. Improved interface DLL/SO memory and instance handling.
    4. VTK_Interface
      1. Added support for 3D labels' font size scaling parameters
    5. ParaViewPlugin
      1. Added None default view scheme
      2. Added specifying page format and margins in various units (points, inches, millimeters)
    6. GRD_Interface
      1. Added XY (meters, km, degrees lat-long, miles, feet) and Z (meters, feet, fathoms) axes units support
      2. Added geospatial setting of grid's cell size during IDW process of generating grid
      3. Added forcing exporting of IDW grid with square cells
      4. Added degrees per meters parameter
      5. Added exporting axes labels and mouse probing in original units
      6. Added automatic generation of PMI
      7. Added extending of XY extent of generated grid from point cloud
      8. Added generation and export of isocontours (independently or over surface)
    7. STL_Interface
      1. Improved ASCII STL format parsing
      2. Upgraded to convert mutliple parts, with visual differentiation between parts
    8. XmlServer
      1. Added tag for automatic generation of PMI (AutomaticallyGeneratePMI)
      2. Added Image Black Pixels Alpha Masking
      3. Added 3D labels font size scaling parameters, such as LabelsFontSizeScale,LabelsFontSizeThreshold,LabelsLowerFontBitRes,LabelsHigherFontBitRes,LabelsStaticScale tags
      4. Added support for output file path and log file path to include substitution using %TEMP% rather than explicit path. This path is substituted at runtime by a look up of available environment variables, using the ordered list of TMPDIR, TEMP, TMP. If no environment found on linux, /tmp will be used. Also an optional substitution of %ProgramData% may be used assuming that the environment variable ProgramData has a valid path.
      5. Added tag for UNITS (ModelUnitType)
      6. Changed interface's library names to *Plugin.dll (to *Plugin.so on Linux). Now we are supplying both *Interface and *Plugin libraries, where Plugins are used by PDF3DReportGen and PDF3DXmlServer. The *Interfaces are used by standalone programs like GRD_to_PDF3D, VTK_to_PDF3D and etc.
    9. PDF3DReportGen
      1. Major User Interface upgrade - new panels, navigation, layout
      2. Added XY (meters, km, degrees lat-long, miles, feet) and Z (meters, feet, fathoms) axes units support
      3. Added geospatial setting of grid's cell size during IDW process of generating grid
      4. Added forcing exporting of IDW grid with square cells
      5. Added degrees per meters parameter
      6. Added exporting axes labels and mouse probing in original units
      7. Added automatic generation of PMI
      8. Added extending of XY extent of generated grid from point cloud
      9. Added Image Black Pixels Alpha Masking
      10. Added list of loaded interfaces at About dialog
      11. Added 3D labels font size scaling parameters, such as General Font Size Scale, Static Font Size Scale, Font Size Bit Res Threshold, Low Bit Res, Hi Bit Res
      12. Added support for output file path to include substitution using %TEMP% rather than explicit path. This path is substituted at runtime by a look up of available environment variables, using the ordered list of TMPDIR, TEMP, TMP. If no environment found on linux, /tmp will be used. Also an optional substitution of %ProgramData% may be used assuming that the environment variable ProgramData has a valid path.
      13. Added generating and exporting of isocontours (independently or over surface)
      14. Improved Graphical User Interface (new theme and fitting to 1024x768 resolution)
      15. Added state files examples
      16. Added Solid color for STL models
      17. Added Update dialog for querying user if output file already exists
      18. Added additional column to About Dialog with path to loaded interfaces
      19. Added processing of Esc and F1 keyboard actions
      20. Added UI for Units selection
      21. Added RPM packaging changed to TGZ on linux, for improved flexibility
      22. Removed VRML deprecated interface, Coin now used as a preference for both IV and VRML files.
      23. Changed interface's library names to *Plugin.dll (to *Plugin.so on Linux). Now we are supplying both *Interface and *Plugin libraries, where Plugins are used by PDF3DReportGen and PDF3DXmlServer. The *Interfaces are used by standalone programs like GRD_to_PDF3D, VTK_to_PDF3D and etc.
    10. PDF3D-SDK General Changes
      1. PRC Node Splitting naming style changed to Acrobat style
      2. Added new method for automatic generating PMI PDF3DIntermediateScene::GenerateAutomaticPMI() and some other methods in this class
      3. Changed PDF3DConversionManager::AddDefaultView() method - planeNormal argument is removed
      4. Added texture alpha masking method - PDF3DImageLoader::SetTextureAlphaMask() method
      5. Extended Rigid Body Animation API for using different keyframe motion interpolation methods: built-in or custom functions
      6. KeyframeMotionExample example added to show how to use new keyframe motion options
      7. Added new argument to PDF3DExporter::SetLabelDynamics() method - double staticScale
      8. Fixed North Compass and 3D Billboard Labels models jitter
      9. Fixed Measurement Mouse Cursor Offset when Page Zoom. Affects both Mouse3DProbe and Acrobat Measuring Tools
      10. Fixed Arbitrary/Auto 3D Zoom during manual 2d scrolling and during manual 2d page zooming
      11. Added Units API to AccessInterface and IntermediateStorage
      12. Added new type of Metadata for U3D and RHC modes - Property/Value at Model Tree form. Added example to MetadataOutputExample
      13. Added support of Colored Points for U3D and RHC modes. Added example to CubePoints
      14. Intermittent 3D parsing error message in Adobe Reader resolved. Related to files with Several Root Nodes (Mouse3DProbe, Geospatial and other cases)
      15. Microsoft Visual Studio 2010 updated to VS2010-SP1, new runtime dlls, vcredist packages.
      16. OEM interface source-code release policy change, contact support for details.
      17. Mouse3DProbe now allows object selection and bounding box display in disabled state.
      18. State file collection, xml sample collection improved.
      19. Floating network license system, LM-X server upgraded to version 4.1.
      20. Network client environment variable PDF3D_LICENSE_PATH recommended, for smooth operation on all platforms.
      21. Automatic Server Discovery with LM-X server should be enabled by default, but also can be forced by using VTSL_AUTOMATIC_SERVER_DISCOVERY=1, however can often be blocked by firewall, router and network configurations. If problems, please set explicit path.
      22. PDF parsing and internal structure management services upgraded, internal patches.
      23. Clipping Plane mode specification API added, with methods of PDF3DViewAccessInterface::GetNearFarClippingType(), PDF3DIntermediateCamera::SetNearFarClippingType(),PDF3DIntermediateCamera::GetNearFarClippingType() and related systems
      24. Internal improvements in PDF3DConversionManager's singleton object. Lifetime handlers of PDF3DConvesionManager class are improved and PDF3DConversionManager::Instance() method performs better in multi-component applications
      25. Corrected possible 3D label font path failure on Linux patforms, where system font installation is not in expected location, now reverts to standard fonts in this case.
      26. Correction to AES256 encryption when used in the context of view injection or page appending into existing PDF documents.

    What's new in PDF3D Version 2.2.1

    1. Coin3D_Interface
      1. Improved VRML pre-scan filter to identify repeated identical texture files, replace with common reference for improved memory profile.
      2. Improved PRC encoding methods for much higher speed processing when a single texture is repeatedly referenced many times.
    2. VRML_Interface
      1. Deprecated status, please migrate to Coin3D_Interface if at all possible.
    3. OSG_Interface
      1. Added support for Windows Visual Studio 2010, 32/64-bit
    4. VTK_Interface
      1. Added Anatomical default views
      2. Added support for Points, Wireframe and Surface representations
      3. Added exporting of per cell colors as colors per triangles
      4. Legend labels automatically switch to scientific notation if numerical values require.
    5. ParaViewPlugin
      1. User interface improvements, various internal bug fixes
      2. Added support for Points, Wireframe and Surface representations
      3. Added Anatomical default views
      4. Added AES256 strong encryption methods to PDF generation
      5. Added pvpython usage examples
      6. Added exporting of per cell colors as colors per triangles
      7. Improved animation capture menu and logic, more closely tied to native time menu.
      8. Added support for exporting animations created in Animations View from slice or parameter sequences.
    6. GRD_Interface
      1. Added USGS Digital Elevation Model file type (.dem) support
      2. Added world file support for georeferenced image drape on terrain
      3. Improved OBJ export to include material and texture file
      4. Added XY Axes scalebar option
    7. XmlServer
      1. Added PHP Online Converter Template Webserver configuration (Linux Apache)
      2. Added Anatomical default view
      3. Added new PMIMarkup tag to create PMI nodes in the resulted 3D scene
      4. Optimized initial visibility system (Visible tag) for fast loading such files into Adobe Reader.
      5. Corrected variable format page size control in appended, merged pages.
      6. View dependent node visibility tag system added, for controlling sub-parts and PMI
      7. OEM DLL runtime controls updated.
      8. Added 5x Formatted Report example XML templates.
    8. PDF3DReportGen
      1. Added Anatomical default views
      2. Added USGS Digital Elevation Model file type (.dem) support
      3. Command-line utilites added to package: PDF3DMerge, TableToPdf, PDF3DImageInjector, PDF3DSwfInjector
      4. Added AES256 strong encryption methods to PDF generation.
      5. Added sample data examples to package
      6. Added sub-directory structures
      7. Runtime DLL packaging improved.
      8. Added XY Axes scalebar option for GIS-like notations
    9. PDF3D-SDK General Changes
      1. Added AES256 strong encryption methods to PDF generation.
      2. Added LegendExample example to show how to export various types of legend bars and text boxes with various alignments and rotation angles.
      3. Added PDF3DConversionManager::GetAssociatedJavaScriptName() and other methods to obtain information about JavaScript names in the output PDF.
      4. Added PDF3DViewAccessInterface::GetViewDependentVisiblity() and other methods to specify view dependent node visiblity and opacity information. This new API is available into PDF3DIntermediateCamera class also, please see PDF3DIntermediateCamera::AddViewDependentInformation method documentation as entry point.
      5. PDF3DImageInjector and PDF3DSwfInjector upgraded for new PDF generation, automatic aspect ratio image centering, footer caption text.
      6. Optimized rigid & step-by-step animation systems. Initial loading delay is dramatically optimized for PDF files which contain 3D animations.
      7. Added Color Per Triangle API into IntermediateScene.
      8. MultipleColorModesIS example added, showing usage of IntermediateScene Color Per Triangle API.
      9. Improved PRC encoding methods for much higher speed processing when a single texture is repeatedly referenced many times.
      10. Improved PRC texture memory use efficiency.
      11. PDF3D_INTERNAL_DEBUG_MEMCHECK environment variable added for debug internal development use.
      12. Corrected page-by-page variable format page height-width control in appended, merged pages, for all interfaces, PDF3DReportGen, PDF3DXmlServer, etc.
      13. View dependent visibility controls added to both AI and IS style class systems.

    What's new in PDF3D Version 2.1.1 (released only as BETA or special patch)

    1. Coin3D_Interface
      1. Added support for shininess, emission material properties
      2. Added new methods to SoWriteSceneToPDF3D class - SetPRCDoubleSidedRendering() method and SetOutputFormat() method. Please see documentation for the details
    2. VRML_Interface
      1. Added support for shininess, emission material properties for VRML format
      2. Deprecated status, please migrate to Coin3D_Interface if at all possible.
    3. OSG_Interface
      1. Fixed memory leak by using smart pointer (osg::ref_ptr)
      2. Added preserving shininess parameter
    4. VTK_Interface
      1. Added preserving shininess parameter
      2. Added AVS UCD file format support
      3. Added support for exporting spreadsheets to PDF tables
      4. Added support for encryption
      5. Added support for non poly-data data objects by exporting output of SurfaceFilter filter
    5. ParaViewPlugin
      1. Added support for exporting spreadsheet view to PDF table.
      2. Added Update dialog for double-checking when output file already exists.
      3. Improved error reporting
      4. Added encryption support
      5. Added support for exporting all ParaView views (as 3D / 2D scene, screenshot or table)
      6. Added support for non poly-data data objects by exporting output of SurfaceFilter filter
      7. Added exporting 2D views to PDF3D with special navigation constraints
      8. Added full legend labels when 3 decimals are not enough precise
      9. Added support for ParaView 3.10.1 scalar color map scheme
      10. Added support for exporting all ParaView views at once (on multiple pages)
    6. GRD_Interface
      1. Fixed header format variation for ZMapPlus grids
      2. Added /SkipFullGrid command line argument to control if subsampling will be performed during loading of grid data (like with point clouds) and in that case avoid storing full grid internally.
      3. Added Wavefront OBJ output format to TIN mesh generation
      4. Added LAS (LiDAR point cloud) input file format support
      5. Corrected axes extent in case of long thin grids.
    7. XmlServer
      1. Added DrawText rotation, Draw2D lines, filled areas, curves, arcs
      2. Memory leak corrected
      3. Added new tags for shininess value and emission color: EmissionColor and Shininess tags
      4. Added new tags for PDF keywords
      5. Added new tags for data table
      6. Added DrawHyperLink tag, also restructured so that the order of defined draw opearation is done as entered in the document.
      7. Added support for custom default views of 3D models.
      8. Fixed default value of insert north compass flag.
    8. PDF3DReportGen
      1. Added PDF3DMerge command-line utility to install package
      2. Added -silent command line argument for script-type conversion
        usage: PDF3DReportGen -state filename.xml -silent interface_description
      3. Added PDF keywords support
      4. Added Wavefront OBJ output format to TIN mesh generation
      5. Added LAS input file format support for binary LiDAR data
      6. PDF3DReportGen starts license utility correctly on Linux x64
      7. Added support for document security encryption, up to AES128
      8. Removed VRML interface for VRML files, Coin3D interface used instead
    9. OEM Debug library configurations updated, new libraries available for development testing on Windows, using /MDd mode. Also available /MT and /MTd modes by a request.
    10. Shininess & Emission. Shininess value and emission color are added to material properties. Shininess value is in the range from 0 to 1 inclusive. WARNING! Please update the following method's implementation in your code: PDF3DMeshAccessInterface::GetMeshColor(), PDF3DLineSetAccessInterface::GetLineSetColor(), PDF3DPointSetAccessInterface::GetPointSetColor(). Please see documentation reference for these methods and new arguments. Also PDF3DIntermediateModel::SetEmissionColor(), PDF3DIntermediteModel::GetEmissionColor(), PDF3DIntermediateModel::SetShininessValue(), PDF3DIntermediateModel::GetShininessValue() are added.
    11. PDF3D-SDK's Installer now supports two installation modes: for current user and for all users.
    12. LMX license server, PDF3Dlicense utility, hostid modification change, allowing fixed local license configurations.
    13. PNG image texture optimization API added for improved file compression, appled to PNG encoded textures in 3D scenes. This new feature is reduces the number of bits per color component in PNG images. For scenes dominated by texture images, this method may reduce file size. As large textures are already processed using JPEG compression, this method applies to large number of small textures, such as in labels, or where a 4th alpha transpency channel is used in the texture image. Disabled by default, it can be enabled by calling converter.SetOptiPNGCompressionEnabled(true) This optimization step may increase CPU time up to 3x, and require additional memory. Available in both U3D and PRC encoded scenes.
    14. CMAKE version 2.8.3+ is now recommended, and 2.8.x is now forced to be mininum allowed version, to avoid known problems with CMake 2.6.
    15. PMI, GD&D Annotation for 3D objects added (supported in PRC, PRC-HCT only). C++ API now available.
    16. PMI examples for Access Interface and Intermediate Storage added as source examples using new API.
    17. VCT bug fix (always disabled VCT mode).
    18. PDF3DLineSetAccessInterface & PDF3DLicenseInfo declaration and definitions fixed.
    19. LandRover usage changed over to use Coin3D_Interface.
    20. Cmake macro added: PDF3D_LINK_LIBRARIES_TO_PROJECT_CUSTOM, which does not modify the project output path.
    21. AES Encryption support is added. Now you can produce AES-128 and RC4-128 encrypted PDFs. Changed PDF3DExporter::SetEncryptionOptions() method.
    22. PDF management layer updates, internal tag structure fixes.
    23. PDF 1.7 version identifier on all new PDF files, due to most PDFs having advanced multi-media and PRC methods (was 1.6).

     

    What's new in PDF3D Version 2.1.0 ?

    1. PDF3DReportGen
      1. Internal memory handling improvements.
      2. Improved memory efficiency.
      3. PDF3DReportGen improved to avoid loading debug configuration interface dlls.
      4. Added CPack installer generation directives
      5. Added RPM generation for Linux
      6. Improved Linux Qt .so runtime packaging
      7. Added sessions support in LMX license version
    2. AVS_Interface
      1. AVS/Express Interface, now supports version 7.3, Win64, pc10_64 platform.
      2. AVS_Interface updated for new DrawImageScale() API changes
      3. AVS_Interface added triangle connectivity saving algorithm (for sub-meshes), preserving original AVS connectivity for solid contours, greatly improving PRC-HCT encoding.
      4. Layout improvements for 3D plus large tables.
      5. UI panel layouts improved for Linux, Win, added encoding method UI parameters.
    3. ParaViewPlugin
      1. Improved reporting of missing license
      2. Improved Settings dialog for setting PDF3D parameters
      3. Improved Linux CPACK directives
      4. Added exporting of non-3D scenes as screenshots
      5. Added specifying border line and colorbar margins
      6. Added Plotting parameters group with border line and colorbar parameters
      7. Added specifying annotation's section and editing parameters
      8. Added Sections parameters group with section's rectangle, name and docking parameters
      9. Added plugin's Python interface
      10. Added saving (loading) PDF3D parameters to (from) state file (.pvsm)
      11. Added Python examples
      12. Added loading layout parameters for annotations from .pcfg xml file.
      13. Added sessions support in LMX license version
      14. Added PDF/E compliance and PDF keywords
    4. VTK_Interface
      1. Added border-line and customized colorbar
      2. Added sections support
      3. Added PDF/E compliance and keywords
    5. Coin3D_Interface
      1. Improved memory exception handling for Coin3D interfaces.
      2. COIN3D_to_PDF3D.exe utility default settings for UseOriginalNormals changed to false.
    6. VRML_Interface
      1. Improved memory exception handling for VRML interfaces.
      2. Fixed memory leaks in VRaniML library.
      3. Improved speed of VRaniML library which is used in VRML_Interface (just used another buffer increase policy)
      4. VRML_to_PDF3D.exe utility default settings for UseOriginalNormals changed to false.
    7. XmlServer
      1. Added CompressionFormat, ToleranceType and ToleranceFactor parameters
      2. Added PDF/E Compliance factor
    8. Windows installer generation now uses LZMA compression techniques, incorporating 7zip with the NSIS installer generator. Note, installer now reports requiring ~700Mb available, but actual value is near 3GB after install.
    9. QT user interface system is upgraded to 4.7.1.
    10. Microsoft Visual Studio 2010 support is added, including pre-compiled binaries, in both 32 and 64-bit builds.
    11. VS2010 x64 requires a hotfix is applied, especially when Qt 4.7 or other alignment sensitivie optimisations are applied, see http://support.microsoft.com/kb/2280741
    12. LMX floating license server updated, license files may show hostid information in clear text.
    13. LMX floating license server now available on Windows XP/Vista/7 x64 editions.
    14. Link rules modified, -lcodedata no longer required in LMX configurations.
    15. LMX session API added for application management
    16. Windows installer new configuration page added, allowing explicit selection of which compiler runtime support to install.
    17. ZLIB: The zlib compression component is no longer supplied as a separate dynamic library (DLL or SO), all zlib sevices are mangled by "pdf3d_" prefix and now shipped as separate static library - zlibvtsl.lib. So, you should link both pdf3d.lib and zlibvtsl.lib to your project, or CMake system will do it for you.
    18. PDF3DImporter::SetInputFileName() null input argument change.
    19. CMake version updated to 2.8.3, not longer shipped inside installer, launches external download install from cmake.org website.
    20. SetVisibility, GetVisibility for scene graph nodes added to IS and AI classes.
    21. Texture loading file cache has been added to Coin3D_Interface & VRML_Interface.
    22. Added PDF3DMeshInterfaceImplementation support for SetTextureHash() method.
    23. Added PDF3DConversionManager::SetPRCDoubleSidedRendering() API, only available in PRC or PRC-HCT encoding modes.
    24. Added CPACK option configuration blocks into all interfaces, enabling local single application installer generation.
    25. Improved IntermediateStorage memory efficiency.
    26. Improved IntermediateStorage: PDF3DIntermediateModel class to correct corrupt connectivity special case where negative index values are found (GOCAD).
    27. Filename changes from PDF3DCoinDebugInterface.dll to PDF3DCoinInterfaceD.dll.
    28. Microsoft Visual Studio 2003 .NET core library build restored (customer special on request only).
    29. Intermediate Storage class, implemented new remove all degenerate triangles method. PDF3DIntermediateScene::PrepareForConversion(), and PDF3DIntemediateModel::RemoveAllDegeneratedTriangles() API now available. Computational cost is approximately O(n).
    30. Added PDF3DExporter::Set3DActivationMode(), PDF3DExporter::Get3DActivationMode(), PDF3DExporter::Set3DDeactivationMode(), PDF3DExporter::Get3DDeactivationMode() new API methods for 3D annotation activation and deactivation policy.
    31. Directory structure of PDF3DXmlServer .NET examples is improved.
    32. Added control of inserting keywords of the generated PDF, by setting the member Keywords of the structure returned by PDF3DExporter::GetPDFOptions(). Both normal and PDF/E metadata will show same keyword list.
    33. Added support for rotating the text in the extended version of PDF3DExporter::DrawText(), PDF3DExporter::DrawTextUTF8() and PDF3DExporter::DrawUTF16()
    34. Added support for adding links to external URLs using PDF3DExporter::AddLinkToURL()
    35. Added support for adding internal links using PDF3DExporter::AddLinkToDestination()
    36. Added support for specifying per-mesh specific VCT modes and usage (by overriding PDF3DMeshAccessInterface::GetUseVCT() and PDF3DMeshAccessInterface::GetVCTMode())
    37. Added support for compressed texture mode. You can supply compressed texture image either in JPEG or PNG formats using new methods into PDF3DMeshAccessInterface and new enumerations such as TextureFormat_JPEG and TextureFormat_PNG
    38. Added support for texture file reference mode. In this mode you should specify the texture file name (PDF3DMeshAccessInterface::GetTextureExternalFileName() method, texture should be in JPEG or PNG format) and PDF3D-SDK will load and embed this image data into the output file when it is required. Usually this mode decreases the used memory peak. This is because the texture will be loaded at very late stage when it is really required.
    39. Added support for storing textures in a compressed format. PDF3DTexture class is able to store textures in compressed format internally. You can select the storing policy by PDF3DTexture::EStoragePolicy enumeration
    40. Added support for texture file reference mode to PDF3DTexture class.
    41. Temporary fix for injecting 3D if the existing PDF page already has a some content and has no end of line marker at the end of such content.
    42. Added example DelphiWrapper, generating an intermediate DLL which can be called from another compiler, specifying access interface call-backs.
    43. Added PDF3DMerge utility for combining 2D and 3D PDF files, adding bookmarks, footers, composite document keywords.
    44. PRC-HCT numerical rounding correction, fix for certain type of large mesh (int overflow).
    45. PDF3DTableCreator correction when first page top margin pushes start of table onto second page, spurious border lines removed.
    46. PDF3DTableCreator URL cells added, using "name||URL:link" syntax.
    47. TableToPDF CSV file to Table, now supports URL cells, such as with "4, PDF3D||URL:http://www.pdf3d.com, 3200", example csv file added to samples.
    48. Added virtual destructor to PDF3DLegendInterface for avoiding memory leaks.
    49. Keylib fixed license (trial evaluation, full) controls, corrected for Win7 x64 code generation and activation.
    50. Keylib component revision updated to 4.6.0.4, improved Win7 operation.
    51. Mouse3Dprobe updated for correct operation on Adobe Reader X (version 10).
    52. VCT bug fixed in U3D encoder, in result ColorPerTriangle example works fine again.

    What's new in PDF3D Version 2.0.8 ?

    PDF3D Release now adds the following additional features.

    1. Mouse3DProbe now includes advanced modes of location probe, distance, angle and slope-azimuth measurements, based on one, two or three successive selection clicks, respectively. The reported value string can also be formatted for application specific purposes.
      PDF flash or normal acroform menu allows user selection of :
      1. Disable, for normal 3D selection and navigation
      2. Single-click mouse 3D probe, shows 3D position coordinates at pick site.
      3. Two-click distance probe, shows two arrows and joining line, reports distance between picks.
      4. Three-click angle probe, shows angle between two edges formed by three successive mouse probe selections.
      5. Two-click slope and azimuth measurement, reports Z gradient of line segment, and XY azimuth angle from North.
    2. Mouse Probe custom formatting, numerical pre-processing APIs added for detailed application controls
    3. PDF/Engineering ISO 24517 mode, available based on PDF3DExporter::SetPDFeCompliance ( bool enabled ) API, allows for conformance validation. Includes correction for time zone, daylight and standard time. Inserts XMP metadata and ICC colour blocks into PDF, all fonts are stored explicitly in file, and any JavaScripts should be associated only with control of the 3D scene. Will show a compliance icon in Adobe Reader.
    4. PRC encoding transparent surface internal corrections improved visual quality for many models.
    5. DrawTextUTF16 return status value corrected.
    6. GRD_Interface
      1. added Arc/Info TIN NET (.net) triangle mesh export format
      2. improved ESRI ArcGIS ASCII Grid import, now parses header xllcorner, xllcenter keywords
      3. Added support for ZMapPlus/ZCOR .DAT ASCII grid files
      4. Surfer v8 ASCII Grid file loading correction, row/column reversal
      5. Added TRI format TIN output for CADCORP.
    7. PDF3DReportGen
      1. Added PDF/Engineering compliance toggle
      2. Added GRID tab Tin export format for TIN NET
      3. Added support for ZMapPlus/ZCOR .DAT ASCII grid files
      4. Fixed transparency merging bug
      5. Added launching command-line loading of state, such as: "PDF3DReportGen.exe -state my_saved_state.xml"
      6. Added separate dedicated release notes page
      7. Added TRI format TIN output for CADCORP
      8. Added layering direction vector for exploded view into menu.
    8. VTK_Interface
      1. Added rectilinear data type support
      2. Legend correction for spurious topmost color out of range.
      3. Added center of rotation for vtk View.
    9. ParaViewPlugin
      1. Input directories now preserved between sessions in file browsers.
      2. Added support for off-screen rendering, i.e. without client, by removing dependency on server manager parameters.
      3. Packaging directives improved for Linux.
    10. AVS_Interface
      1. Added 2D view image magnification controls and UI, added 3D encoding method UI, added PRC-HCT tolerance parameter
      2. Solid contour sub-mesh generation, added local IS Weld option for improved PRC-HCT
    11. OSG Interface
      1. Added center of rotation for custom view.
    12. COIN3D Interface
      1. Added CoinDebugInterface into distribution
      2. Corrected scene graph methods for improved capture.
    13. PDF3DViewAccessInterface::GetCenterOfRotation() added,
      added PDF3DIntermediateCamera::GetCenterOfRotation(),
      added PDF3DIntermediateCamera::SetCenterOfRotation().
    14. Reference, Instance traversal optimisation, now single call of DescribeMesh(), DescribeLineSet(), DescribePointSet() is used,
      also now single call of GetTextureWidth(), GetTextureHeight() is used (GetTextureImage() is used once (before was called multiple times);

    15. MS Visual Studio 2003 configuration, various porting adjustments (on special request only)
    16. Driver layer U3D/PRC methods restructured
    17. Log message system improved, expanded for automatic cache system
    18. Adobe Version 9 warning dialog if loading PRC 3D scene, presents message dialog.
    19. Template PDF injection, corrected possible crashes due to PDF/E metadata conflicts with existing file.
    20. GIF file format support, for adding 2D annotations to PDF, or as 3D texture, API methods added to PDF3DImageLoader class. Internally uses LibGif. Further debug corrections for Linux porting.
    21. BMP image monochrome format added (previously only supported full colour)
    22. RGBA (image + alpha transparency mask) support added for drawing images onto 2D PDF layer, through PDF3DExporter::DrawImage() and PDF3DExporter::DrawImageScale() methods.
    23. JPEG files cannot be added to PDF page without repacking, preserving original JPEG quality settings without alteration, or any additional losses.
    24. PDF Image added to any 2D PDF page, now may be internally encoded as either RawDefalate or JPEG. Selection is automatic, with API controls for developers to specify, if needed.
    25. PDF3DImageLoader has new virtual functions, such as PDF3DImageLoader::FreeImage();
    26. Intermediate Storage class, implemented new exact correspondence connectivity welding option to restore connectivity if lost or not available in upstream application. PDF3DIntermediateScene::PrepareForConversion(bool exactWeld = true), and PDF3DIntemediateModel::MergeExactlySameVertices() API now available. Note if values vary by a single bit, welding will not occur, geometric tolerance is not available. Computational cost is approximately O(n*log n).
    27. Intermediate Storage, fixed internal memory handling bugs..
    28. U3D internal files removed from distribution
    29. PRC (pure, uncompressed) color per vertex mode correction
    30. Packaging improvements in Linux CPACK configuration.

     

    What's new in PDF3D Version 2.0.4 ?

    NOTE: This a major release, some small source-code adjustments will be required in applications using the C++ API, see below for details.

    PDF3D Version 2.0.4 Release now adds the following additional features.

    1. PDF3DReportGen PowerPoint page layout now default in page size menu, new option added to preset page sizes in PDF3D-SDK Exporter Enum types.
    2. "Model" interface, PDF3DModelInterface classes now deprecated, no longer available. API has changed!
    3. VRML2PDF3D (MFC-based) program removed, is now functionally replaced by PDF3DReportGen. (was in VRML_Interface/Examples/GUI)
    4. SwfInjector example added, allows external Flash .swf (shockwave) file containing video, sound, animation to be injected anywhere into some existing PDF file. Sample swf file added for testing.
    5. LayersExample example added, shows how to export scenes with multiple layers and to control layers by using Layers controls.
    6. U3D data structure library revision upgrade, now derived from version 1.2.851.0. (v5)
    7. PDF3DConversionManger encoding type selection API added, converter.Initialize(PDF3DConversionManager::eU3D,IDX) added, where encoding types follow PDF/E ISO draft standard. Note RHC and HCT result in reduced file size, at the expense of additional runtime for creation.
      • eU3D: ECMA-363 Universal 3D format
      • eU3D_RHC: U3D with additional RH Compression, only addresses geometric meshes, it does not compress lines or textures. Geometric meshes can be from 25% to 60% of uncompressed U3D size, depending on model characteristics
      • ePRC: PDF/E working draft Product Representation Compressed encoding, BREP and Tessellation
      • ePRC_HCT: PRC with highly compressed tessellation option, with spatial tolerance approximation control
    8. IFX_INIT_GUID #define no longer needed, should be removed from application programs. API has changed!
    9. U3D include files removed from distribution, as no longer referenced or needed by application programs. Please contact support of this causes problems in your application. These should not be directly referenced by applications.
    10. PDF3DSceneInterface::SetupScene() no longer takes any argument such as (IFXSceneGraph* sceneGraph), application programs should be amended to remove this reference, else will generate compile time error. API has changed!
    11. Grouping Node design improvement, reduced memory, degenerate invisible triangle no longer needed, work-around removed.
    12. PDF processing sub-system podofo.dll memory leak fixes.
    13. MultipleLightsIS, MultipleLightsAI examples added, showing the technique for adding custom light sources using both Intermediate Storage (IS) and Access Interface classes (AI). Examples place 8 color lights at different angles around a cube, while setting PDF to load lights from file rather than Adobe defaults.
    14. GlyphTest example, added Compass mesh.
    15. ISO Page Sizes extended list and corrected, for use in selecting preset (PDF) paper sizes.
    16. PDF3DModelInterface::DoDefaultViewsIgnoreThisModel() method added, to allow creating special geometric nodes which can be excluded from the bounding box automated view creation phase.
    17. Dependency library zlib1 renamed to zlibvtsl, to improve portablility, reduce clashes with 3rd party systems.
    18. WidgetTest example correction, small bug of uninitialised colors.
    19. PDF3DConversionManager::SetPDF3DShaderEnabled() and Get... API added, to let users turn off pseudo shader, in the case where VCT mode is off, improves display in some cases.
    20. Static and Debug core library options for OEM customers, on Windows platforms, using CMake "OEMS", "OEMD" special flags. In these cases, builds are set to /MT (Multithreaded CRT rather than /MD) or /MDd (Multithreaded DLL Debug) respectively. Note that these options cover a subset of the complete PDF3D-SDK system, primarily only the core pdf3d library. Interfaces and packaged applications are not supported in these configurations, and are therefore excluded from builds. Unsupported components include OSG interface, PDF3DReportGen, PDF3DXmlServer and others. Please contact support for more details. For non-OEM customers, we recommend using the "RelWithDebug" build option.
    21. PDF3D-SDK Windows Installer, added new user-controlled optional section for updating environment variables, so users can disable if needed, preserving original environment.
    22. PDF3D3v.h MakeRotationMatrixByDirection corrections, now takes extra argument to specify vector. API has changed!
    23. Coin3D_Interface, updates:
      1. Changed PDF3DCoinInterfaceTest to COIN3D_to_PDF3D program name for clarity, as it is not a test but a real utility.
      2. Improvements for Hierarchical Group Node Transformation key-frame animation support.
      3. Improved IV file import
      4. InvText3 Substution to improved coverage of text node types
      5. IndexedTexture2 class implementation
      6. SFColorArray class development added, basic mapping methods
      7. Framework for custom Coin classes within interface, does not require any runtime changes to Coin itself.
      8. SoWriteSceneToPDF3D added new example of hierarchy transform animation.
    24. AVS_Interface updates:
      1. Group transformations
      2. Surface and Line color inheritance
      3. Cell data mesh subdivision processor
      4. Improved automated page resizing for large tables
      5. Z-Scale controls option
      6. Layer controls option
      7. Many more examples added
      8. Description, help and module code now documented in main help system
      9. Viewer2D capture added
      10. CSV Table module added
    25. GRD_Interface updates:
      1. Hillshade pseudo-solar illumination model
      2. Greatly expanded command-line arguments, allows PDF page controls, view injection
      3. Grid to Tin (Triangle Mesh) terrain decimation added, decimation by target % or error measures
      4. DLL re-packaging, allowing integration with memory grid sources
      5. XYZ point cloud import and display (as very short line segments per point)
      6. IDW Interpolation point cloud to grid processing with clustering
      7. Shepard's method interpolation, without clustering
      8. External image drape overlay
      9. DLL wrapping, .NET example added
      10. Checks for output PDF write-access before processing
      11. Shared vertices support.
      12. ParaView .xml colormap support.
    26. VTK Interface updates:
      1. Added support for following input file formats: .stl, .obj, .wrl, .byu, .pdb, .ply and .xyz.
      2. Point cloud files (.xyz), when passed as input file, are exported as set of short lines.
      3. Architecture refactored - which implies:
        1. Software architecture is now similar to other interfaces
        2. 20+ command line arguments for VTK_to_PDF3D like in other interfaces
        3. Fully developed scalar datamap textures and sequence animation examples
      4. Updated Vtk2Pdf3d routine - now accepts VtkOptions structure and user has full control of interface (i.e. can set all possible options).
      5. Graphs mappers are updated - now exporter supports actors with DataSetMapper, PolyDataMapper and GraphMapper mappers set.
      6. Checks for output PDF write-access before processing
      7. Actor node renaming system, provides way to make PDF model tree names have meaning.
      8. Security PDF settings can be set,
      9. ISO Page Sizes can be set,
      10. Shared vertices support,
      11. Expanded Examples with Source code shown:
        1. VTKAnimationsExample - example samples quadrics with several isosurfaces, which are then visualized by isocurves moving over half-transparent isosurfaces.
        2. VTKLineSetsExample - example shows how to export transparent lines using VTK Interface, with vtkPolyDataMapper.
        3. VTKCamerasExample - example shows how cameras properties are exported using VTK Interface
        4. VTKMultilightsExample - example shows how lights properties are exported using VTK Interface
        5. VTKReportsExample - example shows how elevation bar is added and scene with set interpolation before mapping is set
        6. VTKResultsExample - example shows how to export result of complex calculations using VTK
        7. VTKTerrainsExample - example exports terrain mesh with heights generated from passed grayscale bmp / jpg / png file, using vtkDataSetMapper
        8. VTKWarpingsExample - example shows how to export sequenced animation. seria of meshes is generated and exported as sequenced animation in PDF3D using vtkDataSetMapper
        9. VTKAxesExample - creates axis arrows and rotates them to compose coordinate arrows.
        10. VTKTextsExample - example shows how to export scene with vtkCaptionText objects
        11. VTKTexturesExample - example shows how to export textured actor
        12. VTKTransparentTexturesExample - example shows scene with transparent textured object and exports it to pdf3d
        13. VTKDotNetExample - example shows how to use VTK Interface by accessing VTK2PDF DLL routine from C#
    27. OSG Interface updated to version 2.8.2, improved node naming reflecting original OSG scene names, etc:
      1. Tiled texture "chip" correction, placement and alignment of segmented meshes and tiled texture images
      2. Improved material & color bindings
      3. Failures on missing node name corrected
      4. GeoNodes + drawables now named correctly in hierarchy
      5. Transparency fixed
      6. Specular materials improved
      7. Improved source code comments, variable naming
      8. Improved error checking
      9. New examples of hierarchy animation, text labels
      10. Separate builds from VS2005, VS2008, no longer sharing DLLs
      11. .NET example added
      12. Checks for output PDF write-access before processing
      13. Shared vertices supported
    28. STL Interface updates, major revision:
      1. Vertex welding feature - Duplicated vertices and near vertices are welded together into one vertex, with shared connectivity.
      2. Loading of data from memory - User can convert array of triangles / per-triangle normals (STL data) defined in local memory.
      3. Architecture of routines, source files refactored to conform to the style of other interfaces OSG / GRD / VTK
      4. 20+ of command line arguments of STL_to_PDF3D program added
      5. StlDotNet example - loads STL data from local memory and converts to PDF3D, C# main
      6. Before every time-consuming part, output availability is checked and if non-valid, conversion is canceled.
      7. Shared vertices supported
    29. ParaView plugin added with following features:
      1. Exports ParaView's scene from currently active view.
      2. Exports ParaView's color bar on right side of PDF document.
      3. Exports Axes from currently active scene as axes like in GRD Interface.
      4. Exports ParaView's animations.
      5. Refactored Settings Dialog in File Menu. Now user can specify all options used VTK interface supports.
      6. Fixed ParaView's axes exporting.
      7. Text and Media (image or SWF) annotations support added.
    30. PDF3DReportGen added following features:
      1. 3D Encoding selection (U3D, PDF3D_RHC, PRC, PRC_HCT)
      2. Spin control option predefined rigid body animation
      3. Gradient Background color option
      4. Animations from multiple selected files
      5. Choosing default viewing scheme
      6. Corrected layout problems
      7. New tab with GRID Settings (supported all options from GRID Interface)
      8. New VCT modes
      9. New tab icon decoration
      10. File browsers now allow UNC "\\machine\path" style navigation
      11. Added PRC file type option on output.
      12. Exporting multiple files in layers mode.
    31. PDF3DTableCreator class updates for large tables requiring additional pages or page width adjustment.
    32. Spelling & Grammar corrections in doxygen, headers and error messages.
    33. Examples/CMakeLists.txt improvements to allow individual building, as well as in groups
    34. Windows Installer improvements: Optional Env VAR section, improved PATH edit error checking, simplified VS200x check, added dialogs allowing user choice if multiple compilers found, rearranged function calls, now registry updates moved AFTER files installed.
    35. Updated CMake to version 2.8.1 (new platforms, bug fixes), installer provided during Windows install process.
    36. PowerPoint Add-in LiveWeb for 3D PDF presentation support, added PowerPoint 2007-2010 version macro file.
    37. PDF Font generation extended, now automatically recognizes the Adobe built-in "Base14" fonts, avoiding font embedding, and making file sizes smaller. Built-in font references are recognised for:
      "Courier", "Courier-Bold", "Courier-Oblique", "Courier-BoldOblique",
      "Helvetica", "Helvetica-Bold", "Helvetica-Oblique", "Helvetica-BoldOblique",
      "Times-Roman", "Times-Bold", "Times-Italic", "Times-BoldItalic",
      "Symbol", "ZapfDingbats". In cases where the PDF is text only, with an embedded TTF font, file size can go from 400kb down to less than 3Kb by using these built-in fonts. These are already present in the Adobe Reader on all Adobe platforms. This also is a good solution where font files may not be readiliy available on various Linux systems. Note, these fonts only support Latin-1, so other language or unicode character sets cannot be used with Base14.
      Bold and Italic attributes now mapped to Base14 variants.
    38. zlib refactored to name-mangled internal version, zlibvtsl (lib, dll), link library list API has changed!
    39. AddDefaultView method added to Conversion Manager, users can specify names, order, plane normals, view direction, look "up" vector, etc. based on model bounding box, without requiring explicit coordinate information.
    40. AddDefaultView examples added into CubeScene example for illustration of new API.
    41. Instancing API added, SetGeometryHash, SetTextureHash, for explicit control of object reference system.
    42. InstancingExampleAI added to examples, showing usage of new Instancing API using the Access Interface method.
    43. MultipleAppend added to examples, showing extreme case of generating an N-page document with same 3D view on each page, where N is command-line argument. Output document is closed and then re-openned at each page append step. Output file size is approximately 8kb per page.
    44. MixedSurfaceLines added to examples, showing a simple worked example of a scene with mixed triangle mesh and lines, using access interface API, illustrating AboutToBeginModel() method.
    45. MixedSurfaceLinesIS added to examples, showing a simple worked example of a scene with mixed triangle mesh and lines, using intermediate storage (IS) interface API.
    46. Windows library linking dependencies changed, now requires Ws2_32, RpCrt4, Linking library list API has changed!
    47. Linux library linking dependencies changed, now requires uuid in some cases, link list API has changed!
    48. IFXCore, Plugins removed, all U3D services are now provided by pdf3d.lib / pdf3d.a, runtime DLLs removed, Plugins directories removed. Link library list API has changed!.
    49. PDF3DViewAccessInterface::ConfigureResourceViewNode(IFXView *viewNode,
      IFXViewResource * viewResource) and the PDF3DSceneInterface::ConfigureRootNode(IFXNode* rootNode) are removed.
      API has changed!
    50. GradientBackground API added allows setting two unique colors for top to bottom gradient shading as scene backgrounds. Affects all views. Added to several examples, as exporter.SetBackgroundColor(options, 0.13f, 0.21f, 0.32f, 0.70f, 0.71f, 0.77f).
    51. Camera View Matrix CameraLookAt() helper function added, specifying arbitrary camera position, look direction vector and up vector, forming transformation matrix, with example usage shown in CubePoints.
    52. PDF3DTableCreator, added TableRightMargin parmeter to set when page size is made wider to fit table, changed default fonts used in TableToPdf example to use Base14 fonts for much smaller file size
    53. PDF3DSceneInterface is extended by the following methods:
      GetRootNodeTransformation()
      PDF3DIntermediateScene is extended by the following methods:
      GetName() & SetName()
      SetRootTransformationMatrix() & GetRootTransformationMatrix()
      PDF3DIntermediateScene::GetName()\SetName() returns\sets the scene name
      GetRootTransformationMatrix()\SetRootTransformationMatrix() returns\sets the scene root node transformation matrix (similar to PDF3DSceneInterface::GetRootNodeTransformation(), but work for IntermediateStorage classes)
      added PDF3DIntermediateCamera::GetFieldOfView(), SetFieldOfView(), PDF3DIntermediateCamera::GetAspect(),SetAspect()
      which are the similar to the appropriate PDF3DViewAccessInterface' s methods. These methods can be helpful in adjusting the 3D PDF scene coordinate system to match the calling application coordinate system.
    54. PDF3DMeshAccessInterface::GetTextureImage() API has been changed!
      Important API Change Notice, Warning: There are now have 3 methods in place of single method, all applications should be updated. The access interface now always calls to get width and hieght before asking for texture image buffer. (These calls are skipped if texture is already cached):
      virtual int GetTextureWidth();
      virtual int GetTextureHeight();
      virtual void GetTextureImage(unsigned char* data,size_t allocatedBufferSize);
      In GetTextureImage() routine, developer should only copy texture data to data buffer, allocated by SDK (size is specified by allocatedBufferSize variable). Before copying, size of passed allocated buffer should be checked. There is no need anymore for allocating new buffer and passing it to SDK.
    55. PDF3DSceneInterface::SetPreview() method, API has changed! Now applications are responsible for removing the memory block after SetPreview() call, such as with: unsigned char* data = new unsigned char[length]; (fill data); SetPreview(width,height,data); delete[] data; See CubeScene for working example.
    56. Character string arguments in API methods are now of different type and used differently, API has changed! this will require minor revision to applications, improves memory handling stability across interfaces. In general terms, std::string type has been replaced with char*. Now instead of called method allocating strings, the caller is expected to pre-allocate string buffers and pass the size of this buffer explicity in the argument list. Please note the revised argument specifications in: PDF3DIntermediateModel::GetName(), PDF3DIntermediateModel::GetLabel(), PDF3DIntermediateModel::GetMetadataItem(), PDF3DIntermediateModel::IndexedFaceSetVRML97(), PDF3DIntermediateModel::IndexedLineSetVRML97(), PDF3DIntermediateModel::PointSetVRML97(), PDF3DIntermediateModel::ExtrusionMeshVRML97(), PDF3DIntermediateModel::ElevationGridVRML97(), PDF3DIntermediateCamera::GetName(), PDF3DIntermediateCamera::SetName(), PDF3DIntermediateLight::GetName(), PDF3DIntermediateLight::SetName(), PDF3DIntermediateScene::GetName(), PDF3DIntermediateScene::SetName(), MeshAccessInterface_Impl::GetCurrentMeshName(), PDF3DModelInterface::ContextType(), MeshAccessInterface_Impl::GetMetadataItem(), PDF3DMeshAccessInterface::GetMetadataItem(), PDF3DLineSetAccessInterface::GetCurrentLineSetName(), PDF3DContextSensitiveInterface::GetContextName(), PDF3DSceneInterface::GetSceneName(), PDF3DViewedHierarchyImplementation::GetViewedName(), PDF3DViewedHierarchyImplementation::GetUnderlyingModelName(), PDF3DIntermediateViewedHierarchy::GetViewedName(), PDF3DIntermediateViewedHierarchy::GetModelName(), PDF3DTexture::PDF3DTexture(), PDF3DTexture::GetTextureFileName().
    57. Inline Memory Allocation Methods
      It's not safe to directly allocate or free heap memory in an inlined function, because it can cause crashes on MS Windows systems if the runtime library used in the shared library is different from the one used by the executable calling that DLL. Using malloc and/or new in inlined methods will lead to crashes on MS Windows systems. New PDF3D-SDK methods are introduced to overcome this issue. At any API call involving std::vector, std::map, std::set should now be replaced with non-inline safe methods:
      • PDF3DVector<>template
      • PDF3DMap<>template
      • PDF3DSet<>template
      This should be a simple replacement in all applications using PDF3D-SDK API. If a program is compiled without this change, a compile time error will be thrown.
    58. JavaScript Single Insertion. Some JavaScripts are now inserted only once, rather than multiple times, resulting in smaller file size in some cases.
    59. ICC Color profile srgbprofile.bin is now embedded into PDF3D-SDK, eliminating need to manage an external resource file.
    60. podofo.dll is now removed, all methods are now part of the main pdf3d.lib library system.
    61. PDF3DCheckOutputAvailability() method is added to PDF3D-SDK, a service to allow applications to quickly check if write or append access to the output file is available, before wasting time in conversion.
    62. CPACK configurations are now added into interface CMakeLists.txt, allowing the generation of installers for individual applications.
    63. U3D Memory Usage API deprecated, now returns zero.
    64. CHM Help (compiled html) sytem for searchable reference to full API, examples, interfaces (on Windows platforms)
    65. ModelToPdf3d (dot net) interface removed, deprecated.
    66. PDF3DConversionManger::IsFormatEnabled(Format3D) method added, allowing applications to check which encoding methods are available at runtime, for GUI configuration control, etc.
    67. PDF3DConversionManager::SetCreaseAngle() method added, for non-stored normals interpretation, threshold angle for when normals should be smoothed or sharp edges preserved.
    68. Use Original Normals (storing them in PDF file) default value is not reversed to be False unless explicitly set, as automatically generated normals have high performance and smaller file size. Crease angle may be adjusted to achieve desired effects.


    What's new in PDF3D Version 1.12.0 ?

    PDF3D Version 1.12.0 was a limited internal branch, changes are merged and listed with the next version above. Please contact support for questions.

    What's new in PDF3D Version 1.11.0 ?

    PDF3D Version 1.11.0 Release now adds the following additional features:

    Various Minor build and corrections to 1.10.0, as

    1. Redhat Linux 3 (RHEL3.9,Centos3.9) is now frozen, last release was v1.10.0, no further releases are planned, removed from release.
    2. Windows2000 is now frozen, last release was v1.10.0, no further releases are planned.
    3. Visual Studio 2003 (32-bit) is now frozen, last release was v1.10.0, no further releases are planned, removed from release.
    4. DrawTextGetLineHeight, DrawTextGetLineWidth methods added to PDF3DExporter class, for the purpose of computing text layout prior to drawing.
    5. PDF3DTableCreator and PDF3DTableOptions classes added to support formatting and generation of CSV style tables.
    6. TableToPdf example added, converting simple CSV file to a formatted table on the PDF page.
    7. PDF3DConversionManager memory reset issue resolved after conversion.
    8. PDF3DExporter Memory Release after write improvements, additional memory cleanup added to Reset() method.
    9. Compass Mesh glyph type added, for creating orientation axes in geospatial applications. See PDF3DCompassMesh class.
    10. SetGeospatialNorthCompassSystem() method added to PDF3DExporter class, which adds PDF dynamics to keep compass in fixed position and respond to rotations only.
    11. XML NorthCompass control tags added for PDF3DXmlServer.
    12. AVS/Express interface improvements:
      • TableCreation module, with test cases added
      • Viewer2D, AGkit, image capture modules and examples added.
      • Extension to 3D view creation module to support table data on same page
      • Multiple light source support, bi-directional light generation, light-source colors
      • Light from file path specified, avoiding Adobe default lights
      • GUI panel layout cleanup and improvement
      • New CompassNorth icon added to scenes
      • Additional Cell-data processing methods
    13. converter.Initialize(IDX); is now required ahead of converter.Convert(IDX); In versions prior to 1.10.0, it was possible to directly call conversion process without first calling initialize. However, starting with version 1.10.0, this step is required. Examples have been updated to reflect this change.
    14. Intermediate storage ConversionRunner corrected to allow for correct OEM license operation.
    15. SoWriteSceneToPDF3D Coin3D Interface example, corrected to allow for correct OEM license operation
    16. GRD_Interface added, for converting Surfer Grids *.grd (Golden Software Inc.) to 3D PDF surfaces, with optional Surfer colormaps *.clr, decimation and texture parameters, including the new north compass.
    17. Updates to PDF handling library to latest patch level, improved PDF document parsing, misc. fixes.
    18. OpenSceneGraph (OSG) OSG_Interface layer major upgrade, improved support for lights, cameras, materials, text, more stability.
    19. GOWLegend example added, showing simple colour-filled boxes and text for a typical Gas-Oil-Water legend.
    20. Adobe Toolbar button-by-button enable/disable control, set current tool API methods added.
    21. XML Adobe Toolbar button by button and set current mode tags added for PDF3DXmlServer, sample XML files added.
    22. PDF3DXmlServer DLL search path for interfaces on Windows now checks local server exe location.
    23. Title strings with long lines that wrap no longer overlap 3D view window, as top margin is adjusted automatically.
    24. PDF page layout helper methods added; DrawTextGetMultilineHeight(), DrawTextUTF8GetMultilineHeight(), DrawTextUTF16GetMultilineHeight(), DrawTextGetLineHeight(), now part of PDF3DExporter class.
    25. Exclude from Bounding box calculations mode to named node method added, for use by NorthCompass, etc., using new API method Mesh Interface SetIgnoresDefaultViews()
    26. PDF tag compliance, updated preview image AP->N to XObject tag, files now pass Acrobat PreFlight syntax checker.
    27. PDF3DImporter GetPageOrientation correction, better identification of portrait or landscape pages in existing PDFs.
    28. Coin3D Interface SoWriteSceneToPDF3D example test program extended for 3rd output file, showing how to make rigid body key frame animations from the Coin scene graph standard Cone object.
    29. PDF3DLegendInterface, added methods GetBoxModeEnabled, GetBoxColor to enable outlines for color bar segments.

    What's new in PDF3D Version 1.10.0 ?

    PDF3D Version 1.10.0 Release now adds the following additional features.

    1. PDF3DReportGen new GUI controls: Navigation Constraint, Double Sided Rendering modes.
    2. PDF3DGlyphBase::SetTransformations(double matrix[16]) method added for glyphs and 3D labels.
    3. AVS_Interface, 3D text labels with billboard orientation added in scene capture, fixed font size.
    4. AVS_Interface, DataMap Reference vertex colour mode added (optional), if available will use original colormap. Must be non-cyclic colormap, not available for GFA conversions, has higher computational cost for large models.
    5. PDF3D_C4x4M intermediate storage now has additional method fillArray to convert matrix into array data type.
    6. XML Schema PDF3DXmlServer.xsd added for PDF3DXmlServer input specification file or PDF3DXmlSrv xml string input
    7. PDF3DReportGen fixed problem with injecting on existing page, where at MERGE=3 and "at page" mode and page number greater than one, view was placed on the wrong page.
    8. Bounding Box correction, fixed matrix multiply order.
    9. PDF3DExporter preview image SetImageData bitsPerComponent value internal implemenation correction.
    10. GeoSpatial Coordinate mode added, whereby a number of special options and interfaces are invoked:
      • VRML input files (.wrl or .vrml) are preferrably sent through Coin_Interface (using PreferredInterfaceName)
      • Transformation parent node added for Y-Z axis rotation change, so that we create a left handed coordinate system, where
        X axis - from left to right
        Y axis - from top to down (of the screen when seen from "Top")
        Z axis - toward the viewer
      • 3D mouse probe reports full world coordinate spatial x-y and elevation z, in transformed space
      • Z-Scale controls modify elevation scaling,
      • Default view creation changes to show Top(+z) looking down from space,
      • Default view Front/Back sign of Y axis reversed
      • Layer boundaries within VRML are identified and named, specific to dialect of ArcScene generated files.
      • Vertical Layer offset option, allows drawing layers slightly apart to avoid coincident clash, user control
      • If more than one layer identified, layer visibility toggles added as user PDF control
      • New PDF3DReportGen option enable control
      • New PDF3DXmlServer xml tag specification
      • New C++ API method
      • Enables GeospatialCoordinate mode in all assemblies.
      • Disables auto-position in all assemblies.
      • Disables auto-scale in all assemblies.
      • Specifies manual position to (0,0,0) in all assemblies.
      • Specifies "useActualCenter" parameter to "false" in all assemblies.
      • Specifies all scales parameters to 1.0 in all assemblies
      • This mode is tested with models from ESRI ArcScene

       

    11. LOD Level selection parameters, highest or lowest detail when level of detail options available in input file. Parameter added to VRML interface. Coin interface (wrl, iv), PDF3DXmlServer, PDF3DReportGen GUI and other interfaces where LOD information is available.
    12. Initial animation control state bug fixed, some animations would not start up in the correct looping mode (pingpong or smooth)
    13. VRML imported Viewpoint correction, now sets PDF camera rotation parameters based on vector (VIEW_POSITION - ACTUAL_CENTER_OF_SCENE) rather than magnitude of current view position
    14. PDF3DXmlServer Rotation XML input specifying object rotations uses an axis of rotation vector plus angle in radians. Previously if the axis of rotation vector direction was not unit length, would cause shear transformation rather than pure rotation. New behaviour added to normalise vector length internally, so XML may now specify vectors of any magnitude, only the direction will be used.
    15. STL_Interface, STL_to_PDF3D converter program extended functionality:
      • Added U3D format output option
      • Improved internal code, removed unused areas
      • Added STL model material specification options - colour, ambient, diffuse, specular shading treatment
      • Added background scene color in 0xFFAAFF style format
      • Added DefaultView creation and zoom factor options
      • Added Transparency option
    16. NSIS installer generation system for windows, updated to version 2.45.
    17. VTK examples added, VTKCube, VTKArrays for worked examples.
    18. VTK_Interface updated to VTK version 5.4.2 release.
    19. vtkPDF3DExporter class improved to represent actor colormaps as scalar textures where method matches ParaView display.
    20. Memory leak corrected in Linux OEM license code area.
    21. IFX Library loading long path buffer overrun correction, both Linux and Windows.
    22. SequenceAnimation added to source examples, showing moving sine-wave on mesh. Sequence of moving mesh models.
    23. TransformAnimation added to source examples, showing orbits of planets as textured spheres, using rigid body keyframe animation techniques from C++ code.
    24. BillboardedQuad added to source examples, showing how to create custom texture rectangle objects with dynamic billboard effects, similar to 3D labels. PDF3DLabel classes are derived and methods re-defined. In this simple example textures are loaded from JPEG files
    25. HierarchyExample added to source examples, showing how to specify multiple triangle meshes, lines, points in scene hierarchy using the Access interface methods.
    26. ElevationMesh Example, showing the technique for creating a regular XY surface mesh with sine wave Z using Access interface methods.
    27. Mouse3DProbe Example, showing the technique for adding an interactive mouse probe for scene coordinates.
    28. PDF3DImageInjector example, showing the technique for injection an image from file into an existing PDF document.
    29. ColorPerTriangle example, showing the technique for adding face colours, as well as vertex colors on collection of cubes.
    30. PDF3DLineSet correction, over enthusiastic line geometry compression method eliminated lines in some cases, now corrected
    31. Examples updated to print library version string when starting up.
    32. Coin Interface, material shading correction, previously colours may be lost in hardware rendering modes. Log file generation correction.
    33. Texture Image encoding, Linux/Mac Adobe Reader in OpenGL mode may not display JPEG encoded textures correctly (washed out, over-exposed). As a work-around, we have added a mode flag available to use PNG as alternative encoding, by setting TQuality (texture quality) parameter to 1.0. PDF3DConversionManager::SetTQualityFactor(1.0f) and in xml <TQualityFactor value="1.0"/>.
    34. PDF3DExporter::DrawImageScaleFromFile() added, to allow drawing an image at a specified re-scaled size on the page.
    35. OpenSceneGraph (OSG) now available for Windows x64 (XP, Vista) platforms.
    36. OSG_ to_PDF3D_GUI correction, fixing possible crash between interactive view and PDF generation.
    37. Frozen Rotate: Vista installs of Adobe Reader 9.x sometimes freeze mouse rotation when PDFs are openned. New fix is applied to correct for this.
    38. Visual Studio 2008 support updated to SP1 (previous releases were without SP1)
    39. Microsoft Security Patch MS09-035, KB971090 applied, affecting patch levels to VS2005, VS2008, vcredist, .msm assemblies, runtime dlls. All customers advised to apply these patches, or executables may not function correctly. All files in PDF3D-SDK/bin/redist/ have been updated to reflect this security patch.
    40. LM-X floating license server update, changed from v2.31 to v3.2. License server executables must be updated. Existing licenses will work unchanged.
    41. Flash-based Interactive Controls added, modern look & feel, improved animation and other controls for 3D scene. Note, requires Adobe Reader or Acrobat 9.x to view such controls, as it uses new features only introduced at this version. New controls include Z-scale, animation, mouse probe, etc.
    42. KEYLIB32.dll version updated, correction to applications failing at exporter.ClosePDF(); phase on Windows 32-bit platforms.
    43. License management update, new destructor scheme changed to dynamic rather than static, changes to heap usage at program closing, checking back in floating license and closing license system, improved stability.
    44. License valid return checks improved in various examples (error returns were previously ignored in simple examples).
    45. Cyrillic character set demonstrated by fist lines from Eugene Onegin by Alexander Pushkin, using DrawTextUTF function (example on windows only).
    46. ModelTreeControls new Flash-based control system added, with API for developers.
    47. ModelTreeControls Example added, showing basic usage of new control.
    48. CustomHierarchy methods added to both AccessInterface and IntermediateStorage API's, allowing developers to manipulate and filter model hierarchy as presented to users through the new ModelTreeControls Flash-based interface. Using this method, you can sort names into new order, hide some nodes (remove them from the visible menu), and rename nodes for more user-friendly strings. Adding additional grouping nodes for new tree organisation within the visible menu is currently not supported. The result requires Adobe Acrobat or Reader v9+.
    49. CustomHierarchy Example added, showing basic usage of new customer hierarchy filtering, showing how to take complex hierarchy and make some simple renamed version for user presentation.
    50. ColorPerTriangle method added to MeshAccess Interface and IntermediateStorage Interface APIs, so that face colors may be specified which fill entire triangles without interpolation (as found with vertex colours). Example added.
    51. Windows7, Windows2008R2(x64) support added, installer adjustments for platform detection.

    What's new in PDF3D Version 1.9.1 ?

    Note, version 1.9.1 was an interim internal version, not formally released. Features have been merged into v 1.10.0.

    What's new in PDF3D Version 1.9.0 ?

    PDF3D Version 1.9.0 Release now adds the following additional features.

    1. Notice - Redhat Linux 3.x will no longer be updated after this release, this is the final release version for this OS, gcc v3.2.
    2. Texture Compression scheme added, has dramatic effects on PDF file size when large texture images are used. In some cases, file size can be 1/10 of original size. Compression factor is highly data dependent. Default value is 85%, fine for most cases. The Texture Quality Factor parameter is available in API, as PDF3DConversionManager::SetTQualityFactor(double tfactor), as parameter to PDF3DXmlServer as <TQualityFactor value="0.85"/>, and in PDF3DReportGen user interface.
    3. Interfaces, directory and source locations restructured, allowing local re-builds of main programs without full source.
    4. Multi-Product Feature license system introduced, allowing multiple independent product bundles to be licensed. Does not affect existing issued licenses.
    5. New License Utility (re-written GUI), with multiple product menu system. PDF3DLicense2.exe removed, now single application name covers functionality of previous PDF3DLicense.exe and PDF3DLicense2.exe. (New version also requires hidden command line arguments to control license configuration options.)
    6. License utility location change - was in license/ folder, now removed. new locations are in compiler specific bin/VS200x_Binaries folders, following the pattern of other programs.
    7. LM-X internal improvements to floating network license search paths.
    8. Coin Interface, new alternative option for tessellation algorithm, in cases of high aspect concave polygons, default remains normal internal PDF3D tessellation methods.
    9. Texture Cache system, identifies multiple references to the same texture image, eliminates duplications. Reduces temporary memory requirements during conversion, and also in resulting PDF file. One example reduced a 52mb PDF file to only 3mb.
    10. Navigation Constraint options added, allows 3D view to disable rotation, acting as 2D canvas, or disable all pan, zoom, rotate.
    11. Material API changes to the following method signature:
      void ConfigureMaterialTextureResource(IFXShaderLitTexture* shaderResource, IFXMaterialResource* materialResource, IFXPalette* texturePalette); ( using IFXPallette rather than IFXTextureObject in third argument )
    12. PDF3DXmlSvr API changes: dll method now returns Int instead of bool type, to allow more status return values and portability. Change occured between Beta and Release.
    13. Default View creation, extended to create 7 views, Front, Back, Top, Botton, Left, Right, and IsoCorner (45 degree, isometric, orthographic projection). All are enabled or disabled using zoom factor > 0.0.
    14. CMAKE version change, to CMake 2.6 patch 4. (Note, this is more recent that previous 2.7 development version).
    15. Plugins/ directory, on windows IFXExporting.dll, IFXImporting.dll, IFXRendering.dll, IFXScheduling.dll may optionally be placed in same location as IFXCore.dll, without relative Plugins directory to improve and simplify distribution packaging.
    16. PDF library updates for x64 improvements, large PDF file support, Vista and Linux 64-bit compilation improvements.
    17. PDF new page insert bug fix, new PageTree algorithm
    18. PDF3DCoinInterface, new alternative PDF3DCoinDebugInterface.dll allows debug development for Coin-based systems.
    19. New logo design, splash screen images, icons updated
    20. New website www.pdf3d.co.uk including on-line technical documentation.
    21. AVS_Interface module library issues corrected, library path list changes.
    22. AVS_Interface GUI exposed new VCT modes with selector control
    23. AVS_Interface GUI "show PDF on export" feature added
    24. PDF3DXmlSvr new dll for scene conversion control systems, accepts XML as dll argument strings rather than files
    25. PDF3DXmlSvr usage examples added:
      1. C++ commandline XML as strings
      2. C++ commandline XML from files
      3. C# commandline XML as strings
      4. C# interactive GUI converter
      5. Visual Basic commandline XML as strings
      6. Visual Basic interactive GUI converter
      7. Python script commandline XML as strings converter
      8. Delphi wrapper with interactive GUI converter
    26. XML DrawImage tag added, places image from file anywhere in 2D PDF page for logos, legends, etc
    27. VCT converter added additional modes for index pallette colour schemes
    28. PDF3DXmlServer converter loading system changed to load and unload single converters at a time rather than loading all at initialization.
    29. Added new OEM license warnings, to improve clarity when a program or dll should be recompiled or held from distribution.
    30. Transparent background to 3D Scene C++ API added, as optional settings. Available in Adobe Reader 9 and later only.
    31. Transparent background XML tag added.
    32. ConversionRunner now static library
    33. OSG ( OpenSceneGraph) command-line interface and dlls added, for file conversions using OSG methods (mixed versions not supported), new file types such as OSG, 3DS, DXF, OpenFlight, etc. possible. OSG interface is only available on the Windows 32-bit platform. Status of individual format conversion support using OSG is ongoing - seek advice if you find issues.
    34. PDF3DConverter Application re-write using Qt interface components, renamed to PDF3DReportGen, combining multiple interfaces to allow conversion of:
      - OSG ormat (*.osg)
      - OSG Native format (*.ive)
      - 3D Studio Max format (*.3ds)
      - AutoCAD DXF format (*.dxf)
      - Lightwave format (*.lwo)
      - Stereolithography file format (*.stl)
      - Stereolithography ASCII format (*.stla, *.sta)
      - Wavefront OBJ format (*.obj)
      - DirectX format (*.x)
      - Design Workshop (*.dw)
      - Open Flight (*.flt) - WIN only
      - Open Inventor (*.iv)
      - Open Inventor Compressed (*.iv.gz)
      - VTK supported format (*.vtk)
      - OSG Compressed (*.osgtgz)
      - Compressed VRML (*.vrml.gz, *.wrl.gz)
      - Uncompressed VRML (*.vrml, *wrl)
      - GSI3D (*.gsipr, *.gxml)
    35. Linux PATH environment requirement change, PATH must now always include PDF3D-SDK/bin/GCC_RunTime/ to allow for runtime .so interface searches.
    36. Floating license on virtual server mode enabled if required on special request basis.
    37. VTK_Interface removed from VRML type conversion list, still works but has poor functionality compared to others, to discourage use.
    38. Removed PDF3DConverter application from build. Now fully replaced by PDF3DReportGen.
    39. VRML2PDF3D interactive GUI example, portability improved, such as for VS2008 Express compiler.
    40. MSI Installer package, newly introduced for PDF3DReportGen if licensed outside of PDF3D-SDK package, for end-users.
    41. WiX installer generator introduced for MSI generation, in parallel with NSIS.
    42. Execution count type trial license mode now available if required.
    43. VRML_Interface, VTK_Interface, bug fix to yylex_load_buffer_state.
    44. Windows x64 (Vista 64, WinXP64) manifests, dlls refreshed to new versions
    45. Installer now runs both VS2005 & VS2008 vcredist install packages, rather than one, for mixed dll cases.
    46. PDF3DReportGen Help added, specific to end-user menu and file conversion operations, authored using Madcap Flare.
    47. PDF3DXmlServer: added "ShowToolBar" and "ShowUserInterface" options.
    48. PDF3DAction3D class memory buffer fix.
    49. PDF3DColorTable correction, table to texture was computed incorrectly.

     

     

    What's new in PDF3D Version 1.8.0 ?

    PDF3D Version 1.8.0 Release now adds the following additional features.

    1. U3D_LIBDIR: changed, is now moved to bin/<compiler type>_RunTime, rather than lib, as library is now supplied in compiler specific versions.
    2. U3D dlls, shared libraries, now supplied in compiler specific subirectories, rather than in a single place, paths have moved.
    3. New polygon tessellation method implementation, will slightly change the geometry generated in models.
    4. PNG palette color index bug fixes, including transparent backgrounds now supported, both for 2D PDF page loading and 3D texturemaps.
    5. PDF parsing improved, injection of 3D view into existing documents able to handle a wider range of input PDF types.
    6. Improved U3D library builds, internal build system changes, optimisations
    7. Trial edition margin constraints, restrictions removed. Margin parmeters may now be freely set to any value.
    8. VRML and Coin3D lighting models improved, new ambient term treatment
    9. VRML default lighting now processed as "lights from file", or "artist lights".
    10. VRaniML library now compiled separately for each compiler type
    11. Zlib now moved to dependencies directory, compiled separately for each compiler type
    12. Updated keylib system for node-locked controls, Vista improvements
    13. VCRedist installer systems added for x64 configurations
    14. Installer system bug fixes and improvements for more reliable installations
    15. GLUT now moved to dependencies directory and compiled separately for each compiler type
    16. Freetype library renamed, is now "freetype2" rather than "freetype235", and is now moved to compiler type directories.
    17. Solution files added for building DotNetInterface for VS2003, VS2005, VS2008 versions of visual studio.
    18. U3D texture memory storage reduction optimization.
    19. Legend drawing box and label alignment bug fix.
    20. Windows-2000 installs now enabled in installer system, qualified as runtime target (not supported for development).
    21. XML Server, fixed page numbering bug.
    22. XML Server, on Linux, using VTK Interface to load 3DS files, may cause error if more than one 3DS file is referenced. This is due to characteristics of OpenGL driver reset function on some Linux graphics drivers. If you encounter this, reduce 3DS to single file loading.
    23. Coin3D interface updated for Coin v3.0, both Linux and Windows.
    24. DrawText, DrawTextUTF8, DrawTextUTF16 API functions added for 2D Text using Unicode character sets.
    25. New Example: DrawTextUTF, shows usage for new API
    26. Draw Caption and Title classes now extended to support Unicode options.
    27. XML Server Title and Caption text options extended to support Unicode.
    28. API Change Notice. Before: const PDF3DString& PDF3DExporter::GetCurrentFontFamily()
      is changed to: PDF3DString PDF3DExporter::GetCurrentFontFamily()
      (i.e. without "&" as return type).
    29. Additional Font management methods, including PDF3DExporter::GetCurrentFontFile()
    30. XML Server - new DrawText tag, allows arbitrary text placement on page. See input-specification.xml for details.

     

    What's new in PDF3D Version 1.7.1 ?

    PDF3D Version 1.7.1 Release now adds the following additional features.

    1. XML Server: corrections to allow injection of 3D views on to existing page of PDF document, page number, width, height and resource indirection for font resources.
    2. Metadata system added to XML Server
    3. Installer script enabled to allow Windows X64 installs (32-bit mode)
    4. Coin3D SoWriteSceneToPDF3D improvements to sample application, showing customer Export settings.
    5. Linux VRML interface texture reference file path corrections.
    6. Linux build flags, added -fPIC flag for improved platform support.
    7. PDF import parsing improved to support additional types of PDF files.
    8. PDF3DExport error processing improved when injection of view into existing page fails.

     

    What's new in PDF3D Version 1.7.0 ?

    PDF3D Version 1.7.0 Release now adds the following additional features.

    1. XML Server: additional collection of sample configuration files.
    2. PDF3DWidgetStyle button, icon and image now supports 32-bit alpha-channel images.
    3. PDF Append into some types of existing PDF files fixed, previously would cause intermittent crash.
    4. VRML interface CMake fix, now allows examples to be compiled without library source.
    5. Billboard mode on Labels, now has correction for scaling correctly in orthographic camera.
    6. CMake files in various example and interface directories now updated with version prerequisite specification.
    7. Interface library files, allowing re-use of interface conversion components, now shipped in distributions, interface programs can now be compiled without requiring conversion component source..
    8. Coin3d Interface, fixed font size controls algorithm and methods updated
    9. Cmake include - UsePDF3D.cmake now updated for VS2008 builds, detecting compiler environment.
    10. VRML2PDF converter installation and compilation issues resolved.
    11. Windows DLL redistribution and manifest files updated for VS2005 (SP1), VS2008
    12. Samples directory structured unified, to supply all example data files.
    13. Elevation Grid in Intermediate Storage texture assignment correction bug fix
    14. Font embedded in PDF now optional, depending on need. If no text is on page, minimum file size is dramatically smaller.
    15. Animation classes, for seqencing visibility of node lists, with interactive playback controls.
    16. Icons embedded for typical button controls, play, stop, forward, etc. for use in interactive PDF document forms.
    17. Frame Delay API for variable timing of frames during replay.
    18. Common Source "vtslport" directory now contains commonly used and shared utilites, used by some Interfaces, for cross-platform services.
    19. XML Server animation cycle and frame timing section update, accepts wild-card filename collections as assemblies.
    20. VRML Interface code improvements, much higher portability, typing and unified compiler builds, now available on Linux.
    21. Libpng corrections for C++ name mangling.
    22. Examples and Interfaces now generate debug symbols when compiled, may be helpful for developers.
    23. DrawArc() method for 2D PDF export page added partial circular sections, with or without fill.
    24. CubicBezierTo() for creating cubic polynomial Bezier curves defined by four control points.
    25. IntermediateStorage: PDF3DIntermediateModel::SetTextureCoord() allows direct access and control of u-v textures.
    26. Textfield Spellcheck status: PDF3DTextBoxWidget::SetSpellcheckingEnabled() methods added.
    27. TimeTag string added to set time annotation attributes for animation playback, new keywords in XML Server input.
    28. RenderMode, Lighting: XML keywords to controls PDF3DSceneOptions{ RenderMode, LightingScheme } were added.
    29. 3D Label Orientation fixes: exactly 180 degree camera changes now correctly re-orient the labels, and "Spin" mode for camera transformations is now working, where certain angles previously failed.
    30. Rigid Body Animation classes and controls, key-frame movement of objects, using SLERP (Spherical Linear Interporalation) based on quaternion 3D transformation formulations. XMLServer upgraded to have full key-frame animation specification XML entities.
    31. converter.SetDoubleSidedRendering(true) API has now been moved to exporter.SetDoubleSidedRendering(options,true,true). This may require source changes to application programs.
    32. SoWriteSceneToPDF3D() improved to add additional methods to add local custom Export code, and new Coin3D example interface which shows how to use the new features.
    33. PDF3DExporter::getPDFPageCount(), new method allows query of current document.
    34. PDF3DExporter::GetPageHeight() new method returns the height of specified page.
    35. PDF3DExporter::GetPageWidth() new method returns the width of the specified page.
    36. PDF3DExporter::GetPageOrientation() new method returns the orientation of the specified page
    37. vrml1to2 conversion utility from VRML 1.0 to 2.0 has a completely new, upgraded implementation, new VRML syntax filtering.
    38. vtkTerrain sample program now ported to Linux.
    39. Highlight fields in Acrobat or Adobe Reader now deselected when 3D view page activated, so dynamic scene control buttons will display properly.
    40. Improved IntermediateStorage error handling, Warnings rather than errors allow continued processing.
    41. Quality parameter < 1.0 bug has been fixed, previously would remove group nodes in some cases.
    42. VRML ROUTE keyword allows "." character in names - fixed (VRML_Interface and Coin_Interface)
    43. Default Label Font, now set to "Times New Roman" if specified font not found on system. Previously this caused a crash on some systems.
    44. Quality parameter < 1.0, will completely eliminate triangles less than 1e-005 in square size, and may scrub out entire nodes causing conversion errors. In this case, please use Q=1.0.
    45. Keylib License system version update, primarily for improvements on Vista.
    46. LM-X major update, new server, library version components for network floating licenses.
    47. DLL loading configuration bug fixes for Vista.

     

    What's new in PDF3D Version 1.6.0 ?

    PDF3D Version 1.6.0 Release now adds the following additional features.

    1. OpenGL Example: a new example program, which demonstrates how to integrate PDF3D® Library into the existing OpenGL programs.
    2. XMLServer: file conversion control system using XML parameter specifications. Collections of input files can be combined into a merged 3D scene, with input files translated, scaled and colored. Allows automation of file conversions.
    3. Arrays of Glyphs: now geometric shapes can be specified to be in collections, combined into a single 3D PDF node for greater efficiency.
    4. ArrayGlyphTest Example: a new example program, which demonstrates how to use Array of Glyphs.
    5. Document Security: author and user passwords can now be set, with document security modes for printing, saving, etc.
    6. Page Size presets now available in menus in PDF3D Converter application, for A4, Letter, etc.
    7. Z-Scale dynamic controls, new user-interface below 3D window, allows non-linear Z axis scaling in 3D scene.
    8. Interactive 3D Probe option, shows name of object and X,Y,Z location at mouse pick.
    9. Multiple Pre-compiled binaries and dlls: Please note that the installation process detects if you have VS2003, VS2005, VS2008 compiler environmnets installed, and sets the PATH environment variable appropriate for that version of binary programs and accompanying dlls. If you try to run another type, these will fail due to the incorrect PATH environment. This can easily be corrected by manual intervention, as follows:

      You need to setup environment variable PATH to
      $INSTDIR\PDF3D-SDK\bin\VS2008_RunTime\ to use samples from VS2008_Binaries
      (instead of $INSTDIR\PDF3D-SDK\bin\VS2005_RunTime\ or
      $INSTDIR\PDF3D-SDK\bin\VS2003_RunTime\ ).

      You need to setup environment variable PATH to
      $INSTDIR\PDF3D-SDK\bin\VS2005_RunTime\ to use samples from VS2005_Binaries
      (instead of $INSTDIR\PDF3D-SDK\bin\VS2008_RunTime\ or
      $INSTDIR\PDF3D-SDK\bin\VS2003_RunTime\ ).

      You need to setup environment variable PATH to
      $INSTDIR\PDF3D-SDK\bin\VS2003_RunTime\ to use samples from VS2003_Binaries
      (instead of $INSTDIR\PDF3D-SDK\bin\VS2005_RunTime\ or
      $INSTDIR\PDF3D-SDK\bin\VS2008_RunTime\ ).

    10. PDF Resources: new classes are added to support U3D resource additions to the 3D PDF scene, for use by advanced javascript methods. These are PDF3DExporter::AddU3DResourceTo3DAnnotation() and PDF3DExporter::Clear3DAnnotationResources().
    11. VISTA installation process and operation now supported.
    12. NSIS Installer updated to 2.37, with logging enabled.
    13. 3D Label model bug fixes, one bug caused fatal font loading errors in some circumstances. Label rendering now improved for black labels on white background or white labels on black background, where they appeared "washed out" before, fix involves changing material characteristics of label textures. New API methods allow setting label origin; SetOrigin(x,y) to allow right or left justify or center modes. Also 3D label horizontal or vertical orientation control has been added. The source example LabelTest now includes these new features.
    14. HyperLink example and API extensions- shows how to attach mouse click hyperlink behavior to any 3D node or object. The hyperlink destination can be another page in the same PDF, a bookmarked area on some page, another PDF file nearby on the same filesystem, or an external web page.
    15. Metadata packets can now be associated with nodes of the U3D data structure. This metadata can now be interactively revealed in a special panel on the PDF page, activated on mouse click on the corresponding 3D object. New API method PDF3DExporter::SetMetadataOutputControls() is able to interactively show metadata from selected objects. Metadata must be already present in 3D data structure.
    16. Input PDF Document Security Check. When injecting 3D into existing documents, the input document should not have any security settings. There is a new API method to use to check this condition before wasting time on 3D conversion.
      Use bool PDF3DExporter::IsPDFDocumentSecured(const char* szFileName).
    17. Acrobat 9 Pro Extended, Adobe Reader 9 compatibility fixes for stored view point list.

     

    What's new in PDF3D Version 1.5.0 ?

    PDF3D Version 1.5.0 Release now adds the following additional features.

    1. Interface Policy: Interfaces are now supported. In earlier versions they were mearly examples. Source is no longer supplied, without specific arrangements.
    2. Image File loading. JPEG, PNG, BMP, TIFF. format images may now be loaded directly from file, using PDF3DImageLoader class. (Note there is no support monochrome bmp format, only RGB bmp. All other types can be color or monochrome.)
    3. Interface Support service routines, refactored into common services in PDF3D-SDK API, rather than locally in each interface. These include class PDF3DIntermediateScene, PDF3DIntermediateModelData and PDF3DIntermediateModel classes. New reference documentation added to explain parameters to interfaces.
    4. VRML Interface Improvements:
      • Interface improved model conversion, file parsing, where vertex positions are specified in scientific notation.
      • Image Loading, for VRML nodes, now uses PDF3DImageLoader class
      • Dynamic decompression of gzip WRL files on loading, no need to uncompress first.
      • 3D Label Dynamic "billboarding" behavior support.
      • FixVRMLFileAndLoad() bug fix, affecting certain WRL files.
      • VTKRenderWindow2PDF_Ext() now available, with extended argument list for output page options.
      • Command line VRML_to_PDF3D how has dynamic labels enabled by default.
    5. Coin3D Interface Improvements:
      • Updated to use Coin3D version 2.5.
      • now processes textures with alpha-channel information.
      • for VRML nodes, now uses PDF3DImageLoader class for textures
      • Coin3D SceneViewer example, new interactive GUI example, using Coin3D SoWin MFC classes, loads IV files with PDF3D export though menu dialog and progress bar.
      • Gzip decompression for WRL file loading
      • Node names such as "1" now allowed, although strictly not allowed in spec.
      • Default font set to Arial.
      • 3D Label Dynamic "billboarding" behaviour support.
      • Warninings if texture is not loaded are suppressed.
      • Model tree node names preserved.
    6. U3D Modifications - internal updates to libIFXCore.so / dll and related libraries.
    7. CMAKE: cmake-2.7.20080428-win32-x86 now included and required over previous version 2.4.3. This dependency is due to both internal library changes and VS2008 platform build requirements.
    8. LM-X floating network license server on Linux, bug-fix improvements.
    9. PDF layer update, embedding improvements. New version of podofo.dll, allows injecting on pages with JPEG images, etc.
    10. VRML2PDF3D utility now has option to show PDF on completion. This utility is now more or less redunant, we recommend using the PDF3DConverter application intead. This may be withdrawn entirely in a future release.
    11. Intermediate Storage classes, new addition, PDF3DIntermediateModel(), allows simplification to coding many types of interfaces. These classes are now used by VRML, Coin3D, Open Inventor, STL interfaces. A form of these functions were previously local to each interface. Now this code is refactored into common services in PDF3D-SDK API, rather than locally in each interface. These include class PDF3DIntermediateScene, PDF3DIntermediateModelData and PDF3DIntermediateModel classes.
    12. Polygon Tessellation. PDF3DPolygonTesselatorXZ and PDF3DPolygonTesselator classes are added, appropriate where large concave polygon data types must be triangulated. This is currently used on VRML files, for instance, were IndexedFaceSet has larger polygons than triangle types.
    13. OEM License Activation macro now centralised at include/PDF3Didxm.h, OEM customers now receive pre-configured OEM source.
    14. PDF3DConverter interactive application, now replaces VRML2PDF3D application, handling multiple file types, including WRL, STL, IV. This GUI dynamically configures available file type conversion based on runtime DLLs. (Windows ONLY)
    15. STL_Interface now has preset mesh color, rather than randomly selected color. The internal implementation has been re-written to use the intermediate storage classes. Previously there was an error in the way model name was processed from the file, this is now fixed.
    16. Open Inventor interface removed from distribution. Available on special request basis.
    17. PDF3D License Utility updated to show current software build details, full path of license file. Note also placement of license file has changed with this release, will always be placed under PDF3D_ROOT, unless you set environment variable PDF3D_LICENSE_PATH. If you set this explicit path you will need to move your license file to this place or request a new license.
    18. MS Visual Studio 9 (2008) support, excluding LMX license version.

    What's new in PDF3D Version 1.5.0 - LINUX platform?

    PDF3D Version 1.5.0, running on Linux, has the following platform-specific notes. Please see addition LINUX platform page.

    1. Linux platform Requirements are Centos 3.9 / Red Hat Enterprise Linux 3.9, Ubuntu 7.1.

    2. Interfaces supplied on Linux now includes AVS/Express interface, Coin3D 2.5 Interface, STL Interface, VTK_Interface. The VRML interface is currently not available on Linux, and is planned for a future release.

    What's new in PDF3D Version 1.4.2 - LINUX platform?

    PDF3D Version 1.4.2, running on Linux, has the following platform-specific notes. Please see addition LINUX platform page.

    1. Linux platform Requirements are Centos 3.9 / Red Hat Enterprise Linux 3.9, using gcc 3.2.3 C++ compiler environment.

    2. Binary path is PDF3D-SDK/bin, rather than PDF3D/bin/release
    3. Licensing option is based on floating network server option "LMX". See PDF3D-SDK/lm-x/linux/enduser/ for details.
    4. A subset of interfaces are currently available on Linux compared to Windows. The subset is currently:
      • AVS_Interface
      • STL_Interface
    5. PDF3DSphereMesh class is not functional on Linux, please temporarily avoid using Sphere Glyphs.
    6. Label fonts are set to a single default font unless you explicitly load a TrueType font, whereas Labels pick up native Microsoft Windows fonts on Windows platform.
    7. AVS_Express module UI layout has clipped text due to platform specific layout changes.
    8. AVS_Express 3D label text is currently not implemented, text labels are ignored.
    9. AVS_Express textures must be 32-bit, single byte with lookup mode is not supported.
    10. AVS_Express 7.2 "linux_el3" install is required for RHEL3 linux development.
    11. CMAKE is not provided - please obtain and install this from www.cmake.org

     

    What's new in PDF3D Version 1.4.2 ?

    PDF3D Version 1.4.2, Release now adds the following additional features.

    1. TRIAL Version Limited Source code. The trial & full versions include both binary and source code for interfaces. However, starting with 1.4.2, only a subset of interfaces are supplied in source code form. This subset is AVS_Interface, STL_Interface, and VTK_Interface. Please contact the company if you are evaluating other interfaces. Pre-compiled binary examples are supplied for most interfaces in all versions.

    2. VRML2PDF3D interactive program with user interface. To allow easy evaluation and testing, we now supply a full GUI based application for converting VRML models to 3D PDF. This allows most of the parameters normally set by command line arguments or dll arguments to be set interactively. The new program may be launched directly from the Start menu.

    3. Microsoft Visual Studio 2005 update to SP1. SP1 is now REQUIRED to build and run on Windows. If SP1 is not installed, the installer will provide "vcredist_x86.exe" installer for Microsoft redistributable runtime files. This will allow precompiled binaries to run for evaluation and test purposes.

    4. "String" symbol change. REQUIRES APPLICATION SOURCE CHANGE. We have found that one of the API defined symbols "String", sometimes clashes with the same symbol defined in other existing applications. We have now redefined this symbol, so if you are using it, please adjust your source to now use "PDF3DString".
    5. CMAKE installer added. As most of the examples and interfaces require CMAKE during the build procedure, we now distribute CMAKE as part of the install package, to avoid the need to find, download and install this separately.
    6. VRML_to_PDF3D has additional parameters to specify title, caption, page size, margin layout, and injection of 3D view into existing PDF documents.
    7. AVS_Interface PDF document error fix. In previous versions an "error in document" occured in the Adobe Reader on PDFs generated from the AVS_Interface. This was a small problem in the annotation preview image attributes, now corrected.

    8. AVS_Interface general feature additions, improvements. The module inteterface is now signficantly upgraded to allow many new features:
      1. AVS/Express 7.2 compatibility
      2. MicroAVS kit compatibility and examples
      3. Improved scene capture, now handles more entity conversions
      4. Insert at arbitrary page number in existing document
      5. Embed (inject) 3D viewport onto existing PDF page
      6. Title text over top of 3D viewport
      7. Caption box text floating underneath main 3D viewport, with multi-line text.
      8. Texture images now allow alpha-blending mode, user controlled mode.

       

    9. 32-bit Texture Image support, with alpha-blending in the Adobe renderer. Images can now be either 24 or 32 bit depth. The extra byte is interpreted as variable transparency per pixel in the texture.
    10. Coin3D_Interface improvements, now packaged as DLL and scene node class access, allowing for integration into existing Coin3D applications. Command line utility for IV to PDF3D now has options matching VRML converter.
    11. Widget Classes - now allow buttons, toggles and choice lists to be added to PDF page. Dynamics may be specified to control rendering in 3D viewport.
    12. New WidgetTest example showing how to add buttons with actions for the 3D scene, with sample PDF file included in the "sample" directory.
    13. Open Inventor interface - major update. Added scene node classses, HelloCone and SceneViewer integration examples.
    14. VTK_Interface major update. Now based on VTK 5.0.2. Packaged as command line converter and dll.
    15. vtkPDF3DExporter class. Now converts directly from current renderWindow, similar to other export classes.
    16. VTK terrain with texture rendering example added, showing export from VTK of textured surfaces.
    17. 3D Labels. New PDF3DLabelModel uses alpha-blending and True Type fonts to place text labels in the 3D scene. These may be oriented and controlled like glyphs. Text may be normal ASCII or Unicode. An example application "LabelText" shows them in operation, including Kanji Japanese font support.
    18. Label Dynamics class. A new PDF3DExporter::SetLabelDynamics() class enables runtime billboard effects, where labels are transformed to be oriented toward the camera.Note, is only effective if viewer is using Adobe Reader 8.1
    19. LM-X Floating Network Server option. For enterprise customers, a new floating network licensing system in introduced. Please contact the company for more details. A new alternative license utility is provided, PDF3DLicense2.exe, plus files in the PDF3D-SDK\lm-x directory. A separate install package is provided to users of the LM-X option.
    20. Powerpoint PDF Viewer add-in, allowing interactive 3D PDF files to be shown in PowerPoint presentations. This involves installing a free 3rd party tool "LiveWeb" during the installation procedure. A sample PowerPoint demonstration is included in the "samples" directory. The installer for "LiveWeb" is included with permission of the author and may be distributed to users without license or payment..
    21. DrawText() bug fix for hyphens. If the input text contained a hyphen (-), DrawText() would previously output the text without the hyphen.
    22. PDF3DPDFOptions Producer field can now be freely set to any user string.
    23. Background Color to 3D scene, if using automatic centering default view, will inherit background color from user specified settings or 1st custom view point. Previously all backgrounds were black if automatic default view was enabled.
    24. Bold, Italic 2D fonts now available through optional arguments to exporter SetCurrentFont().
    25. SetPageOrientation() now allows user specification of horizontal or vertical layout (landscape).
    26. HyperLinks in 2D Text. A new class PDF3DHyperLinkWidget() allows specification of arbitrary text with a URL link to be placed on the 2D page, similar to other widget objects.

    What's new in PDF3D Version 1.4.1 ?

    PDF3D Version 1.4.1, Release now adds the following additional features.

    1. DefaultView & Zoom Factor fix. The computation for default view based on bounding box of object and zoom factor adjustment has now been fixed, previously unexpected views would sometimes occur on objects with large Z extent.

    What's new in PDF3D Version 1.4.0 ?

    PDF3D Version 1.4.0, Release now adds the following additional features.

    1. Inject 3D View into existing Template PDF page. New SetCurrentPage() method allows placing a 3D view window onto an existing page within an existing PDF document. This can be used to set up a report Template, then dynamically add content. This should be used in conjunction with PDF3DExporter::Update mode. Document is modified inplace.

    2. Legend Class: new class allows generating discrete or continuous legend bars on the same page as the 3D view.
    3. AVS_Interface for Viz Express: The AVS/Express interface is now upgraded for operation in both visualization edition and developer edition configurations.
    4. Improved PDF Document Structure: major revision of PDF document handling layer means better compatibility and interoperability of PDF files. New facilities are based on the PoDoFo library, which is supplied as an extra DLL. This DLL will need to be added to your existing projects.

    5. Memory Reporting: U3D Memory resource monitoring classes now available for performance tuning. converter.SetMonitorU3DLibMemoryUsage(true)
      converter.GetU3DLibMemoryUsage()
      converter.GetU3DLibMaxMemoryUsage()
    6. VCT Mixed Color & Grayscale. The VCT color system now includes support for vertex color meshes where some vertex colors are saturated primary colors and others are monochrome grey scale. This is the new default behaviour for VCT.
    7. VRML_to_PDF3D: New interface for converting either VRML 1.0 or 2.0 WRL files to 3D PDF as a command-line utility.
    8. STL_to_PDF3D: New interface for converting STL (Stereo-Lithography) surface files to 3D PDF, as a command-line utility.
    9. 2D Text & Graphics classes for mixed 2D and 3D content on page (based on PoDoFo).
    10. Improved Return Values. A number of API classes now return bool status returns rather than void, allowing error checking and reporting.
    11. Doublesided Rendering control through API. Formerly, users had to hand-select doublesided rendering. Now a new API flag can be set to control this when the 3D view opens. Conversion Manager: SetDoubleSidedRendering (true). This is enabled by default, and will work in Adobe Reader 8.1+. However, will not produce error messages in previous versions.
    12. DefaultView Zoom Factor: new API allows setting the automatic default view creation to allow objects to fill the view. converter.SetZoomFactor(zoomFactor)
    13. PDF3DLineSetAccessInterface - put back previous behavior after incorrectly applied bug fix in version 1.3.1, note that PDF3DLineSetAccessInterface::GetVertexColor() now accepts colors as RGB colors, whereas version 1.3.1 required BGR.
    14. DrawImage: A new API call is available to draw a user-specified RGB image onto the PDF page, allowing further annotation. PDF3DExporter::DrawImage(...)
    15. PDF output Page Size: page size can now be specified by using a number of presents, such as { A4, B5, Letter, Legal, Executive, A0, A1, A2, A3, A5, A6, A7, A8, A9, B0, B1, B10, B2, B3, B4, B6, B7, B8, B9, C5E, Comm10E,
      DLE, Folio, Ledger, Tabloid }
    16. PDF embedded JavaScript: SetJavaScriptFromFile() API now allows developers to attach external java script files to the PDF page. A small javascript that rotates the scene, adds background, and grid is included in examples.
    17. OEM configuration update, new methods specific to OEM customers. Technical note available on request.
    18. License Utility now reports full library version, build and type information. In trial versions, license Transfer is disabled.
    19. Title String option, will add a title over the 3D viewport with user-specified text (see options.SetCaption("my title ") and options.SetDrawCaptionBox(true) new methods in Export options class).
    20. DrawText - new multi-line wrappable text with optional box enclosure, allows captions and other annotations to be added to the PDF page. See DrawText() class.
    21. PDF Text and 2D Graphics Example. New example shows techniques for drawing text strings in various fonts, colors, sizes and locations, as well as lines, boxes, circles, ellipses. Look for PaintOperations directory.
    22. Licence File Path: can now be specified to a user specified location, by setting "PDF3D_LICENSE_PATH" environment variable.
    23. Manual: 4 new chapters, covering Generating technical reports, Injecting 3D views into existing PDF documents, the AVS_Interface, the STL_Interface, and the VRML_Interface.
    24. License Utility: now reports actual library edition, version and build tag during show-license operations, to help users identify their version.
    25. New ReportExample: new source code example illustrates how to generate a PDF page including a 3D view, title, caption and legend.
    26. AVS/Express 7.2 compatibility: AVS_Interface is updated and validated for use on AVS/Express version 7.2

    What's new in PDF3D Version 1.3.1 ?

    PDF3D Version 1.3.1, Release now adds the following additional features.

    1. Glyph Documentation: new documentation added to make it clearer how to use these classes.

    2. Texture Interpolation Edge Effect: Automatic correction factors to compensate for Adobe DirectX texture coordinate addressing is now included, taking care of 1/2 pixel offsets at the edges of texture images.

    3. PDF3DLicenseInfo: A new set of classes are added for retrieving version and build information from the PDF3D-SDK Library.

    PDF3DLineSetAccessInterface::GetVertexColor() now accepts colors as RGB colors. Formerly it used to accept colors in BGR format, but the new code accepts colors in RGB format. Please change your code to adjust to this change.

    What's new in PDF3D Version 1.3.0 ?

    PDF3D Version 1.3.0, Release now adds the following additional features.

    1. GlyphTest Example: new source example demonstrates new glyph object classes.

    2. Default View - Examples now use automatic default view to centre objects in viewport, on by default.

    3. CMAKE configuration files updated, improved build configuration control

    4. AVS_Interface, miscellaneous GUI improvements.

    5. Default View Method: Further improvements to algorithm used by Default View class, using bounding spheres

    What's new in PDF3D Version 1.2.2 ?

    PDF3D Version 1.2.2, Release now adds the following additional features.

    1. Open Inventor Interfaces: PDF3D now comes bundled with examples that demonstrate how Open Inventor can be interfaced with Open Inventor to import IV and WRL data files into 3D PDF files. Since Open Inventor can parse both VRML 1.0 and VRML 2.0 files, the Open Inventor Interface can convert VRML 1.0 and 2.0 files into PDF. The new interface is based on Mercury TGS Open Inventor 6.0 C++ Library. Note: The Open Inventor interface is an optional extra package, not bundled with the PDF3D-SDK. Please contact the sales for more information.

    2. Updated Coin3D interface to use Coin3D Library version 2.4.6, correcting WRL transformation problems.

    3. Revised PDF Attributes to PDF-1.6 specification, allowing viewing by both Adobe Reader 7.0.8 and 8.0.

    4. Corrected Vertex Colour issue with line segment primitives, where colour was chromatically reversed.

    5. New Glyph classes, geometric entities with placement and orientation composed of simple 3D objects such as cube, sphere, arrow, cylinder, axes, etc.

    6. Default View class, automatically creates a reasonable default view based on bounding box of objects, with good centring of objects in view and default mouse rotation controls.

    7. Shading Model, Pre-PDF, when VCT (vertex colour treatment) is disabled, vertex colours are now processed using a Phong illumination shading model, whereby 3D objects achieve shading and lighting appearance, set at the time of PDF generation rather than at runtime in the Adobe Reader.

    8. Memory Usage Statistics, new classes enable tracking of memory usage during conversion and processing, useful in application profiling during development.

    9. VCT Shading Improvement, corrections and improvements to VCT colour treatment, whereby colours are more saturated, less pastel, softened appearance in the Adobe Reader.


    What's new in PDF3D Version 1.2.1 ?

    PDF3D Version 1.2.1, Release now adds the following additional features.

    1. Coin3D Interfaces: PDF3D now comes bundled with examples that demonstrate how PDF3D can be interfaced with Coin3D to import IV and WRL data files into 3D PDF files. Since Coin can parse both VRML 1.0 and VRML 2.0 files, the Coin Interface can convert VRML 1.0 and 2.0 files into PDF.

    2. 3DS converter using VTK Interface: PDF3D now comes bundled with examples that demonstrate how PDF3D can be interfaced with VTK to import 3DS and VTK PolyData files into 3D PDF files.

    3. Support for Grouping Models: PDF3D now provides methods to group models into different categories so that Adobe Reader's Model Tree can show it.

    4. Support for Solid Text: PDF3D now provides a PDF3DSolidTextInterface class using which developers can now include text strings rendered as solid text models in the scene.

    5. Support for Adobe Reader 8 as well as 7: PDF3D now supports both Acrobat Reader 8 and 7.

    6. AVS/Express Interface: PDF3D now showcases a AVS/Express Interface that you can compile and use with AVS/Express to export AVS/Express scenes to 3D PDF documents.

    7. Multiple Model Types in a single scene. With PDF3D 1.2.1 you can now export multiple model types into a single scene. For example you can now have line sets and triangle meshes within a single scene.

    8. Render Mode and Lighting Scheme Specification: With PDF3D 1.2.1 you can now specify render mode and lighting schemes.

    9. Enable/Disable VCT Switch: With PDF3D 1.2.1 you can now at run time choose to enable and disable Vertex Color Textures.

    10. Color and Grayscale VCT Modes: You can now choose between color and gray scale modes for VCT.

    11. Quality Control: PDF3D now provides quality control settings to control the quality of conversion. Using this you can get robust conversion of line sets without any distorsion.

    12. Page Layout and Margin Controls: PDF3D now supports laying out the viewport accurately on the 3D PDF page.

    13. New Color Table Mapping mechanism for Vertex Colorted Textures to help better vertex colored textures.

    14. New .Net Wrapping Example now shows how PDF3D (and modules written using PDF3D) can be wrapped in .Net and used from within C# Programs.

    The converters supplied as examples use open-source libraries to import file formats such as .3DS, .WRL, .IV, etc. These libraries come with their own set of limitations. At present these converters ignore texture attributes and may introduce artifacts during triangulation. Please report any issues you find with these converters for future possible improvements.

    What's new in PDF3D Version 1.2 ?

    PDF3D Version 1.2, Release now adds support for more data types.

    1. LineSet Interfaces – With PDF3D you can now export line sets into PDF and U3D.

    What's new in PDF3D Version 1.1 ?

    PDF3D Version 1.1, Release brings a whole new set of features to the table. This section outlines the new features

    1. ZLIB Compression – Binary streams in the generated PDF files are now compressed using ZLIB compression. This largely reduces the size of the generated PDF files.

    2. New Installer – The new NSIS based installer now provides a more robust installation mechanism. PDF3D is now packaged within a single installer program.

    3. VCT [Vertex Colored Texture] – VCT is a new technology from PDF3D that enhances vertex colored model's appearance in PDF files.

    4. Prepend/Insert/Append 3D PDF Pages into existing PDF documents – PDF3D now provides easy to use APIs using which you can insert 3D PDF pages into existing PDF documents.