HPS::Publish::File

class HPS::Publish::File

The File class provides functions to export Model objects to 3D PDFs via Publish.

Public Static Functions

static DocumentKey CreateDocument(char const *in_file_name = nullptr)

Creates a DocumentKey based on the given PDF file. The returned object will allow direct interaction with the underlying in-memory copy of that PDF document and any pages in it. If no filename is specified, an empty PDF document will be created. The in-memory PDF document can be written to disk via the File::Export function.

Parameters

in_file_name – The name of the PDF file from which to create an in-memory copy. Defaults to nullptr, which results in an empty in-memory PDF document.

Returns

A DocumentKey handle for the in-memory PDF document.

static void ExportHTML(CADModel const &in_cad_model, char const *in_file_name, char const *in_template_name, bool in_include_measurement_information)

Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename.

Warning

This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export.

  • in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_template_name – The name of HTML template to use during export.

  • in_include_measurement_information – Whether to retain information which will allow accurate measurements to be performed on the HTML data if the input CADModel was imported with BRep data.

static void ExportHTML(CADModel const &in_cad_model, KeyPathArray const &in_additional_key_paths, char const *in_file_name, char const *in_template_name, bool in_include_measurement_information)

Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename

Warning

This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export.

  • in_additional_key_paths – An array of KeyPaths for which PRC data will be created and which will be added to in_cad_model during export. Use this parameter to specify non-Exchange data you have added to the scene which you want to export.

  • in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_template_name – The name of HTML template to use during export.

  • in_include_measurement_information – Whether to retain information which will allow accurate measurements to be performed on the HTML data if the input CADModel was imported with BRep data.

static void ExportHTML(CADModel const &in_cad_model, size_t in_count, KeyPath const in_additional_key_paths[], char const *in_file_name, char const *in_template_name, bool in_include_measurement_information)

Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename.

Warning

This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export.

  • in_count – The size of in_additional_key_paths.

  • in_additional_key_paths – An array of KeyPaths for which PRC data will be created and which will be added to in_cad_model during export. Use this parameter to specify non-Exchange data you have added to the scene which you want to export.

  • in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_template_name – The name of HTML template to use during export.

  • in_include_measurement_information – Whether to retain information which will allow accurate measurements to be performed on the HTML data if the input CADModel was imported with BRep data.

static void ExportHTML(KeyPath const &in_key_path, char const *in_file_name, char const *in_template_name)

Performs a synchronous Publish export of the given KeyPath with the provided options to a given filename.

Warning

This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_key_path – The KeyPath containing the data to export.

  • in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_template_name – The name of HTML template to use during export.

static void ExportHTML(KeyPathArray const &in_key_paths, char const *in_file_name, char const *in_template_name)

Performs a synchronous Publish export of the given KeyPathArray with the provided options to a given filename.

Warning

This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_key_paths – The KeyPaths containing the data to export.

  • in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_template_name – The name of HTML template to use during export.

static void ExportHTML(size_t in_count, KeyPath const in_key_paths[], char const *in_file_name, char const *in_template_name)

Performs a synchronous Publish export of the given KeyPathArray with the provided options to a given filename.

Warning

This feature is only supported on 64bit builds of HOOPS Visualize. An InvalidOperationException will be thrown if this function is used on 32bit builds. This will create an HTML page using the provided template. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_count – The number of key paths in in_key_paths.

  • in_key_paths – The KeyPaths containing the data to export.

  • in_file_name – The name of the file to write the HTML data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_template_name – The name of HTML template to use during export.

static void ExportPDF(AnnotationKit const &in_annotation, char const *in_file_name, ExportOptionsKit const &in_options)

Performs a synchronous Publish export of the given AnnotationKit with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_annotation – The AnnotationKit containing the data to export. If the Model in the source SprocketPath for the AnnotationKit corresponds to a CADModel which was imported via Exchange, the underlying Exchange data for the CADModel will be embedded in the PDF, otherwise, the 3D data will be generated from the tessellation in the Visualize scene graph for the Model.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_options – The options controlling the export of the 3D PDF data.

static void ExportPDF(CADModel const &in_cad_model, char const *in_file_name, ExportOptionsKit const &in_options)

Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_options – The options controlling the export of the 3D PDF data.

static void ExportPDF(CADModel const &in_cad_model, KeyPathArray const &in_additional_key_paths, char const *in_file_name, ExportOptionsKit const &in_options)

Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export.

  • in_additional_key_paths – An array of KeyPaths for which PRC data will be created and which will be added to in_cad_model during export. Use this parameter to specify non-Exchange data you have added to the scene which you want to export.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_options – The options controlling the export of the 3D PDF data.

static void ExportPDF(CADModel const &in_cad_model, size_t in_count, KeyPath const in_additional_key_paths[], char const *in_file_name, ExportOptionsKit const &in_options)

Performs a synchronous Publish export of the given CAD Model with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_cad_model – The CADModel containing the data to export.

  • in_count – The size of in_additional_key_paths.

  • in_additional_key_paths – An array of KeyPaths for which PRC data will be created and which will be added to in_cad_model during export. Use this parameter to specify non-Exchange data you have added to the scene which you want to export.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_options – The options controlling the export of the 3D PDF data.

static void ExportPDF(DocumentKey const &in_document, char const *in_file_name)

Performs a synchronous Publish export of the given DocumentKey to a given filename. This will not close the PDF document underlying the DocumentKey, rather it will just create a copy of it on disk. The DocumentKey can still be used after this call to interact with the in-memory PDF document.

Parameters
  • in_document – The DocumentKey from which to create a PDF file on disk.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

static void ExportPDF(DocumentKit const &in_document, char const *in_file_name, ExportOptionsKit const &in_options)

Performs a synchronous Publish export of the given DocumentKit with the provided options to a given filename. This will create a PDF document based on the DocumentKit. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_document – The DocumentKit containing the data to export. If any Model in the source SprocketPath for any AnnotationKit in the DocumentKit corresponds to a CADModel which was imported via Exchange, the underlying Exchange data for the CADModel will be embedded in the PDF, otherwise, the 3D data will be generated from the tessellation in the Visualize scene graph for the Model.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_options – The options controlling the export of the 3D PDF data.

static void ExportPDF(KeyPath const &in_key_path, char const *in_file_name, ExportOptionsKit const &in_options)

Performs a synchronous Publish export of the given KeyPath with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_key_path – The KeyPath containing the data to export.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_options – The options controlling the export of the 3D PDF data.

static void ExportPDF(KeyPathArray const &in_key_paths, char const *in_file_name, ExportOptionsKit const &in_options)

Performs a synchronous Publish export of the given KeyPathArray with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_key_paths – The KeyPaths containing the data to export.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_options – The options controlling the export of the 3D PDF data.

static void ExportPDF(size_t in_count, KeyPath const in_key_paths[], char const *in_file_name, ExportOptionsKit const &in_options)

Performs a synchronous Publish export of the given KeyPathArray with the provided options to a given filename. This will create a single page PDF document with a single 3D annotation. An exception will be thrown if a problem is encountered during export.

Parameters
  • in_count – The number of key paths in in_key_paths.

  • in_key_paths – The KeyPaths containing the data to export.

  • in_file_name – The name of the file to write the 3D PDF data to. This filename should be a fully-qualified path, otherwise the export may fail.

  • in_options – The options controlling the export of the 3D PDF data.