3D Annot Module
Types
A3DPDF3DAnnotData | |
A3DPDFEActivateWhen |
|
A3DPDFEDesactivateWhen |
|
A3DPDFEAnimationStyle |
|
A3DPDFELighting |
|
A3DPDFERenderingStyle |
Fields
Functions
A3DStatus |
A3DPDF3DAnnotCreate |
A3DStatus |
A3DPDFPageInsert3DAnnot |
A3DStatus |
A3DPDFPageFieldSet3DAnnot |
A3DStatus |
A3DPDF3DAnnotGetUniqueId |
A3DStatus |
A3DPDF3DAnnotGetJavascriptHighlightManagerName |
Detailed Description
-
group
a3d_pdf_3Dannot_module
Module to define a 3D Annotation.
This module describes the functions and structures that allow you to define 3D data in the page.
Type Documentation
-
enum
A3DPDFEActivateWhen
The circumstances under which the 3D Annot shall be activated.
- Version
- 4.1
Values:
-
enumerator
kA3DPDFActivExplicitActivation
The 3D Annot shall remain inactive until explicitly activated by a script or user action.
-
enumerator
kA3DPDFActivPageOpened
The 3D Annot shall be activated as soon as the page containing the 3D Annot is opened.
-
enumerator
kA3DPDFActivPageVisible
The 3D Annot shall be activated as soon as any part of the page containing the 3D Annot becomes visible.
-
enum
A3DPDFEDesactivateWhen
The circumstances under which the 3D Annot shall be deactivated.
- Version
- 4.1
Values:
-
enumerator
kA3DPDFActivExplicitDesactivation
The 3D Annot shall remain active until explicitly deactivated by a script or user action.
-
enumerator
kA3DPDFActivPageClosed
The 3D Annot shall be deactivated as soon as the page is closed.
-
enumerator
kA3DPDFActivPageNotVisible
The 3D Annot shall be deactivated as soon as the page containing the 3D Annot becomes invisible.
-
enum
A3DPDFEAnimationStyle
Animation Style.
- Version
- 4.1
Values:
-
enumerator
kA3DPDFAnimStyleNoAnimation
Animations shall not be driven directly by the conforming reader. This value shall be used by documents that are intended to drive animations through an alternate means, such as JavaScript.
-
enumerator
kA3DPDFAnimStyleLoop
This animation style results in a repetitive playthrough of the animation.
-
enumerator
kA3DPDFAnimStyleBounce
This animation style results in a back-and-forth playing of the animation.
-
enum
A3DPDFELighting
Lighting.
- Version
- 4.1
Values:
-
enumerator
kA3DPDFLightArtworkCurrent
The light is defined from the 3D data (in the 3D Artwork).
-
enumerator
kA3DPDFLightNone
No light.
-
enumerator
kA3DPDFLightWhite
White light.
-
enumerator
kA3DPDFLightDay
Day light.
-
enumerator
kA3DPDFLightBright
Bright light.
-
enumerator
kA3DPDFLightPrimaryColor
Primary color light.
-
enumerator
kA3DPDFLightNight
Night light.
-
enumerator
kA3DPDFLightBlue
Blue light.
-
enumerator
kA3DPDFLightRed
Red light.
-
enumerator
kA3DPDFLightCube
Cube light.
-
enumerator
kA3DPDFLightCADOptimized
CAD Optimized light.
-
enumerator
kA3DPDFLightHeadlamp
Headlamp light.
-
enum
A3DPDFERenderingStyle
Rendering Style.
- Version
- 4.1
Values:
-
enumerator
kA3DPDFRenderingTransparentBoundingBox
Displays bounding boxes faces of each node, aligned with the axes of the local coordinate space for that node, with an added level of transparency.
-
enumerator
kA3DPDFRenderingSolid
Displays textured and lit geometric shapes.
-
enumerator
kA3DPDFRenderingTransparent
Displays textured and lit geometric shapes (triangles) with an added level of transparency.
-
enumerator
kA3DPDFRenderingSolidWireframe
Displays textured and lit geometric shapes (triangles) with an added level of transparency, with single color opaque edges on top of it.
-
enumerator
kA3DPDFRenderingIllustration
Displays silhouette edges with surfaces, removes obscured lines.
-
enumerator
kA3DPDFRenderingSolidOutline
Displays silhouette edges with lit and textured surfaces, removes obscured lines.
-
enumerator
kA3DPDFRenderingShadedIllustration
Displays silhouette edges with lit and textured surfaces and an additional emissive term to remove poorly lit areas of the artwork.
-
enumerator
kA3DPDFRenderingBoundingBox
Displays the bounding box edges of each node, aligned with the axes of the local coordinate space for that node.
-
enumerator
kA3DPDFRenderingTransparentBoundingBoxOutline
Displays bounding boxes edges and faces of each node, aligned with the axes of the local coordinate space for that node, with an added level of transparency.
-
enumerator
kA3DPDFRenderingWireframe
Displays only edges in a single color.
-
enumerator
kA3DPDFRenderingShadedWireframe
Displays only edges, though interpolates their color between their two vertices and applies lighting.
-
enumerator
kA3DPDFRenderingTransparentWireframe
Displays textured and lit geometric shapes (triangles) with an added level of transparency, with single color opaque edges on top of it.
-
enumerator
kA3DPDFRenderingHiddenWireframe
Displays edges in a single color, though removes back-facing and obscured edges.
-
enumerator
kA3DPDFRenderingVertices
Displays only vertices in a single color.
-
enumerator
kA3DPDFRenderingShadedVertices
Displays only vertices, though uses their vertex color and applies lighting.
Function Documentation
-
A3DStatus
A3DPDF3DAnnotCreate
(A3DPDFDocument *pDoc, const A3DPDF3DAnnotData *p3DAnnotData, A3DPDF3DAnnot **pp3DAnnot) Function to create a 3D Annotation object.
The 3D Annotation object is primarily created with this function, and it should be inserted on the page with the functions A3DPDFPageInsert3DAnnot or A3DPDFPageFieldSet3DAnnot.
- Version
- 4.1
Parameters: - pDoc – [inout] The Document object to work with.
- p3DAnnotData – [in] The 3D Annot parameters.
- pp3DAnnot – [out] The 3D Annot object created.
Return values: A3D_SUCCESS –
Returns: A3D_SUCCESS in case of success or an error code
-
A3DStatus
A3DPDFPageInsert3DAnnot
(A3DPDFPage *pPage, const A3DPDF3DAnnot *p3DAnnot, const A3DPDFRectData *pRectData) Function to insert a 3D Annot in a page.
Insert a 3D Annot object on the page. Several 3D Annots can be stored on a page. After insertion, a unique id is generated for the 3D Annot object. This unique id can be retrieved with A3DPDF3DAnnotGetUniqueId.
- Version
- 4.1
Parameters: - pPage – [inout] The Page object to work with.
- p3DAnnot – [in] The 3D Annot to insert on the page.
- pRectData – [in] The rectangle to specify the position on the page.
Return values: A3D_SUCCESS –
Returns: A3D_SUCCESS in case of success or an error code
-
A3DStatus
A3DPDFPageFieldSet3DAnnot
(A3DPDFPage *pPage, const A3DUTF8Char *pcFieldName, const A3DPDF3DAnnot *p3DAnnot) Function to replace the form field specified with a 3D Annot object.
Several 3D Annots can be stored on a page. After insertion, a unique id is generated for the 3D Annot object. This unique id can be retrieved with A3DPDF3DAnnotGetUniqueId.
- Version
- 4.1
Parameters: - pPage – [inout] The Page object to work with.
- pcFieldName – [in] The name of the form field. Only Acroform fields are supported.
- p3DAnnot – [in] The 3D Annot to set.
Return values: A3D_SUCCESS –
Returns: A3D_SUCCESS in case of success or an error code
-
A3DStatus
A3DPDF3DAnnotGetUniqueId
(const A3DPDF3DAnnot *p3DAnnot, A3DUTF8Char **ppc3dAnnotId) Function to retrieve the unique id of a 3D annotation This function must be called after inserting the 3d annot object with A3DPDFPageInsert3DAnnot or A3DPDFPageFieldSet3DAnnot.
Memory Management
In case of success,
ppc3dAnnotId
contains heap allocated memory you are responsible for. To free the memory onppc3dAnnotId
, callA3DPDF3DAnnotGetUniqueId
withp3DAnnot
set to 0.- Version
- 24.4
Parameters: - p3DAnnot – [in] The 3D Annot to work with.
- ppc3dAnnotId – [out] The identifier as a string.
-
A3DStatus
A3DPDF3DAnnotGetJavascriptHighlightManagerName
(const A3DPDF3DAnnot *p3DAnnot, A3DUTF8Char **ppcHighlightManagerName) Function to retrieve the name of the javascript Highlight Manager object.
- Deprecated:
This function is deprecated. Please use A3DPDF3DNodeSceneGetJavascriptManagerName instead. This will be removed in version 2026.1.0. On PDF files generated with the datamodel API, customers can configure properties for highlighting behaviour within 3D scenes. With this, customers need to write some JavaScript at the document level (typically on the UI widgets on a page) to set the highlight properties. This Highlight Manager object returned by this function can be used to do that. Please refer to the section ‘Setting up Properties for Highlight or Select on 3D Scene Widget’ in programming guide for more details. This function must be called after inserting the 3d annot object with A3DPDFPageInsert3DAnnot or A3DPDFPageFieldSet3DAnnot.
Memory Management
In case of success,
ppcHighlightManagerName
contains heap allocated memory you are responsible for. To free the memory onppcHighlightManagerName
, callA3DPDF3DAnnotGetJavascriptHighlightManagerName
withp3DAnnot
set to 0.- Version
- 24.4
Parameters: - p3DAnnot – [in] The 3D Annot to work with.
- ppcHighlightManagerName – [out] The Highlight Manager name as a string.