What's new in PDF3D Version
2.1.1 (released only as BETA or special patch)
- Coin3D_Interface
- Added support for shininess,
emission material properties
- Added new methods to SoWriteSceneToPDF3D
class - SetPRCDoubleSidedRendering() method and SetOutputFormat()
method. Please see documentation for the details
- VRML_Interface
- Added support for shininess,
emission material properties for VRML format
- Deprecated status, please
migrate to Coin3D_Interface if at all possible.
- OSG_Interface
- Fixed memory leak by using
smart pointer (osg::ref_ptr)
- Added preserving shininess
parameter
- VTK_Interface
- Added preserving shininess
parameter
- Added AVS UCD file format
support
- Added support for exporting
spreadsheets to PDF tables
- Added support for encryption
- Added support for non poly-data
data objects by exporting output of SurfaceFilter filter
- ParaViewPlugin
- Added support for exporting
spreadsheet view to PDF table.
- Added Update dialog for double-checking
when output file already exists.
- Improved error reporting
- Added encryption support
- Added support for exporting
all ParaView views (as 3D / 2D scene, screenshot or table)
- Added support for non poly-data
data objects by exporting output of SurfaceFilter filter
- Added exporting 2D views
to PDF3D with special navigation constraints
- Added full legend labels
when 3 decimals are not enough precise
- Added support for ParaView
3.10.1 scalar color map scheme
- Added support for exporting
all ParaView views at once (on multiple pages)
- GRD_Interface
- Fixed header format variation
for ZMapPlus grids
- 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.
- Added Wavefront OBJ output
format to TIN mesh generation
- Added LAS (LiDAR point cloud)
input file format support
- Corrected axes extent in
case of long thin grids.
- XmlServer
- Added DrawText rotation,
Draw2D lines, filled areas, curves, arcs
- Memory leak corrected
- Added new tags for shininess
value and emission color: EmissionColor and Shininess tags
- Added new tags for PDF keywords
- Added new tags for data table
- Added DrawHyperLink tag,
also restructured so that the order of defined draw opearation is done
as entered in the document.
- Added support for custom
default views of 3D models.
- Fixed default value of insert
north compass flag.
- PDF3DReportGen
- Added PDF3DMerge command-line
utility to install package
- Added -silent command line
argument for script-type conversion
usage: PDF3DReportGen -state filename.xml -silent interface_description
- Added PDF keywords support
- Added Wavefront OBJ output
format to TIN mesh generation
- Added LAS input file format
support for binary LiDAR data
- PDF3DReportGen starts license
utility correctly on Linux x64
- Added support for document
security encryption, up to AES128
- Removed VRML interface for
VRML files, Coin3D interface used instead
- 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.
- 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.
- PDF3D-SDK's Installer
now supports two installation modes: for current user and for all users.
- LMX license server, PDF3Dlicense
utility, hostid modification change, allowing fixed local license configurations.
- 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.
- 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.
- PMI, GD&D Annotation
for 3D objects added (supported in PRC, PRC-HCT only). C++ API now available.
- PMI examples for Access
Interface and Intermediate Storage added as source examples using new API.
- VCT bug fix (always disabled
VCT mode).
- PDF3DLineSetAccessInterface
& PDF3DLicenseInfo declaration and definitions fixed.
- LandRover usage changed
over to use Coin3D_Interface.
- Cmake macro added: PDF3D_LINK_LIBRARIES_TO_PROJECT_CUSTOM,
which does not modify the project output path.
- AES Encryption support
is added. Now you can produce AES-128 and RC4-128 encrypted PDFs. Changed
PDF3DExporter::SetEncryptionOptions() method.
- PDF management layer updates,
internal tag structure fixes.
- 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 ?
- PDF3DReportGen
- Internal memory handling
improvements.
- Improved memory efficiency.
- PDF3DReportGen improved to
avoid loading debug configuration interface dlls.
- Added CPack installer generation
directives
- Added RPM generation for
Linux
- Improved Linux Qt .so runtime
packaging
- Added sessions support in LMX
license version
- AVS_Interface
- AVS/Express Interface, now
supports version 7.3, Win64, pc10_64 platform.
- AVS_Interface updated for new
DrawImageScale() API changes
- AVS_Interface added triangle
connectivity saving algorithm (for sub-meshes), preserving original AVS
connectivity for solid contours, greatly improving PRC-HCT encoding.
- Layout improvements for 3D
plus large tables.
- UI panel layouts improved for
Linux, Win, added encoding method UI parameters.
- ParaViewPlugin
- Improved reporting of missing
license
- Improved Settings dialog
for setting PDF3D parameters
- Improved Linux CPACK
directives
- Added exporting of non-3D
scenes as screenshots
- Added specifying border line
and colorbar margins
- Added Plotting parameters
group with border line and colorbar parameters
- Added specifying annotation's
section and editing parameters
- Added Sections parameters
group with section's rectangle, name and docking parameters
- Added plugin's Python interface
- Added saving (loading) PDF3D
parameters to (from) state file (.pvsm)
- Added Python examples
- Added loading layout parameters
for annotations from .pcfg xml file.
- Added sessions support in LMX license
version
- Added PDF/E compliance and
PDF keywords
- VTK_Interface
- Added border-line and customized
colorbar
- Added sections support
- Added PDF/E compliance and
keywords
- Coin3D_Interface
- Improved memory exception
handling for Coin3D interfaces.
- COIN3D_to_PDF3D.exe
utility default settings for UseOriginalNormals changed to false.
- VRML_Interface
- Improved memory exception
handling for VRML interfaces.
- Fixed memory leaks in VRaniML
library.
- Improved speed of VRaniML
library which is used in VRML_Interface (just used another buffer increase
policy)
- VRML_to_PDF3D.exe
utility default settings for UseOriginalNormals changed to false.
- XmlServer
- Added CompressionFormat,
ToleranceType and ToleranceFactor parameters
- Added PDF/E Compliance factor
- 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.
- QT user interface system
is upgraded to 4.7.1.
- Microsoft Visual Studio 2010
support is added, including pre-compiled binaries, in both 32 and 64-bit builds.
- 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
- LMX floating license server
updated, license files may show hostid information in clear text.
- LMX floating license server
now available on Windows XP/Vista/7 x64 editions.
- Link rules modified, -lcodedata
no longer required in LMX configurations.
- LMX session API added
for application management
- Windows installer new
configuration page added, allowing explicit selection of which compiler runtime
support to install.
- 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.
- PDF3DImporter::SetInputFileName()
null input argument change.
- CMake version updated
to 2.8.3, not longer shipped inside installer, launches external download
install from cmake.org website.
- SetVisibility, GetVisibility
for scene graph nodes added to IS and AI classes.
- Texture loading file cache
has been added to Coin3D_Interface & VRML_Interface.
- Added PDF3DMeshInterfaceImplementation
support for SetTextureHash() method.
- Added PDF3DConversionManager::SetPRCDoubleSidedRendering()
API, only available in PRC or PRC-HCT encoding modes.
- Added CPACK option configuration
blocks into all interfaces, enabling local single application installer generation.
- Improved IntermediateStorage
memory efficiency.
- Improved IntermediateStorage:
PDF3DIntermediateModel class to correct corrupt connectivity special case
where negative index values are found (GOCAD).
- Filename changes from
PDF3DCoinDebugInterface.dll to PDF3DCoinInterfaceD.dll.
- Microsoft Visual Studio 2003
.NET core library build restored (customer special on request only).
- Intermediate Storage class,
implemented new remove all degenerate triangles method. PDF3DIntermediateScene::PrepareForConversion(),
and PDF3DIntemediateModel::RemoveAllDegeneratedTriangles() API now available.
Computational cost is approximately O(n).
- Added PDF3DExporter::Set3DActivationMode(),
PDF3DExporter::Get3DActivationMode(), PDF3DExporter::Set3DDeactivationMode(),
PDF3DExporter::Get3DDeactivationMode() new API methods for 3D annotation activation
and deactivation policy.
- Directory structure of PDF3DXmlServer
.NET examples is improved.
- 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.
- Added support for rotating the
text in the extended version of PDF3DExporter::DrawText(), PDF3DExporter::DrawTextUTF8()
and PDF3DExporter::DrawUTF16()
- Added support for adding links
to external URLs using PDF3DExporter::AddLinkToURL()
- Added support for adding internal
links using PDF3DExporter::AddLinkToDestination()
- Added support for specifying
per-mesh specific VCT modes and usage (by overriding PDF3DMeshAccessInterface::GetUseVCT()
and PDF3DMeshAccessInterface::GetVCTMode())
- 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
- 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.
- 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
- Added support for texture file
reference mode to PDF3DTexture class.
- 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.
- Added example DelphiWrapper,
generating an intermediate DLL which can be called from another compiler,
specifying access interface call-backs.
- Added PDF3DMerge utility
for combining 2D and 3D PDF files, adding bookmarks, footers, composite document
keywords.
- PRC-HCT numerical rounding
correction, fix for certain type of large mesh (int overflow).
- PDF3DTableCreator correction
when first page top margin pushes start of table onto second page, spurious
border lines removed.
- PDF3DTableCreator URL
cells added, using "name||URL:link" syntax.
- 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.
- Added virtual destructor to PDF3DLegendInterface
for avoiding memory leaks.
- Keylib fixed license (trial
evaluation, full) controls, corrected for Win7 x64 code generation and activation.
- Keylib component revision
updated to 4.6.0.4, improved Win7 operation.
- Mouse3Dprobe updated for
correct operation on Adobe Reader X (version 10).
- 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.
- 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 :
- Disable, for normal 3D selection
and navigation
- Single-click mouse 3D probe,
shows 3D position coordinates at pick site.
- Two-click distance probe,
shows two arrows and joining line, reports distance between picks.
- Three-click angle probe,
shows angle between two edges formed by three successive mouse probe selections.
- Two-click slope and azimuth
measurement, reports Z gradient of line segment, and XY azimuth angle
from North.
- Mouse Probe custom formatting,
numerical pre-processing APIs added for detailed application controls
- 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.
- PRC encoding transparent
surface internal corrections improved visual quality for many models.
- DrawTextUTF16 return status
value corrected.
- GRD_Interface
- added Arc/Info TIN NET (.net)
triangle mesh export format
- improved ESRI ArcGIS ASCII
Grid import, now parses header xllcorner, xllcenter keywords
- Added support for ZMapPlus/ZCOR
.DAT ASCII grid files
- Surfer v8 ASCII Grid file
loading correction, row/column reversal
- Added TRI format TIN output
for CADCORP.
- PDF3DReportGen
- Added PDF/Engineering compliance
toggle
- Added GRID tab Tin export
format for TIN NET
- Added support for ZMapPlus/ZCOR
.DAT ASCII grid files
- Fixed transparency merging
bug
- Added launching command-line
loading of state, such as: "PDF3DReportGen.exe -state my_saved_state.xml"
- Added separate dedicated
release notes page
- Added TRI format TIN output
for CADCORP
- Added layering direction
vector for exploded view into menu.
- VTK_Interface
- Added rectilinear data type
support
- Legend correction for spurious
topmost color out of range.
- Added center of rotation
for vtk View.
- ParaViewPlugin
- Input directories now preserved
between sessions in file browsers.
- Added support for off-screen
rendering, i.e. without client, by removing dependency on server manager
parameters.
- Packaging directives improved
for Linux.
- AVS_Interface
- Added 2D view image magnification
controls and UI, added 3D encoding method UI, added PRC-HCT tolerance parameter
- Solid contour sub-mesh generation,
added local IS Weld option for improved PRC-HCT
- OSG Interface
- Added center of rotation for
custom view.
- COIN3D Interface
- Added CoinDebugInterface into
distribution
- Corrected scene graph methods
for improved capture.
- PDF3DViewAccessInterface::GetCenterOfRotation()
added,
added PDF3DIntermediateCamera::GetCenterOfRotation(),
added PDF3DIntermediateCamera::SetCenterOfRotation().
- 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);
- MS Visual Studio 2003
configuration, various porting adjustments (on special request only)
- Driver layer U3D/PRC methods
restructured
- Log message system improved,
expanded for automatic cache system
- Adobe Version 9 warning
dialog if loading PRC 3D scene, presents message dialog.
- Template PDF injection,
corrected possible crashes due to PDF/E metadata conflicts with existing file.
- 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.
- BMP image monochrome format
added (previously only supported full colour)
- RGBA (image + alpha transparency
mask) support added for drawing images onto 2D PDF layer, through PDF3DExporter::DrawImage()
and PDF3DExporter::DrawImageScale() methods.
- JPEG files cannot be added
to PDF page without repacking, preserving original JPEG quality settings without
alteration, or any additional losses.
- 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.
- PDF3DImageLoader has new
virtual functions, such as PDF3DImageLoader::FreeImage();
- 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).
- Intermediate Storage,
fixed internal memory handling bugs..
- U3D
internal files removed from distribution
- PRC (pure, uncompressed)
color per vertex mode correction
- 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.
- PDF3DReportGen PowerPoint
page layout now default in page size menu, new option added to preset page
sizes in PDF3D-SDK Exporter Enum types.
- "Model" interface,
PDF3DModelInterface classes now deprecated, no longer available. API
has changed!
- VRML2PDF3D (MFC-based)
program removed, is now functionally replaced by PDF3DReportGen. (was in VRML_Interface/Examples/GUI)
- 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.
- LayersExample example added,
shows how to export scenes with multiple layers and to control layers by using
Layers controls.
- U3D data structure library
revision upgrade, now derived from version 1.2.851.0. (v5)
- 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
- IFX_INIT_GUID #define
no longer needed, should be removed from application programs. API
has changed!
- 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.
- 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!
- Grouping Node design improvement,
reduced memory, degenerate invisible triangle no longer needed, work-around
removed.
- PDF processing sub-system
podofo.dll memory leak fixes.
- 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.
- GlyphTest example, added
Compass mesh.
- ISO Page Sizes extended
list and corrected, for use in selecting preset (PDF) paper sizes.
- PDF3DModelInterface::DoDefaultViewsIgnoreThisModel()
method added, to allow creating special geometric nodes which can be excluded
from the bounding box automated view creation phase.
- Dependency library zlib1
renamed to zlibvtsl, to improve portablility, reduce clashes with 3rd party
systems.
- WidgetTest example correction,
small bug of uninitialised colors.
- 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.
- 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.
- PDF3D-SDK Windows Installer,
added new user-controlled optional section for updating environment variables,
so users can disable if needed, preserving original environment.
- PDF3D3v.h MakeRotationMatrixByDirection
corrections, now takes extra argument to specify vector. API has changed!
- Coin3D_Interface, updates:
- Changed PDF3DCoinInterfaceTest
to COIN3D_to_PDF3D program name for clarity, as it is not a test but a
real utility.
- Improvements for Hierarchical
Group Node Transformation key-frame animation support.
- Improved IV file import
- InvText3 Substution
to improved coverage of text node types
- IndexedTexture2 class
implementation
- SFColorArray class
development added, basic mapping methods
- Framework for custom Coin
classes within interface, does not require any runtime changes to Coin
itself.
- SoWriteSceneToPDF3D
added new example of hierarchy transform animation.
- AVS_Interface updates:
- Group transformations
- Surface and Line color inheritance
- Cell data mesh subdivision
processor
- Improved automated page resizing
for large tables
- Z-Scale controls option
- Layer controls option
- Many more examples added
- Description, help and module
code now documented in main help system
- Viewer2D capture added
- CSV Table module added
- GRD_Interface updates:
- Hillshade pseudo-solar illumination
model
- Greatly expanded command-line
arguments, allows PDF page controls, view injection
- Grid to Tin (Triangle Mesh)
terrain decimation added, decimation by target % or error measures
- DLL re-packaging, allowing
integration with memory grid sources
- XYZ point cloud import and
display (as very short line segments per point)
- IDW Interpolation point cloud
to grid processing with clustering
- Shepard's method interpolation,
without clustering
- External image drape overlay
- DLL wrapping, .NET example
added
- Checks for output PDF write-access
before processing
- Shared vertices support.
- ParaView .xml colormap support.
- VTK Interface updates:
- Added support for following input file formats: .stl, .obj, .wrl, .byu,
.pdb, .ply and .xyz.
- Point cloud files (.xyz), when passed as input file, are exported as
set of short lines.
- Architecture refactored - which implies:
- Software architecture is now similar to other interfaces
- 20+ command line arguments for VTK_to_PDF3D like in other interfaces
- Fully developed scalar datamap textures and sequence animation
examples
- Updated Vtk2Pdf3d routine - now accepts VtkOptions structure and user
has full control of interface (i.e. can set all possible options).
- Graphs mappers are updated - now exporter supports actors with DataSetMapper,
PolyDataMapper and GraphMapper mappers set.
- Checks for output PDF write-access
before processing
- Actor node renaming system, provides way to make PDF model tree names
have meaning.
- Security PDF settings can be set,
- ISO Page Sizes can be set,
- Shared vertices support,
- Expanded Examples with Source code shown:
- VTKAnimationsExample - example samples quadrics with several isosurfaces,
which are then visualized by isocurves moving over half-transparent
isosurfaces.
- VTKLineSetsExample - example shows how to export transparent lines
using VTK Interface, with vtkPolyDataMapper.
- VTKCamerasExample - example shows how cameras properties are exported
using VTK Interface
- VTKMultilightsExample - example shows how lights properties are
exported using VTK Interface
- VTKReportsExample - example shows how elevation bar is added and
scene with set interpolation before mapping is set
- VTKResultsExample - example shows how to export result of complex
calculations using VTK
- VTKTerrainsExample - example exports terrain mesh with heights
generated from passed grayscale bmp / jpg / png file, using vtkDataSetMapper
- VTKWarpingsExample - example shows how to export sequenced animation.
seria of meshes is generated and exported as sequenced animation in
PDF3D using vtkDataSetMapper
- VTKAxesExample - creates axis arrows and rotates them to compose
coordinate arrows.
- VTKTextsExample - example shows how to export scene with vtkCaptionText
objects
- VTKTexturesExample - example shows how to export textured actor
- VTKTransparentTexturesExample - example shows scene with transparent
textured object and exports it to pdf3d
- VTKDotNetExample - example shows how to use VTK Interface by accessing
VTK2PDF DLL routine from C#
- OSG Interface updated
to version 2.8.2, improved node naming reflecting original OSG scene names,
etc:
- Tiled texture "chip"
correction, placement and alignment of segmented meshes and tiled texture
images
- Improved material &
color bindings
- Failures on missing node
name corrected
- GeoNodes + drawables now
named correctly in hierarchy
- Transparency fixed
- Specular materials improved
- Improved source code comments,
variable naming
- Improved error checking
- New examples of hierarchy
animation, text labels
- Separate builds from VS2005,
VS2008, no longer sharing DLLs
- .NET example added
- Checks for output PDF write-access
before processing
- Shared vertices supported
- STL Interface updates,
major revision:
- Vertex welding feature -
Duplicated vertices and near vertices are welded together into one vertex,
with shared connectivity.
- Loading of data from memory
- User can convert array of triangles / per-triangle normals (STL data)
defined in local memory.
- Architecture of routines,
source files refactored to conform to the style of other interfaces OSG
/ GRD / VTK
- 20+ of command line arguments
of STL_to_PDF3D program added
- StlDotNet example - loads
STL data from local memory and converts to PDF3D, C# main
- Before every time-consuming
part, output availability is checked and if non-valid, conversion is canceled.
- Shared vertices supported
- ParaView plugin added
with following features:
- Exports ParaView's scene
from currently active view.
- Exports ParaView's color
bar on right side of PDF document.
- Exports Axes from currently
active scene as axes like in GRD Interface.
- Exports ParaView's animations.
- Refactored Settings Dialog
in File Menu. Now user can specify all options used VTK interface supports.
- Fixed ParaView's axes exporting.
- Text and Media (image or SWF)
annotations support added.
- PDF3DReportGen added following
features:
- 3D Encoding selection (U3D,
PDF3D_RHC, PRC, PRC_HCT)
- Spin control option predefined
rigid body animation
- Gradient Background color
option
- Animations from multiple
selected files
- Choosing default viewing
scheme
- Corrected layout problems
- New tab with GRID Settings
(supported all options from GRID Interface)
- New VCT modes
- New tab icon decoration
- File browsers now allow UNC
"\\machine\path" style navigation
- Added PRC file type option
on output.
- Exporting multiple files in
layers mode.
- PDF3DTableCreator class
updates for large tables requiring additional pages or page width adjustment.
- Spelling & Grammar
corrections in doxygen, headers and error messages.
- Examples/CMakeLists.txt
improvements to allow individual building, as well as in groups
- 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.
- Updated CMake to version
2.8.1 (new platforms, bug fixes), installer provided during Windows install
process.
- PowerPoint Add-in LiveWeb
for 3D PDF presentation support, added PowerPoint 2007-2010 version macro
file.
- 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.
- zlib refactored to name-mangled
internal version, zlibvtsl (lib, dll), link
library list API has changed!
- 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.
- AddDefaultView examples
added into CubeScene example for illustration of new API.
- Instancing API added,
SetGeometryHash, SetTextureHash, for explicit control of object reference
system.
- InstancingExampleAI added
to examples, showing usage of new Instancing API using the Access Interface
method.
- 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.
- 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.
- MixedSurfaceLinesIS added
to examples, showing a simple worked example of a scene with mixed triangle
mesh and lines, using intermediate storage (IS) interface API.
- Windows library linking
dependencies changed, now requires Ws2_32, RpCrt4,
Linking library list API has changed!
- Linux library linking
dependencies changed, now requires
uuid in some cases,
link list API has changed!
- 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!.
- PDF3DViewAccessInterface::ConfigureResourceViewNode(IFXView
*viewNode,
IFXViewResource * viewResource) and the PDF3DSceneInterface::ConfigureRootNode(IFXNode*
rootNode) are removed. API
has changed!
- 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).
- 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.
- 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
- 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.
- 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.
- 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.
- 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().
- 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.
- JavaScript Single Insertion.
Some JavaScripts are now inserted only once, rather than multiple times, resulting
in smaller file size in some cases.
- ICC Color profile srgbprofile.bin
is now embedded into PDF3D-SDK, eliminating need to manage an external resource
file.
- podofo.dll is now removed,
all methods are now part of the main pdf3d.lib library system.
- 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.
- CPACK configurations are
now added into interface CMakeLists.txt, allowing the generation of installers
for individual applications.
- U3D Memory Usage API deprecated,
now returns zero.
- CHM Help (compiled html)
sytem for searchable reference to full API, examples, interfaces (on Windows
platforms)
- ModelToPdf3d (dot net)
interface removed, deprecated.
- PDF3DConversionManger::IsFormatEnabled(Format3D)
method added, allowing applications to check which encoding methods are available
at runtime, for GUI configuration control, etc.
- PDF3DConversionManager::SetCreaseAngle()
method added, for non-stored normals interpretation, threshold angle for when
normals should be smoothed or sharp edges preserved.
- 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
- Redhat Linux 3 (RHEL3.9,Centos3.9)
is now frozen, last release was v1.10.0, no further releases are planned,
removed from release.
- Windows2000 is now frozen,
last release was v1.10.0, no further releases are planned.
- Visual Studio 2003 (32-bit)
is now frozen, last release was v1.10.0, no further releases are planned,
removed from release.
- DrawTextGetLineHeight, DrawTextGetLineWidth
methods added to PDF3DExporter class, for the purpose of computing text layout
prior to drawing.
- PDF3DTableCreator and PDF3DTableOptions
classes added to support formatting and generation of CSV style tables.
- TableToPdf example added,
converting simple CSV file to a formatted table on the PDF page.
- PDF3DConversionManager
memory reset issue resolved after conversion.
- PDF3DExporter Memory Release
after write improvements, additional memory cleanup added to Reset() method.
- Compass Mesh glyph type
added, for creating orientation axes in geospatial applications. See PDF3DCompassMesh
class.
- SetGeospatialNorthCompassSystem()
method added to PDF3DExporter class, which adds PDF dynamics to keep compass
in fixed position and respond to rotations only.
- XML NorthCompass control
tags added for PDF3DXmlServer.
- 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
- 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.
- Intermediate storage ConversionRunner
corrected to allow for correct OEM license operation.
- SoWriteSceneToPDF3D Coin3D
Interface example, corrected to allow for correct OEM license operation
- 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.
- Updates to PDF handling
library to latest patch level, improved PDF document parsing, misc. fixes.
- OpenSceneGraph (OSG) OSG_Interface
layer major upgrade, improved support for lights, cameras, materials, text,
more stability.
- GOWLegend example added,
showing simple colour-filled boxes and text for a typical Gas-Oil-Water legend.
- Adobe Toolbar button-by-button
enable/disable control, set current tool API methods added.
- XML Adobe Toolbar button
by button and set current mode tags added for PDF3DXmlServer, sample XML files
added.
- PDF3DXmlServer DLL search
path for interfaces on Windows now checks local server exe location.
- Title strings with long
lines that wrap no longer overlap 3D view window, as top margin is adjusted
automatically.
- PDF page layout helper
methods added; DrawTextGetMultilineHeight(), DrawTextUTF8GetMultilineHeight(),
DrawTextUTF16GetMultilineHeight(), DrawTextGetLineHeight(), now part of PDF3DExporter
class.
- Exclude from Bounding box
calculations mode to named node method added, for use by NorthCompass, etc.,
using new API method Mesh Interface SetIgnoresDefaultViews()
- PDF tag compliance, updated
preview image AP->N to XObject tag, files now pass Acrobat PreFlight syntax
checker.
- PDF3DImporter GetPageOrientation
correction, better identification of portrait or landscape pages in existing
PDFs.
- 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.
- 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.
- PDF3DReportGen new GUI
controls: Navigation Constraint, Double Sided Rendering modes.
- PDF3DGlyphBase::SetTransformations(double
matrix[16]) method added for glyphs and 3D labels.
- AVS_Interface, 3D text
labels with billboard orientation added in scene capture, fixed font size.
- 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.
- PDF3D_C4x4M intermediate
storage now has additional method fillArray to convert matrix into array data
type.
- XML Schema PDF3DXmlServer.xsd
added for PDF3DXmlServer input specification file or PDF3DXmlSrv xml string
input
- 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.
- Bounding Box correction,
fixed matrix multiply order.
- PDF3DExporter preview
image SetImageData bitsPerComponent value internal implemenation correction.
- 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
- 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.
- Initial animation control
state bug fixed, some animations would not start up in the correct looping
mode (pingpong or smooth)
- 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
- 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.
- 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
- NSIS installer generation
system for windows, updated to version 2.45.
- VTK examples added, VTKCube,
VTKArrays for worked examples.
- VTK_Interface updated
to VTK version 5.4.2 release.
- vtkPDF3DExporter class
improved to represent actor colormaps as scalar textures where method matches
ParaView display.
- Memory leak corrected
in Linux OEM license code area.
- IFX Library loading long
path buffer overrun correction, both Linux and Windows.
- SequenceAnimation added
to source examples, showing moving sine-wave on mesh. Sequence
of moving mesh models.
- TransformAnimation added
to source examples, showing orbits of planets as textured spheres, using rigid
body keyframe animation techniques from C++ code.
- 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
- HierarchyExample added
to source examples, showing how to specify multiple triangle meshes, lines,
points in scene hierarchy using the Access interface methods.
- ElevationMesh Example,
showing the technique for creating a regular XY surface mesh with sine wave
Z using Access interface methods.
- Mouse3DProbe Example,
showing the technique for adding an interactive mouse probe for scene coordinates.
- PDF3DImageInjector example,
showing the technique for injection an image from file into an existing PDF
document.
- ColorPerTriangle example,
showing the technique for adding face colours, as well as vertex colors on
collection of cubes.
- PDF3DLineSet correction,
over enthusiastic line geometry compression method eliminated lines in some
cases, now corrected
- Examples updated to print
library version string when starting up.
- Coin Interface, material
shading correction, previously colours may be lost in hardware rendering modes.
Log file generation correction.
- 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"/>.
- PDF3DExporter::DrawImageScaleFromFile()
added, to allow drawing an image at a specified re-scaled size on the page.
- OpenSceneGraph (OSG) now
available for Windows x64 (XP, Vista) platforms.
- OSG_ to_PDF3D_GUI correction,
fixing possible crash between interactive view and PDF generation.
- 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.
- Visual Studio 2008
support updated to SP1 (previous releases were without SP1)
- 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.
- LM-X floating license
server update, changed from v2.31 to v3.2. License server executables must
be updated. Existing licenses will work unchanged.
- 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.
- KEYLIB32.dll version updated,
correction to applications failing at exporter.ClosePDF(); phase on Windows
32-bit platforms.
- 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.
- License valid return checks
improved in various examples (error returns were previously ignored in simple
examples).
- Cyrillic character set
demonstrated by fist lines from Eugene Onegin by Alexander Pushkin, using
DrawTextUTF function (example on windows only).
- ModelTreeControls new
Flash-based control system added, with API for developers.
- ModelTreeControls Example
added, showing basic usage of new control.
- 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+.
- 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.
- 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.
- 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.
- 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.
- 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.
- Interfaces, directory and
source locations restructured, allowing local re-builds of main programs
without full source.
- Multi-Product Feature
license system introduced, allowing multiple independent product bundles to
be licensed. Does not affect existing issued licenses.
- 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.)
- 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.
- LM-X internal improvements
to floating network license search paths.
- Coin Interface, new alternative
option for tessellation algorithm, in cases of high aspect concave polygons,
default remains normal internal PDF3D tessellation methods.
- 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.
- Navigation Constraint
options added, allows 3D view to disable rotation, acting as 2D canvas, or
disable all pan, zoom, rotate.
- Material API changes
to the following method signature:
void ConfigureMaterialTextureResource(IFXShaderLitTexture* shaderResource,
IFXMaterialResource* materialResource, IFXPalette* texturePalette); ( using
IFXPallette rather than IFXTextureObject in third argument )
- 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.
- 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.
- CMAKE version change,
to CMake 2.6 patch 4. (Note, this is more recent that previous 2.7 development
version).
- 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.
- PDF
library updates for
x64 improvements, large PDF file support, Vista and Linux 64-bit compilation
improvements.
- PDF new page insert bug
fix, new PageTree algorithm
- PDF3DCoinInterface, new
alternative PDF3DCoinDebugInterface.dll allows
debug development for Coin-based systems.
- New logo design, splash
screen images, icons updated
- New website www.pdf3d.co.uk
including on-line technical documentation.
- AVS_Interface module library
issues corrected, library path list changes.
- AVS_Interface GUI exposed
new VCT modes with selector control
- AVS_Interface GUI "show
PDF on export" feature added
- PDF3DXmlSvr new dll for
scene conversion control systems, accepts XML as dll argument strings rather
than files
- PDF3DXmlSvr usage examples
added:
- C++ commandline XML as strings
- C++ commandline XML from
files
- C# commandline XML as strings
- C# interactive GUI converter
- Visual Basic commandline
XML as strings
- Visual Basic interactive
GUI converter
- Python script commandline
XML as strings converter
- Delphi wrapper with interactive
GUI converter
- XML DrawImage tag added,
places image from file anywhere in 2D PDF page for logos, legends, etc
- VCT converter added additional
modes for index pallette colour schemes
- PDF3DXmlServer converter
loading system changed to load and unload single converters at a time rather
than loading all at initialization.
- Added new OEM license
warnings, to improve clarity when a program or dll should be recompiled or
held from distribution.
- Transparent background
to 3D Scene C++ API added, as optional settings. Available in Adobe Reader
9 and later only.
- Transparent background
XML tag added.
- ConversionRunner now static
library
- 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.
- 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)
- Linux PATH environment
requirement change, PATH must now always include PDF3D-SDK/bin/GCC_RunTime/
to allow for runtime .so interface searches.
- Floating license on virtual
server mode enabled if required on special request basis.
- VTK_Interface removed
from VRML type conversion list, still works but has poor functionality compared
to others, to discourage use.
- Removed PDF3DConverter
application from build. Now fully replaced by PDF3DReportGen.
- VRML2PDF3D interactive
GUI example, portability improved, such as for VS2008 Express compiler.
- MSI Installer package,
newly introduced for PDF3DReportGen if licensed outside of PDF3D-SDK package,
for end-users.
- WiX installer generator
introduced for MSI generation, in parallel with NSIS.
- Execution count type trial
license mode now available if required.
- VRML_Interface, VTK_Interface,
bug fix to yylex_load_buffer_state.
- Windows x64 (Vista 64,
WinXP64) manifests, dlls refreshed to new versions
- Installer now runs both
VS2005 & VS2008 vcredist install packages, rather than one, for mixed
dll cases.
- PDF3DReportGen Help added,
specific to end-user menu and file conversion operations, authored using Madcap
Flare.
- PDF3DXmlServer: added
"ShowToolBar" and "ShowUserInterface" options.
- PDF3DAction3D class memory
buffer fix.
- 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.
- U3D_LIBDIR:
changed, is now moved to bin/<compiler type>_RunTime, rather than lib,
as library is now supplied in compiler specific versions.
- U3D dlls, shared libraries,
now supplied in compiler specific subirectories, rather than in a single place,
paths have moved.
- New polygon tessellation
method implementation, will slightly change the geometry generated in models.
- PNG palette color index
bug fixes, including transparent backgrounds now supported, both for 2D PDF
page loading and 3D texturemaps.
- PDF parsing improved,
injection of 3D view into existing documents able to handle a wider range
of input PDF types.
- Improved U3D library builds,
internal build system changes, optimisations
- Trial edition margin constraints,
restrictions removed. Margin parmeters may now be freely set to any value.
- VRML and Coin3D
lighting models improved, new ambient term treatment
- VRML default lighting
now processed as "lights from file", or "artist lights".
- VRaniML library now compiled
separately for each compiler type
- Zlib now moved to dependencies
directory, compiled separately for each compiler type
- Updated keylib system
for node-locked controls, Vista improvements
- VCRedist installer systems
added for x64 configurations
- Installer system bug fixes
and improvements for more reliable installations
- GLUT now moved to dependencies
directory and compiled separately for each compiler type
- Freetype library renamed,
is now "freetype2" rather than "freetype235", and is now
moved to compiler type directories.
- Solution files added for
building DotNetInterface for VS2003, VS2005, VS2008 versions of visual studio.
- U3D texture memory storage
reduction optimization.
- Legend drawing box and
label alignment bug fix.
- Windows-2000 installs
now enabled in installer system, qualified as runtime target (not supported
for development).
- XML Server, fixed page
numbering bug.
- 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.
- Coin3D interface updated
for Coin v3.0, both Linux and Windows.
- DrawText, DrawTextUTF8,
DrawTextUTF16 API functions added for 2D Text using Unicode character sets.
- New Example: DrawTextUTF,
shows usage for new API
- Draw Caption and Title
classes now extended to support Unicode options.
- XML Server Title and Caption
text options extended to support Unicode.
- API Change Notice. Before:
const PDF3DString& PDF3DExporter::GetCurrentFontFamily()
is changed to: PDF3DString PDF3DExporter::GetCurrentFontFamily()
(i.e. without "&" as return type).
- Additional Font management
methods, including PDF3DExporter::GetCurrentFontFile()
- 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.
- 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.
- Metadata system added
to XML Server
- Installer script enabled
to allow Windows X64 installs (32-bit mode)
- Coin3D SoWriteSceneToPDF3D
improvements to sample application, showing customer Export settings.
- Linux VRML interface texture
reference file path corrections.
- Linux build flags, added
-fPIC flag for improved platform support.
- PDF import parsing improved
to support additional types of PDF files.
- 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.
- XML
Server: additional collection
of sample configuration files.
- PDF3DWidgetStyle button,
icon and image now supports 32-bit alpha-channel images.
- PDF Append into some types
of existing PDF files fixed, previously would cause intermittent crash.
- VRML interface CMake fix,
now allows examples to be compiled without library source.
- Billboard mode on Labels,
now has correction for scaling correctly in orthographic camera.
- CMake files in various
example and interface directories now updated with version prerequisite specification.
- 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..
- Coin3d Interface, fixed
font size controls algorithm and methods updated
- Cmake include - UsePDF3D.cmake
now updated for VS2008 builds, detecting compiler environment.
- VRML2PDF converter installation
and compilation issues resolved.
- Windows DLL redistribution
and manifest files updated for VS2005 (SP1), VS2008
- Samples directory structured
unified, to supply all example data files.
- Elevation Grid in Intermediate
Storage texture assignment correction bug fix
- Font embedded in PDF now
optional, depending on need. If no text is on page, minimum file size is dramatically
smaller.
- Animation classes, for
seqencing visibility of node lists, with interactive playback controls.
- Icons embedded for typical
button controls, play, stop, forward, etc. for use in interactive PDF document
forms.
- Frame Delay API for variable
timing of frames during replay.
- Common Source "vtslport"
directory now contains commonly used and shared utilites, used by some Interfaces,
for cross-platform services.
- XML Server animation cycle
and frame timing section update, accepts wild-card filename collections as
assemblies.
- VRML Interface code improvements,
much higher portability, typing and unified compiler builds, now available
on Linux.
- Libpng corrections for
C++ name mangling.
- Examples and Interfaces
now generate debug symbols when compiled, may be helpful for developers.
- DrawArc() method for 2D
PDF export page added partial circular sections, with or without fill.
- CubicBezierTo() for creating
cubic polynomial Bezier curves defined by four control points.
- IntermediateStorage: PDF3DIntermediateModel::SetTextureCoord()
allows direct access and control of u-v textures.
- Textfield Spellcheck status:
PDF3DTextBoxWidget::SetSpellcheckingEnabled() methods added.
- TimeTag string added to
set time annotation attributes for animation playback, new keywords in XML
Server input.
- RenderMode, Lighting:
XML keywords to controls PDF3DSceneOptions{ RenderMode, LightingScheme } were
added.
- 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.
- 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.
- converter.SetDoubleSidedRendering(true)
API has now been moved to exporter.SetDoubleSidedRendering(options,true,true).
This may require source changes to application programs.
- 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.
- PDF3DExporter::getPDFPageCount(),
new method allows query of current document.
- PDF3DExporter::GetPageHeight()
new method returns the height of specified page.
- PDF3DExporter::GetPageWidth()
new method returns the width of the specified page.
- PDF3DExporter::GetPageOrientation()
new method returns the orientation of the specified page
- vrml1to2 conversion utility
from VRML 1.0 to 2.0 has a completely new, upgraded implementation, new VRML
syntax filtering.
- vtkTerrain sample program
now ported to Linux.
- Highlight fields in Acrobat
or Adobe Reader now deselected when 3D view page activated, so dynamic scene
control buttons will display properly.
- Improved IntermediateStorage
error handling, Warnings rather than errors allow continued processing.
- Quality parameter <
1.0 bug has been fixed, previously would remove group nodes in some cases.
- VRML ROUTE keyword allows
"." character in names - fixed (VRML_Interface and Coin_Interface)
- Default Label Font, now
set to "Times New Roman" if specified font not found on system.
Previously this caused a crash on some systems.
- 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.
- Keylib License system
version update, primarily for improvements on Vista.
- LM-X major update, new
server, library version components for network floating licenses.
- 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.
- OpenGL Example: a new example
program, which demonstrates how to integrate PDF3D® Library into the existing
OpenGL programs.
- 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.
- Arrays of Glyphs: now geometric
shapes can be specified to be in collections, combined into a single 3D PDF
node for greater efficiency.
- ArrayGlyphTest Example: a new
example program, which demonstrates how to use Array of Glyphs.
- Document Security: author
and user passwords can now be set, with document security modes for printing,
saving, etc.
- Page Size presets now
available in menus in PDF3D Converter application, for A4, Letter, etc.
- Z-Scale dynamic controls,
new user-interface below 3D window, allows non-linear Z axis scaling in 3D
scene.
- Interactive 3D Probe option,
shows name of object and X,Y,Z location at mouse pick.
- 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\ ).
- 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().
- VISTA
installation process and operation now supported.
- NSIS Installer updated
to 2.37, with logging enabled.
- 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.
- 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.
- 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.
- 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).
- 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.
- Interface Policy: Interfaces are now supported. In earlier versions
they were mearly examples. Source is no longer supplied, without specific
arrangements.
- 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.)
- 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.
- 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.
- 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.
- U3D Modifications - internal updates to libIFXCore.so / dll and related
libraries.
- 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.
- LM-X floating network license server on Linux, bug-fix improvements.
- PDF layer update, embedding improvements. New version of podofo.dll,
allows injecting on pages with JPEG images, etc.
- 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.
- 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.
- 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.
- OEM License Activation macro now centralised at include/PDF3Didxm.h,
OEM customers now receive pre-configured OEM source.
- 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)
- 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.
- Open Inventor interface removed
from distribution. Available on special request basis.
- 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.
- 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.
-
Linux platform Requirements are Centos 3.9 / Red
Hat Enterprise Linux 3.9, Ubuntu 7.1.
- 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.
-
Linux platform Requirements are Centos 3.9 / Red
Hat Enterprise Linux 3.9, using gcc 3.2.3 C++ compiler environment.
- Binary path is PDF3D-SDK/bin,
rather than PDF3D/bin/release
- Licensing option is based
on floating network server option "LMX". See PDF3D-SDK/lm-x/linux/enduser/
for details.
- A subset of interfaces
are currently available on Linux compared to Windows. The subset is currently:
- AVS_Interface
- STL_Interface
- PDF3DSphereMesh class
is not functional on Linux, please temporarily avoid using Sphere Glyphs.
- 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.
- AVS_Express module UI
layout has clipped text due to platform specific layout changes.
- AVS_Express 3D label text
is currently not implemented, text labels are ignored.
- AVS_Express textures must
be 32-bit, single byte with lookup mode is not supported.
- AVS_Express 7.2 "linux_el3"
install is required for RHEL3 linux development.
- 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.
-
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.
-
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.
-
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.
- "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".
- 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.
- VRML_to_PDF3D has additional
parameters to specify title, caption, page size, margin layout, and injection
of 3D view into existing PDF documents.
-
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.
- AVS_Interface general feature
additions, improvements. The module inteterface is now signficantly upgraded
to allow many new features:
- AVS/Express 7.2 compatibility
- MicroAVS kit compatibility
and examples
- Improved scene capture, now
handles more entity conversions
- Insert at arbitrary page
number in existing document
- Embed (inject) 3D viewport
onto existing PDF page
- Title text over top of 3D
viewport
- Caption box text floating
underneath main 3D viewport, with multi-line text.
- Texture images now allow
alpha-blending mode, user controlled mode.
- 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.
- 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.
- 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.
- New WidgetTest example
showing how to add buttons with actions for the 3D scene, with sample PDF
file included in the "sample" directory.
- Open Inventor interface
- major update. Added scene node classses, HelloCone and SceneViewer integration
examples.
- VTK_Interface
major update. Now based on VTK 5.0.2. Packaged as command line converter and
dll.
- vtkPDF3DExporter class.
Now converts directly from current renderWindow, similar to other export classes.
- VTK terrain with texture
rendering example added, showing export from VTK of textured surfaces.
- 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.
- 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
- 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.
- 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..
- DrawText() bug fix for hyphens.
If the input text contained a hyphen (-), DrawText() would previously output
the text without the hyphen.
- PDF3DPDFOptions Producer
field can now be freely set to any user string.
- 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.
- Bold, Italic 2D fonts
now available through optional arguments to exporter SetCurrentFont().
- SetPageOrientation() now
allows user specification of horizontal or vertical layout (landscape).
- 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.
-
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.
-
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.
- Legend Class: new class
allows generating discrete or continuous legend bars on the same page as the
3D view.
- AVS_Interface for Viz Express:
The AVS/Express interface is now upgraded for operation in both visualization
edition and developer edition configurations.
-
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.
- Memory Reporting:
U3D Memory resource monitoring classes
now available for performance tuning. converter.SetMonitorU3DLibMemoryUsage(true)
converter.GetU3DLibMemoryUsage()
converter.GetU3DLibMaxMemoryUsage()
- 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.
- VRML_to_PDF3D: New interface
for converting either VRML 1.0 or 2.0 WRL files to 3D PDF as a command-line
utility.
- STL_to_PDF3D: New interface for
converting STL (Stereo-Lithography) surface files to 3D PDF, as a command-line
utility.
- 2D Text & Graphics
classes for mixed 2D and 3D content on page (based on PoDoFo).
- Improved Return Values. A number
of API classes now return bool status returns rather than void, allowing error
checking and reporting.
- 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.
- DefaultView Zoom Factor: new
API allows setting the automatic default view creation to allow objects to
fill the view. converter.SetZoomFactor(zoomFactor)
- 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.
- DrawImage: A new API call
is available to draw a user-specified RGB image onto the PDF page, allowing
further annotation. PDF3DExporter::DrawImage(...)
- 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 }
- 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.
- OEM configuration update,
new methods specific to OEM customers. Technical note available on request.
- License Utility now reports
full library version, build and type information. In trial versions, license
Transfer is disabled.
- 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).
- 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.
- 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.
- Licence File Path:
can now be specified to a user specified location, by setting "PDF3D_LICENSE_PATH"
environment variable.
- 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.
- License Utility: now reports
actual library edition, version and build tag during show-license operations,
to help users identify their version.
- New ReportExample: new
source code example illustrates how to generate a PDF page including a 3D
view, title, caption and legend.
- 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.
Glyph
Documentation: new documentation added to make it clearer how to
use these classes.
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.
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.
GlyphTest
Example: new source example demonstrates new glyph object
classes.
Default
View - Examples now
use automatic default view to centre objects in viewport, on by
default.
CMAKE
configuration files updated, improved build configuration control
AVS_Interface,
miscellaneous GUI improvements.
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.
-
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.
-
Updated Coin3D interface to use Coin3D Library version
2.4.6, correcting WRL transformation problems.
-
Revised PDF Attributes to PDF-1.6 specification,
allowing viewing by both Adobe Reader 7.0.8 and 8.0.
-
Corrected Vertex Colour issue with line segment
primitives, where colour was chromatically reversed.
-
New Glyph classes, geometric entities with placement
and orientation composed of simple 3D objects such as cube, sphere, arrow,
cylinder, axes, etc.
-
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.
-
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.
-
Memory Usage Statistics, new classes enable tracking
of memory usage during conversion and processing, useful in application
profiling during development.
-
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.
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.
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.
Support
for Grouping Models: PDF3D now provides methods to group models
into different categories so that Adobe Reader's Model Tree can show
it.
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.
Support
for Adobe Reader 8 as well as 7: PDF3D now supports both Acrobat
Reader 8 and 7.
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.
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.
Render
Mode and Lighting Scheme Specification: With PDF3D 1.2.1 you can
now specify render mode and lighting schemes.
Enable/Disable VCT Switch:
With PDF3D 1.2.1 you can now at run time choose to enable and
disable Vertex Color Textures.
Color and Grayscale VCT
Modes: You can now choose between color and gray scale modes for
VCT.
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.
Page
Layout and Margin Controls: PDF3D now supports laying out the
viewport accurately on the 3D PDF page.
New
Color Table Mapping mechanism
for Vertex Colorted Textures to help better vertex colored textures.
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.
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
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.
New
Installer – The new NSIS based installer now provides a
more robust installation mechanism. PDF3D is now packaged within a
single installer program.
VCT
[Vertex Colored Texture] – VCT is a new technology from
PDF3D that enhances vertex colored model's appearance in PDF files.
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.