Foxit PDF SDK
foxit::addon::pdf3d::PDF3DContext Class Reference
Inheritance diagram for foxit::addon::pdf3d::PDF3DContext:
foxit::Base

Public Member Functions

 PDF3DContext (const pdf::PDFDoc &doc)
 Constructor, with a PDF document object.
 
 PDF3DContext (const PDF3DContext &other)
 Constructor, with another 3d context object. More...
 
 ~PDF3DContext ()
 Destructor.
 
PDF3DAnnot Add3DAnnot (const wchar_t *threeD_file_path, int page_index, foxit::RectF rectf, void *screen_canvas_parent, PDF3DLaunchSetting launch_setting, PDF3DAdvancedSetting advanced_setting)
 Add a 3D annotation to the PDF page. More...
 
PDF3DAnnot Add3DAnnot (foxit::common::file::ReaderCallback *threeD_file_read, int page_index, foxit::RectF rectf, void *screen_canvas_parent, PDF3DLaunchSetting launch_setting, PDF3DAdvancedSetting advanced_setting)
 Add a 3D annotation to the PDF page. More...
 
PDF3DAnnotArray GetPage3DAnnotArray (int page_index)
 Get 3d annot objects array by page index. More...
 
void Invalidate ()
 Refresh 3D Objects. More...
 
bool IsEmpty () const
 Check whether current object is empty or not. More...
 
bool operator!= (const PDF3DContext &other) const
 Not equal operator. More...
 
PDF3DContextoperator= (const PDF3DContext &other)
 Assign operator. More...
 
bool operator== (const PDF3DContext &other) const
 Equal operator. More...
 
- Public Member Functions inherited from foxit::Base
FS_HANDLE Handle () const
 Get the handle of current object. More...
 

Detailed Description

This class represents a 3D PDF context. Before using any class or methods in this module, please ensure Foxit PDF SDK has been initialized successfully by function common::Library::Initialize with a key including "3D" module.
Currently, 3D module only supports Windows.

See also
common::Library

Constructor & Destructor Documentation

◆ PDF3DContext()

foxit::addon::pdf3d::PDF3DContext::PDF3DContext ( const PDF3DContext other)

Constructor, with another 3d context object.

Parameters
[in]otherAnother 3d context object.

Member Function Documentation

◆ Add3DAnnot() [1/2]

PDF3DAnnot foxit::addon::pdf3d::PDF3DContext::Add3DAnnot ( const wchar_t *  threeD_file_path,
int  page_index,
foxit::RectF  rectf,
void *  screen_canvas_parent,
PDF3DLaunchSetting  launch_setting,
PDF3DAdvancedSetting  advanced_setting 
)

Add a 3D annotation to the PDF page.

Parameters
[in]threeD_file_pathThe file path of 3D file. Currently, it supports u3d and prc.
[in]page_indexThe index of the page to which the 3D annotation is added. Valid range: from 0 to (page_count-1).
[in]rectfThe rectangle of new 3d annotation in [PDF coordinate system].
[in]screen_canvas_parentThe screen canvas parent handle.
[in]launch_settingThe 3D launch setting.
[in]advanced_settingThe 3D advanced setting.
Returns
The added 3D annotation object.

◆ Add3DAnnot() [2/2]

PDF3DAnnot foxit::addon::pdf3d::PDF3DContext::Add3DAnnot ( foxit::common::file::ReaderCallback threeD_file_read,
int  page_index,
foxit::RectF  rectf,
void *  screen_canvas_parent,
PDF3DLaunchSetting  launch_setting,
PDF3DAdvancedSetting  advanced_setting 
)

Add a 3D annotation to the PDF page.

Parameters
[in]threeD_file_readThe file reader callback of 3D file. Currently, it supports u3d and prc. Please refer to common::file::ReaderCallback for details.
[in]page_indexThe index of the page to which the 3D annotation is added. Valid range: from 0 to (page_count-1).
[in]rectfThe rectangle of new 3d annotation in [PDF coordinate system].
[in]screen_canvas_parentThe screen canvas parent handle.
[in]launch_settingThe 3D launch setting.
[in]advanced_settingThe 3D advanced setting.
Returns
The added 3D annotation object.

◆ GetPage3DAnnotArray()

PDF3DAnnotArray foxit::addon::pdf3d::PDF3DContext::GetPage3DAnnotArray ( int  page_index)

Get 3d annot objects array by page index.

Parameters
[in]page_indexPage index. Valid range: from 0 to (page_count-1). page_count is returned by function pdf::PDFDoc::GetPageCount.
Returns
3d annot objects array.

◆ Invalidate()

void foxit::addon::pdf3d::PDF3DContext::Invalidate ( )

Refresh 3D Objects.

To dynamically display 3D effects, it is necessary to modify the interface based on loop calls.

Returns
None.

◆ IsEmpty()

bool foxit::addon::pdf3d::PDF3DContext::IsEmpty ( ) const

Check whether current object is empty or not.

When the current object is empty, that means current object is useless.

Returns
true means current object is empty, while false means not.

◆ operator!=()

bool foxit::addon::pdf3d::PDF3DContext::operator!= ( const PDF3DContext other) const

Not equal operator.

Parameters
[in]otherAnother 3d context object. This function will check if current object is not equal to this one.
Returns
true means not equal, while false means equal.

◆ operator=()

PDF3DContext& foxit::addon::pdf3d::PDF3DContext::operator= ( const PDF3DContext other)

Assign operator.

Parameters
[in]otherAnother 3d context object, whose value would be assigned to current object.
Returns
Reference to current object itself.

◆ operator==()

bool foxit::addon::pdf3d::PDF3DContext::operator== ( const PDF3DContext other) const

Equal operator.

Parameters
[in]otherAnother 3d context object. This function will check if current object is equal to this one.
Returns
true means equal, while false means not equal.