Publish

class HPS::Publish

The Publish class contains objects and enumerations used for exporting 3D PDF files via Publish.

Public Types

typedef std::vector<AnnotationKit, HPS::Allocator<AnnotationKit>> AnnotationKitArray
typedef std::vector<ButtonKit, HPS::Allocator<ButtonKit>> ButtonKitArray
typedef std::vector<CheckBoxKit, HPS::Allocator<CheckBoxKit>> CheckBoxKitArray
typedef std::vector<DataTableKit, HPS::Allocator<DataTableKit>> DataTableKitArray
typedef std::vector<DropDownListKit, HPS::Allocator<DropDownListKit>> DropDownListKitArray
typedef std::vector<Field::Type, Allocator<Field::Type>> FieldTypeArray
typedef std::vector<ImageKit, HPS::Allocator<ImageKit>> ImageKitArray
typedef std::vector<LinkKit, HPS::Allocator<LinkKit>> LinkKitArray
typedef std::vector<ListBoxKit, HPS::Allocator<ListBoxKit>> ListBoxKitArray
typedef std::vector<PageKit, HPS::Allocator<PageKit>> PageKitArray
typedef std::vector<Permission::Type, HPS::Allocator<Permission::Type>> PermissionTypeArray
typedef std::vector<RadioButtonKit, HPS::Allocator<RadioButtonKit>> RadioButtonKitArray
typedef std::vector<SignatureFieldKit, HPS::Allocator<SignatureFieldKit>> SignatureFieldKitArray
typedef std::vector<SlideTableKit, HPS::Allocator<SlideTableKit>> SlideTableKitArray
typedef std::vector<Source::Type, HPS::Allocator<Source::Type>> SourceTypeArray
typedef std::vector<TableKit, HPS::Allocator<TableKit>> TableKitArray
typedef std::vector<TextFieldKit, HPS::Allocator<TextFieldKit>> TextFieldKitArray
typedef std::vector<TextKit, HPS::Allocator<TextKit>> TextKitArray
typedef std::vector<ViewKit, HPS::Allocator<ViewKit>> ViewKitArray
class Activation

The Publish::Activation class is a concept class for activation-related enumerations.

Public Types

enum When

Enumerates when an annotation is activated.

Values:

enumerator Explicit

Annotation is not activated until a script or the user explicitly activates it, e.g., by clicking on a poster image (kA3DPDFActivExplicitActivation).

enumerator Opened

Annotation is activated when the page containing it is opened (kA3DPDFActivPageOpened).

enumerator Visible

Annotation is activated when the page containing it is visible (kA3DPDFActivPageVisible).

class Animation

The Publish::Animation class is a concept class for animation-related enumerations.

Public Types

enum Style

Enumerates the animation styles for an ArtworkKit.

Values:

enumerator None

Reader does not control the animation allowing it to be driven through other means, e.g., JavaScript (kA3DPDFAnimStyleNoAnimation).

enumerator Loop

Reader loops through the animation continuously (kA3DPDFAnimStyleLoop).

enumerator Bounce

Reader plays the animation forwards and backward continuously (kA3DPDFAnimStyleBounce).

class Annotation

The Publish::Annotation class is a concept class for annotation-related enums.

Public Types

enum Format

Enumerates the format of the data to put in an annotation.

Values:

enumerator PRC

PRC data will be generated for the annotation.

enumerator U3D

U3D data will be generated for the annotation.

enum SourceType

Values:

enumerator CADModel

The source was set using a CADModel object.

enumerator KeyPath

The source was set using a KeyPath array.

enumerator CADModelAndKeyPath

The source was set using both a CADModel and a KeyPath array.

class AnnotationKit : public HPS::SprocketKit

The AnnotationKit class is a user space object. It acts as the container for all data that can be on an annotation in a Publish PDF.

Public Functions

AnnotationKit()

The default constructor creates an empty AnnotationKit object.

AnnotationKit(AnnotationKit &&in_kit)

The move constructor creates an AnnotationKit by transferring the underlying object of the rvalue reference to this AnnotationKit.

Parameters

in_kit – An rvalue reference to an AnnotationKit to take the underlying object from.

AnnotationKit(AnnotationKit const &in_kit)

The copy constructor creates a new AnnotationKit object that contains the same settings as the source AnnotationKit.

Parameters

in_kit – The source AnnotationKit to copy.

virtual bool Empty() const

Indicates whether this AnnotationKit has any values set on it.

Returns

true if no values are set on this AnnotationKit, false otherwise.

bool Equals(AnnotationKit const &in_kit) const

Check if the source AnnotationKit is equivalent to this AnnotationKit.

Parameters

in_kit – The source AnnotationKit to compare to this AnnotationKit.

Returns

true if the objects are equivalent, false otherwise.

inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns

The declared type of the object in question, which may differ from the true, underlying type.

bool operator!=(AnnotationKit const &in_kit) const

Check if the source AnnotationKit is not equivalent to this AnnotationKit.

Parameters

in_kit – The source AnnotationKit to compare to this AnnotationKit.

Returns

true if the objects are not equivalent, false otherwise.

AnnotationKit &operator=(AnnotationKit &&in_kit)

The move assignment operator transfers the underlying object of the rvalue reference to this AnnotationKit.

Parameters

in_kit – An rvalue reference to an AnnotationKit to take the underlying object from.

Returns

A reference to this AnnotationKit.

AnnotationKit &operator=(AnnotationKit const &in_kit)

Copies the source AnnotationKit into this AnnotationKit.

Parameters

in_kit – The source AnnotationKit to copy.

Returns

A reference to this AnnotationKit.

bool operator==(AnnotationKit const &in_kit) const

Check if the source AnnotationKit is equivalent to this AnnotationKit.

Parameters

in_kit – The source AnnotationKit to compare to this AnnotationKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(AnnotationKit const &in_kit)

Copies the source AnnotationKit into this AnnotationKit.

Parameters

in_kit – The source AnnotationKit to copy.

AnnotationKit &SetActivation(Activation::When in_when)

Sets when the annotation is activated. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_eActivateWhen.

Parameters

in_when – When the annotation is activated.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetArtwork(ArtworkKit const &in_artwork)

Sets the artwork for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_p3DArtwork.

Parameters

in_artwork – The artwork for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetBackgroundColor(RGBColor const &in_color)

Sets the background color for the annotation. Unused if there is a transparent background. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_sBackgroundColor.

Parameters

in_color – The background color for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetBorderWidth(int in_width)

Sets the border width in points for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_iAppearanceBorderWidth.

Parameters

in_width – The border width in points for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetCarouselButtons(size_t in_count, UTF8 const in_button_names[], char const *in_previous_button_name, char const *in_next_button_name, size_t in_scroll_size)

Sets the carousel buttons for the annotation. This must be specified for a view carousel to be generated. This corresponds to the button names that will be passed to A3DPDFDefineViewCarousel.

Parameters
  • in_count – Size of the following array.

  • in_button_names – UTF8-encoded names for the view buttons in the carousel.

  • in_previous_button_name – UTF8-encoded name for the previous button.

  • in_next_button_name – UTF8-encoded name for the next button.

  • in_scroll_size – Number of buttons to scroll when the previous or next buttons are pressed.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetCarouselButtons(UTF8Array const &in_button_names, char const *in_previous_button_name, char const *in_next_button_name, size_t in_scroll_size)

Sets the carousel buttons for the annotation. This must be specified for a view carousel to be generated. This corresponds to the button names that will be passed to A3DPDFDefineViewCarousel.

Parameters
  • in_button_names – Names for the view buttons in the carousel.

  • in_previous_button_name – UTF8-encoded name for the previous button.

  • in_next_button_name – UTF8-encoded name for the next button.

  • in_scroll_size – Number of buttons to scroll when the previous or next buttons are pressed.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetCarouselViews(size_t in_count, size_t const in_indices[], ImageKit const in_images[] = nullptr)

Sets the carousel views for the annotation. This can be optionally specified for a view carousel. This corresponds to the views and images that will be passed to A3DPDFDefineViewCarousel.

See

SetArtwork

See

ArtworkKit::SetViews

Parameters
  • in_count – Size of the following array.

  • in_indices – Indices of the views on the associated ArtworkKit to use for the view carousel.

  • in_images – Images to use for the view carousel buttons. If unspecified, images will be generated from the views themselves.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetCarouselViews(SizeTArray const &in_indices, ImageKitArray const &in_images = ImageKitArray())

Sets the carousel views for the annotation. This can be optionally specified for a view carousel. This corresponds to the views and images that will be passed to A3DPDFDefineViewCarousel.

See

SetArtwork

See

ArtworkKit::SetViews

Parameters
  • in_indices – Indices of the views on the associated ArtworkKit to use for the view carousel.

  • in_images – Images to use for the view carousel buttons. If unspecified, images will be generated from the views themselves.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetDeactivation(Deactivation::When in_when)

Sets when the annotation is deactivated. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_eDesactiveWhen.

Parameters

in_when – When the annotation is deactivated.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetFormat(Annotation::Format in_format)

Sets the format of the 3D data for the annotation.

Parameters

in_format – The format of the 3D data for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetInteractivity(bool in_state)

Sets whether to enable interactivity on the annotation. This corresponds to the (negated) value that will be passed to A3DPDF3DAnnotData::m_bDisableInteractivity.

Parameters

in_state – Whether to enable interactivity on the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetLighting(Lighting::Mode in_mode)

Sets the lighting mode for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_eLighting.

Parameters

in_mode – The lighting mode for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetModelTreeVisibility(bool in_state)

Sets whether to display the model tree when the annotation is activated. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_bOpenModelTree.

Parameters

in_state – Whether to display the model tree when the annotation is activated.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetName(char const *in_name)

Sets the name for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_pcName.

Parameters

in_name – UTF8-encoded name for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPartsList(size_t in_rows, IntRectangle const &in_location, char const *in_headers[3], float const in_columns[3], TextFieldKit const &in_text_style = TextFieldKit(), TextFieldKit const &in_header_text_style = TextFieldKit())

Creates a Parts List contained in a scrollable table. The table will have three columns, listing part number, part name and quantity. The Parts List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC.

Warning

The TableToPDF Publish add-on must be installed in order to use this feature.

Parameters
  • in_rows – The number of rows for the table housing the Parts List (including the header row)

  • in_location – The location of the table housing the Parts List, specified in points relative to bottom left of the page. All fields in the location will be used.

  • in_headers – The strings displayed in the column headers. The first column lists the part numbers. The second column lists the part name. The third column lists the part quantity. Leaving it unspecified will result in a table with no headers.

  • in_columns – An array of three percentages, specifying the width of each of the table’s columns as a percentage of the table width. The total of the values contained in in_columns should total 1.0. For example, if the columns should take up 10%, 80% and 10% of the table width respectively, in_column will contain 0.1, 0.8, 0.1 Leaving in_columns unspecified will use the default column widths.

  • in_text_style – The text style used for the cells of the table. If not specified, default formatting is used.

  • in_header_text_style – The text style used for the header of the table. If not specified, default formatting is used.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPartsList(size_t in_rows, IntRectangle const &in_location, UTF8Array const &in_headers = UTF8Array(), FloatArray const &in_columns = FloatArray(), TextFieldKit const &in_text_style = TextFieldKit(), TextFieldKit const &in_header_text_style = TextFieldKit())

Creates a Parts List contained in a scrollable table. The table will have three columns, listing part number, part name and quantity. The Parts List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC.

Warning

The TableToPDF Publish add-on must be installed in order to use this feature.

Parameters
  • in_rows – The number of rows for the table housing the Parts List (including the header row)

  • in_location – The location of the table housing the Parts List, specified in points relative to bottom left of the page. All fields in the location will be used.

  • in_headers – The strings displayed in the column headers. The size of this array should be 3. The first column lists the part numbers. The second column lists the part name. The third column lists the part quantity. Leaving it unspecified will result in a table with no headers.

  • in_columns – An array of three percentages, specifying the width of each of the table’s columns as a percentage of the table width. The total of the values contained in in_columns should total 1.0. For example, if the columns should take up 10%, 80% and 10% of the table width respectively, in_column will contain 0.1, 0.8, 0.1 Leaving in_columns unspecified will use the default column widths.

  • in_text_style – The text style used for the cells of the table. If not specified, default formatting is used.

  • in_header_text_style – The text style used for the header of the table. If not specified, default formatting is used.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPMIList(IntRectangle const &in_location, HPS::Publish::ListBoxKit const &in_list)

Creates a PMI List Box which contains a list of the PMI contained in the source file. Clicking on the entries of the list will highlight the associated PMI in the 3D annotation. The PMI List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC. If a View List or a View Carousel are also set on this annotation kit, the PMI List will only show the PMIs which are visible in the View you currently have selected in the PDF.

Parameters
  • in_location – The location of the PMI List, specified in points relative to bottom left of the page. All fields in the location will be used.

  • in_list – The ListBoxKit used to specify the attributes of the PMI List.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPMIListByField(char const *in_field)

Creates a PMI List Box which contains a list of the PMI contained in the source file. Clicking on the entries of the list will highlight the associated PMI in the 3D annotation. The PMI List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC. If a View List or a View Carousel are also set on this annotation kit, the PMI List will only show the PMIs which are visible in the View you currently have selected in the PDF.

Parameters

in_field – UTF8-encoded form field name for the PMI List.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPosterImage(ImageKit const &in_image)

Sets the poster image for the annotation. If this is not specified a poster image will be generated by Publish. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_pPosterImage.

Parameters

in_image – The poster image for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPRCAttributeRemoval(bool in_state)

Sets whether to remove the attribute information in the PRC data for this annotation. This setting is only relevant if the format of the annotation is Annotation::Format::PRC. This corresponds to the value that will be passed to A3DRWParamsExportPrcData::m_bRemoveAttributes.

Parameters

in_state – Whether to remove the attribute information in the PRC data for this annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPRCBRepCompression(PRC::BRepCompression in_level)

Sets the level of compression to apply to BRep data for a PRC annotation. This setting is only relevant if the format of the annotation is Annotation::Format::PRC. This corresponds to the values that will be passed to A3DRWParamsExportPrcData::m_bCompressBrep and A3DRWParamsExportPrcData::m_eCompressBrepType.

Parameters

in_level – The level of compression to apply to BRep data for a PRC annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPRCBRepRemoval(bool in_state)

Sets whether to remove the BRep information in the PRC data for this annotation. This setting is only relevant if the format of the annotation is Annotation::Format::PRC. This corresponds to the value that will be passed to A3DRWParamsExportPrcData::m_bRemoveBRep.

Parameters

in_state – Whether to remove BRep information in the PRC data for this annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetPRCTessellationCompression(bool in_state)

Sets whether to compress tessellation for a PRC annotation. This setting is only relevant if the format of the annotation is Annotation::Format::PRC. This corresponds to the value that will be passed to A3DRWParamsExportPrcData::m_bCompressTessellation.

Parameters

in_state – Whether to compress tessellation for a PRC annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetRendering(Rendering::Mode in_mode)

Sets the rendering mode for the annotation. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_eRenderingStyle.

Parameters

in_mode – The rendering mode for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetSource(CADModel const &in_cad_model)

Sets the source for the annotation to Annotation::SourceType::CADModel. This is the CADModel which contains the 3D data to be exported into the annotation

Parameters

in_cad_model – The source CADModel for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetSource(CADModel const &in_cad_model, KeyPathArray const &in_additional_sources)

Sets the source for the annotation to Annotation::SourceType::CADModelAndKeyPaths. These are the CADModel which will be used to export 3D data to the annotation, and the KeyPaths which will be added to the model

Parameters
  • in_cad_model – The source CADModel for the annotation.

  • in_additional_sources – The additional source KeyPaths for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetSource(CADModel const &in_cad_model, size_t in_count, KeyPath const in_additional_sources[])

Sets the source for the annotation to Annotation::SourceType::CADModelAndKeyPaths. These are the CADModel which will be used to export 3D data to the annotation, and the KeyPaths which will be added to the model

Parameters
  • in_cad_model – The source CADModel for the annotation.

  • in_count – The number of elements in in_additional_sources

  • in_additional_sources – The additional source KeyPaths for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetSource(KeyPath const &in_source)

Sets the source for the annotation to Annotation::SourceType::KeyPaths. The Key Path that will be used to locate the 3D data for the annotation.

Parameters

in_source – The source KeyPath for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetSource(KeyPathArray const &in_sources)

Sets the source for the annotation to Annotation::SourceType::KeyPaths. These are the KeyPaths that will be used to locate the 3D data for the annotation.

Parameters

in_sources – The source KeyPaths for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetSource(size_t in_count, KeyPath const in_sources[])

Sets the source for the annotation to Annotation::SourceType::KeyPaths. These are the KeyPaths that will be used to locate the 3D data for the annotation.

Parameters
  • in_count – The number of elements in in_sources

  • in_sources – The source KeyPaths for the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetToolbarVisibility(bool in_state)

Sets whether to display the toolbar when the annotation is activated. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_bShowToolbar.

Parameters

in_state – Whether to display the toolbar when the annotation is activated.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetTransparentBackground(bool in_state)

Sets whether the annotation background is transparent. This will render background color irrelevant and has negative ramifications. This corresponds to the value that will be passed to A3DPDF3DAnnotData::m_bTransparentBackground.

Parameters

in_state – Whether the annotation background is transparent.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetU3DCompression(unsigned char in_level)

Sets the level of compression to apply to tessellations for a U3D annotation. If no compression level is set, no compression will be applied. This setting is only relevant if the format of the annotation is Annotation::Format::U3D. This corresponds to the value that will be passed to A3DRWParamsExportU3DData::m_ucMeshQualityValue.

Parameters

in_level – The level of compression to apply to tessellations for a U3D annotation. This value should be in the range [0, 100].

Returns

A reference to this AnnotationKit.

AnnotationKit &SetU3DVersion(U3D::Version in_version)

Sets the version of the data for a U3D annotation. This setting is only relevant if the format of the annotation is Annotation::Format::U3D. This corresponds to the value that will be passed to A3DRWParamsExportU3DData::m_eU3DVersion.

Parameters

in_version – The version of the data for a U3D annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetViewList(IntRectangle const &in_location, HPS::Publish::ListBoxKit const &in_list)

Creates a View List Box which contains a list of the Views contained in the source file. Clicking on the entries of the list will activate the associated View. The View List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC.

Parameters
  • in_location – The location of the View List, specified in points relative to bottom left of the page. All fields in the location will be used.

  • in_list – The ListBoxKit used to specify the attributes of the View List.

Returns

A reference to this AnnotationKit.

AnnotationKit &SetViewListByField(char const *in_field)

Creates a View List Box which contains a list of the Views contained in the source file. Clicking on the entries of the list will activate the associated View. The View List can only be calculated if the Annotation source is a CADModel, and the annotation format is PRC.

Parameters

in_field – UTF8-encoded form field name for the View List.

Returns

A reference to this AnnotationKit.

void Show(AnnotationKit &out_kit) const

Copies this AnnotationKit into the given AnnotationKit.

Parameters

out_kit – The AnnotationKit to populate with the contents of this AnnotationKit.

bool ShowActivation(Activation::When &out_when) const

Shows the activation setting.

Parameters

out_when – When the annotation is activated.

Returns

true if an activation setting was specified, false otherwise.

bool ShowArtwork(ArtworkKit &out_artwork) const

Shows the artwork setting.

Parameters

out_artwork – The artwork for the annotation.

Returns

true if an artwork was specified, false otherwise.

bool ShowBackgroundColor(RGBColor &out_color) const

Shows the background color setting.

Parameters

out_color – The background color for the annotation.

Returns

true if a background color was specified, false otherwise.

bool ShowBorderWidth(int &out_width) const

Shows the border width setting.

Parameters

out_width – The border width of the annotation.

Returns

true if a border width was specified, false otherwise.

bool ShowCarouselButtons(UTF8Array &out_button_names, UTF8 &out_previous_button_name, UTF8 &out_next_button_name, size_t &out_scroll_size) const

Shows the carousel buttons setting.

Parameters
  • out_button_names – Names for the view buttons in the carousel.

  • out_previous_button_name – Name for the previous button.

  • out_next_button_name – Name for the next button.

  • out_scroll_size – Numbers of buttons scrolled when the previous or next buttons are pressed.

Returns

true if carousel buttons were specified, false otherwise.

bool ShowCarouselViews(SizeTArray &out_indices, ImageKitArray &out_images) const

Shows the carousel views setting.

Parameters
  • out_indices – Indices of the views on the associated ArtworkKit to use for the view carousel.

  • out_images – Images to use for the view carousel buttons. May be empty, even if out_indices is not.

Returns

true if carousel views were specified, false otherwise.

bool ShowDeactivation(Deactivation::When &out_when) const

Shows the deactivation setting.

Parameters

out_when – When the annotation is deactivated.

Returns

true if a deactivation setting was specified, false otherwise.

bool ShowFormat(Annotation::Format &out_format) const

Shows the format setting.

Parameters

out_format – The format of the 3D data for the annotation.

Returns

true if a format was specified, false otherwise.

bool ShowInteractivity(bool &out_state) const

Shows the interactivity setting.

Parameters

out_state – Whether to enable interactivity on the annotation.

Returns

true if an interactivity setting was specified, false otherwise.

bool ShowLighting(Lighting::Mode &out_mode) const

Shows the lighting mode setting.

Parameters

out_mode – The lighting mode for the annotation.

Returns

true if a lighting mode was specified, false otherwise.

bool ShowModelTreeVisibility(bool &out_state) const

Shows the model tree visibility setting.

Parameters

out_state – Whether to display the model tree when the annotation is activated.

Returns

true if a model tree visibility was specified, false otherwise.

bool ShowName(UTF8 &out_name) const

Shows the name setting.

Parameters

out_name – The name for the annotation.

Returns

true if a name was specified, false otherwise.

bool ShowPartsList(size_t &out_rows, IntRectangle &out_location, UTF8Array &out_headers, FloatArray &out_columns, TextFieldKit &out_text_style, TextFieldKit &out_header_text_style) const

Shows the Parts List setting.

Parameters
  • out_rows – The number of rows making up the Parts List table.

  • out_location – The location of the Parts List table.

  • out_headers – The strings of the column headers. Empty if the table has no header.

  • out_columns – The width of the three columns as percentages of the table width.

  • out_text_style – The text styles used for the cells in the table.

  • out_header_text_style – The text styles used for the header of the table.

Returns

true if a Parts List was specified, false otherwise.

bool ShowPMIList(IntRectangle &out_location, Publish::ListBoxKit &out_list) const

Shows the PMI List setting.

Parameters
  • out_location – The location of the PMI List table.

  • out_list – The options specified for the list box containing the PMI List

Returns

true if a PMI List was specified, false otherwise.

bool ShowPMIListField(UTF8 &out_field) const

Shows the PMI List setting.

Parameters

out_field – The list box form field name on the page which will be used for the PMI List.

Returns

true if a PMI List was specified by field, false otherwise.

bool ShowPosterImage(ImageKit &out_image) const

Shows the poster image setting.

Parameters

out_image – The poster image for the annotation.

Returns

true if a poster image was specified, false otherwise.

bool ShowPRCAttributeRemoval(bool &out_state) const

Shows the attribute removal for PRC data setting.

Parameters

out_state – Whether to remove attribute information in the PRC data for this annotation.

Returns

true if an attribute removal setting was specified, false otherwise.

bool ShowPRCBRepCompression(PRC::BRepCompression &out_level) const

Shows the BRep compression level for PRC data setting.

Parameters

out_level – The level of compression to apply to BRep data for a PRC annotation.

Returns

true if a PRC BRep compression level setting was specified, false otherwise.

bool ShowPRCBRepRemoval(bool &out_state) const

Shows the BRep removal for PRC data setting.

Parameters

out_state – Whether to remove BRep information in the PRC data for this annotation.

Returns

true if a BRep removal setting was specified, false otherwise.

bool ShowPRCTessellationCompression(bool &out_state) const

Shows the tessellation compression for PRC data setting.

Parameters

out_state – Whether to compress tessellation for a PRC annotation.

Returns

true if a PRC tessellation compression setting was specified, false otherwise.

bool ShowRendering(Rendering::Mode &out_mode) const

Shows the rendering mode setting.

Parameters

out_mode – The rendering mode for the annotation.

Returns

true if a rendering mode was specified, false otherwise.

bool ShowSource(Annotation::SourceType &out_source_type, CADModel &out_cad_model, KeyPathArray &out_key_paths) const

Shows the source setting.

Parameters
  • out_source_type – Specifies which one of the previous arguments is valid

  • out_cad_model – The source CADModel for the annotation. Only valid if out_source_type is CADModel or CADModelAndKeyPath

  • out_key_paths – The source KeyPath array for the annotation. Only valid if out_source_type is KeyPath or CADModelAndKeyPath

Returns

true if a source was specified, false otherwise.

bool ShowToolbarVisibility(bool &out_state) const

Shows the toolbar visibility setting.

Parameters

out_state – Whether to display the toolbar when the annotation is activated.

Returns

true if a toolbar visibility was specified, false otherwise.

bool ShowTransparentBackground(bool &out_state) const

Shows the transparent background setting.

Parameters

out_state – Whether the annotation has a transparent background.

Returns

true if a transparent background setting specified, false otherwise.

bool ShowU3DCompression(unsigned char &out_level) const

Shows the compression level for U3D data for the annotation.

Parameters

out_level – The level of compression to apply to tessellations for a U3D annotation.

Returns

true if a U3D compression setting was specified, false otherwise.

bool ShowU3DVersion(U3D::Version &out_version) const

Shows the version for U3D data setting.

Parameters

out_version – The version of the data for a U3D annotation.

Returns

true if a U3D version setting was specified, false otherwise.

bool ShowViewList(IntRectangle &out_location, Publish::ListBoxKit &out_list) const

Shows the View List setting.

Parameters
  • out_location – The location of the View List table.

  • out_list – The options specified for the list box containing the View List

Returns

true if a View List was specified, false otherwise.

bool ShowViewListField(UTF8 &out_field) const

Shows the View List setting.

Parameters

out_field – The list box form field name on the page which will be used for the View List.

Returns

true if a View List was specified by field, false otherwise.

AnnotationKit &UnsetActivation()

Removes the activation setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetArtwork()

Removes the artwork setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetBackgroundColor()

Removes the background color setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetBorderWidth()

Removes the border width setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetCarouselButtons()

Removes the carousel buttons setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetCarouselViews()

Removes the carousel views setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetDeactivation()

Removes the deactivation setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetEverything()

Removes all data on the annotation.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetFormat()

Removes the format setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetInteractivity()

Removes the interactivity setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetLighting()

Removes the lighting mode setting.a

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetModelTreeVisibility()

Removes the model tree visibility setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetName()

Removes the name setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetPartsList()

Removes the Parts List setting.

Returns

A reference to this AnnotationKit

AnnotationKit &UnsetPMIList()

Removes the PMI List setting.

Returns

A reference to this AnnotationKit

AnnotationKit &UnsetPosterImage()

Removes the poster image setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetPRCAttributeRemoval()

Removes the attribute removal for PRC data setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetPRCBRepCompression()

Removes the BRep compression level for PRC data setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetPRCBRepRemoval()

Removes the BRep removal for PRC data setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetPRCTessellationCompression()

Removes the tessellation compression for PRC data setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetRendering()

Removes the rendering mode setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetSource()

Removes the source setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetToolbarVisibility()

Removes the toolbar visibility setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetTransparentBackground()

Removes the transparent background setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetU3DCompression()

Removes the compression level for U3D data setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetU3DVersion()

Removes the version for U3D data setting.

Returns

A reference to this AnnotationKit.

AnnotationKit &UnsetViewList()

Removes the View List setting.

Returns

A reference to this AnnotationKit

virtual ~AnnotationKit()

Public Static Functions

static AnnotationKit GetDefault()

Creates a AnnotationKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for export unless a setting is overridden by the AnnotationKit passed to File::Export.

Returns

A AnnotationKit with the default settings.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::PublishAnnotationKit
class Artwork

The Publish::Artwork class is a concept class for artwork-related enumerations.

class Display

The Publish::Artwork::Display class is a concept class for display-related artwork enumerations.

Public Types

enum Preference

Enumerates the preferences for the display of views in ArtworkKit objects.

Values:

enumerator Defined

Prefer the display settings (rendering mode, lighting mode, and background color) set in a view when activating it.

enumerator Runtime

Prefer the runtime display settings (rendering mode, lighting mode, and background color) in the application when activating a view (except for the default view).

class View

The Publish::Artwork::View class is a concept class for view-related artwork enumerations.

Public Types

enum Preference

Enumerates the preferences for default views in ArtworkKit objects.

Values:

enumerator Native

Prefer the native default view in the PRC data (if one is present).

enumerator PDF

Prefer the default view defined in the PDF (if one is present).

class ArtworkKit : public HPS::SprocketKit

The ArtworkKit class is a user space object. It acts as the container for all data that can be on an artwork in a Publish PDF.

Public Functions

ArtworkKit &AddView(ViewKit const &in_view)

Adds a view to the artwork. This will append the view to any existing views on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

Parameters

in_view – The view to add to the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &AddViews(size_t in_count, ViewKit const in_views[])

Adds views to the artwork. This will append the views to any existing views on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

Parameters
  • in_count – Size of the following array.

  • in_views – The views to add to the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &AddViews(ViewKitArray const &in_views)

Adds views to the artwork. This will append the views to any existing views on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

Parameters

in_views – The views to add to the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit()

The default constructor creates an empty ArtworkKit object.

ArtworkKit(ArtworkKit &&in_kit)

The move constructor creates an ArtworkKit by transferring the underlying object of the rvalue reference to this ArtworkKit.

Parameters

in_kit – An rvalue reference to an ArtworkKit to take the underlying object from.

ArtworkKit(ArtworkKit const &in_kit)

The copy constructor creates a new ArtworkKit object that contains the same settings as the source ArtworkKit.

Parameters

in_kit – The source ArtworkKit to copy.

virtual bool Empty() const

Indicates whether this ArtworkKit has any values set on it.

Returns

true if no values are set on this ArtworkKit, false otherwise.

bool Equals(ArtworkKit const &in_kit) const

Check if the source ArtworkKit is equivalent to this ArtworkKit.

Parameters

in_kit – The source ArtworkKit to compare to this ArtworkKit.

Returns

true if the objects are equivalent, false otherwise.

inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns

The declared type of the object in question, which may differ from the true, underlying type.

bool operator!=(ArtworkKit const &in_kit) const

Check if the source ArtworkKit is not equivalent to this ArtworkKit.

Parameters

in_kit – The source ArtworkKit to compare to this ArtworkKit.

Returns

true if the objects are not equivalent, false otherwise.

ArtworkKit &operator=(ArtworkKit &&in_kit)

The move assignment operator transfers the underlying object of the rvalue reference to this ArtworkKit.

Parameters

in_kit – An rvalue reference to an ArtworkKit to take the underlying object from.

Returns

A reference to this ArtworkKit.

ArtworkKit &operator=(ArtworkKit const &in_kit)

Copies the source ArtworkKit into this ArtworkKit.

Parameters

in_kit – The source ArtworkKit to copy.

Returns

A reference to this ArtworkKit.

bool operator==(ArtworkKit const &in_kit) const

Check if the source ArtworkKit is equivalent to this ArtworkKit.

Parameters

in_kit – The source ArtworkKit to compare to this ArtworkKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(ArtworkKit const &in_kit)

Copies the source ArtworkKit into this ArtworkKit.

Parameters

in_kit – The source ArtworkKit to copy.

ArtworkKit &SetAnimationStyle(Animation::Style in_style)

Sets the animation style for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData::m_eAnimationStyle.

Parameters

in_style – The animation style for the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetDefaultViewPreference(Artwork::View::Preference in_preference)

Sets the default view preference for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData::m_bKeepNativeDefaultView.

Parameters

in_preference – The default view preference for the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetDisplayPreference(Artwork::Display::Preference in_preference)

Sets the display preference for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData::m_bUseRuntimeDisplaySettings.

Parameters

in_preference – The display preference for the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetJavaScript(char const *in_source, Source::Type in_type = Source::Type::Code)

Sets the JavaScript source or file for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData::m_pcJavaScriptFileName.

Parameters
  • in_source – The JavaScript source or file (depending on the next argument) for the artwork.

  • in_type – The type of the preceding argument. Defaults to Source::Type::Code.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetPMIColor(HPS::RGBColor const &in_pmi_color)

Sets the PMI color for this artwork. This correspond to value that will be passed to A3DPDF3DArtworkData::m_sPMIColor .

Parameters

in_pmi_color – The color to apply to PMIs for this artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetPMICrossHighlighting(bool in_state)

Sets the whether to enable PMI cross-highlighting for the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData::m_bActivatePMICrossHighlight.

Parameters

in_state – Whether to highlight the geometry associated with a piece of PMI when that PMI is selected.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetPMISemanticInformation(bool in_state)

Sets the whether to include semantic PMI information in the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkData::m_bAddPMISemanticInformation.

Parameters

in_state – Whether to include semantic PMI information in the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetView(ViewKit const &in_view)

Adds a view to the artwork. This will replace all views (if any) on the artwork. This corresponds to the value that will be passed to A3DPDF3DArtworkAddView.

Parameters

in_view – The view to add to the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetViews(size_t in_count, ViewKit const in_views[])

Adds views to the artwork. This will replace all views (if any) on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

Parameters
  • in_count – Size of the following array.

  • in_views – The views to add to the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &SetViews(ViewKitArray const &in_views)

Adds views to the artwork. This will replace all views (if any) on the artwork. These correspond to values that will be passed to A3DPDF3DArtworkAddView.

Parameters

in_views – The views to add to the artwork.

Returns

A reference to this ArtworkKit.

void Show(ArtworkKit &out_kit) const

Copies this ArtworkKit into the given ArtworkKit.

Parameters

out_kit – The ArtworkKit to populate with the contents of this ArtworkKit.

bool ShowAnimationStyle(Animation::Style &out_style) const

Shows the animation style setting.

Parameters

out_style – The animation style of the artwork.

Returns

true if an animation style was specified, false otherwise.

bool ShowDefaultViewPreference(Artwork::View::Preference &out_preference) const

Shows the default view preference setting.

Parameters

out_preference – The default view preference for the artwork.

Returns

true if a default view preference was specified, false otherwise.

bool ShowDisplayPreference(Artwork::Display::Preference &out_preference) const

Shows the display preference setting.

Parameters

out_preference – The display preference for the artwork.

Returns

true if a display preference was specified, false otherwise.

bool ShowJavaScript(UTF8 &out_source, Source::Type &out_type) const

Shows the JavaScript setting.

Parameters
  • out_source – The JavaScript source or file (depending on the next argument) for the artwork.

  • out_type – The type of the preceding argument.

Returns

true if a JavaScript source or file was specified, false otherwise.

bool ShowPMIColor(HPS::RGBColor &out_pmi_color) const

Shows the PMI color for the artwork.

Parameters

out_pmi_color – The PMI color for the artwork.

Returns

true if a PMI color was specified, false otherwise.

bool ShowPMICrossHighlighting(bool &out_state) const

Shows the PMI cross-highlighting setting.

Parameters

out_state – Whether to highlight the geometry associated with a piece of PMI when that PMI is selected.

Returns

true if a PMI cross-highlighting setting was specified, false otherwise.

bool ShowPMISemanticInformation(bool &out_state) const

Shows the semantic PMI information setting.

Parameters

out_state – Whether to include semantic PMI information in the artwork.

Returns

true if a semantic PMI information setting was specified, false otherwise.

bool ShowViews(ViewKitArray &out_views) const

Shows the views for the artwork.

Parameters

out_views – The views for the artwork.

Returns

true if views were specified, false otherwise.

ArtworkKit &UnsetAnimationStyle()

Removes the animation style setting.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetDefaultViewPreference()

Removes the default view preference setting.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetDisplayPreference()

Removes the display preference setting.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetEverything()

Removes all data from the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetJavaScript()

Removes the JavaScript setting.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetPMIColor()

Removes the PMI color setting from the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetPMICrossHighlighting()

Removes the PMI cross-highlighting setting.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetPMISemanticInformation()

Removes the PMI semantic information setting.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetView(size_t in_index)

Removes the view at the given index from the artwork.

Parameters

in_index – Index of the view to remove from the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetViews()

Removes all views from the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetViews(size_t in_count, size_t const in_indices[])

Removes the views at the given indices from the artwork.

Parameters
  • in_count – Size of the following array.

  • in_indices – Indices of the views to remove from the artwork.

Returns

A reference to this ArtworkKit.

ArtworkKit &UnsetViews(SizeTArray const &in_indices)

Removes the views at the given indices from the artwork.

Parameters

in_indices – Indices of the views to remove from the artwork.

Returns

A reference to this ArtworkKit.

virtual ~ArtworkKit()

Public Static Functions

static ArtworkKit GetDefault()

Creates a ArtworkKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for export unless a setting is overridden by the ArtworkKit passed to File::Export.

Returns

A ArtworkKit with the default settings.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::PublishArtworkKit
class Border

The Publish::Border class is a concept class for border-related enumerations.

Public Types

enum Style

Enumerates the border styles.

Values:

enumerator Solid

Solid (kA3DPDFSolid)

enumerator Dashed

Dashed (kA3DPDFDashed)

enumerator Beveled

Beveled (kA3DPDFBeveled)

enumerator Inset

Inset (kA3DPDFInset)

enumerator Underlined

Underlined (kA3DPDFUnderlined)

enum Thickness

Enumerates the thicknesses for borders.

Values:

enumerator Thin

Thin border (kA3DPDFThin)

enumerator Medium

Medium border (kA3DPDFMedium)

enumerator Wide

Wide border (kA3DPDFThick)

class ButtonKit : public HPS::SprocketKit

The ButtonKit class is a user space object. It acts as the container for all data that can be used to specify a button for a Publish PDF.

Public Functions

ButtonKit()

The default constructor creates an empty ButtonKit object.

ButtonKit(ButtonKit &&in_kit)

The move constructor creates a ButtonKit by transferring the underlying object of the rvalue reference to this ButtonKit.

Parameters

in_kit – An rvalue reference to a ButtonKit to take the underlying object from.

ButtonKit(ButtonKit const &in_kit)

The copy constructor creates a new ButtonKit object that contains the same settings as the source ButtonKit.

Parameters

in_kit – The source ButtonKit to copy.

virtual bool Empty() const

Indicates whether this ButtonKit has any values set on it.

Returns

true if no values are set on this ButtonKit, false otherwise.

bool Equals(ButtonKit const &in_kit) const

Check if the source ButtonKit is equivalent to this ButtonKit.

Parameters

in_kit – The source ButtonKit to compare to this ButtonKit.

Returns

true if the objects are equivalent, false otherwise.

inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns

The declared type of the object in question, which may differ from the true, underlying type.

bool operator!=(ButtonKit const &in_kit) const

Check if the source ButtonKit is not equivalent to this ButtonKit.

Parameters

in_kit – The source ButtonKit to compare to this ButtonKit.

Returns

true if the objects are not equivalent, false otherwise.

ButtonKit &operator=(ButtonKit &&in_kit)

The move assignment operator transfers the underlying object of the rvalue reference to this ButtonKit.

Parameters

in_kit – An rvalue reference to a ButtonKit to take the underlying object from.

Returns

A reference to this ButtonKit.

ButtonKit &operator=(ButtonKit const &in_kit)

Copies the source ButtonKit into this ButtonKit.

Parameters

in_kit – The source ButtonKit to copy.

Returns

A reference to this ButtonKit.

bool operator==(ButtonKit const &in_kit) const

Check if the source ButtonKit is equivalent to this ButtonKit.

Parameters

in_kit – The source ButtonKit to compare to this ButtonKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(ButtonKit const &in_kit)

Copies the source ButtonKit into this ButtonKit.

Parameters

in_kit – The source ButtonKit to copy.

ButtonKit &SetBorder(bool in_state)

Sets whether the button has a border. This corresponds to the value that will be passed to A3DPDFButtonData::m_bHasBorder.

Parameters

in_state – Whether the button has a border.

Returns

A reference to this ButtonKit.

ButtonKit &SetBorderColor(RGBColor const &in_color)

Sets the border color for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_sBorderColor.

Parameters

in_color – The border color of the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetBorderStyle(Border::Style in_style)

Sets the border style for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eLineStyleBorder.

Parameters

in_style – The border style for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetBorderThickness(Border::Thickness in_thickness)

Sets the border thickness for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eThicknessBorder.

Parameters

in_thickness – The border thickness for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetFillColor(RGBColor const &in_color)

Sets the fill color for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_sFillColor and implicitly sets A3DPDFButtonData::m_bHasFillColor to true.

Parameters

in_color – The fill color for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetFont(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

Sets a specific font for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcFontName.

Parameters
  • in_name – UTF8-encoded font name for the button.

  • in_style – The style of font to use for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetFont(Text::Font::Name in_name)

Sets a builtin font for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcFontName.

Parameters

in_name – The builtin font for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetFontSize(int in_size)

Sets the font size for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_iFontSize.

Parameters

in_size – The font size for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetHighlighting(Highlighting::Mode in_mode)

Sets the highlighting mode for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eHighlightingMode.

Parameters

in_mode – The highlighting mode for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetIconImage(ImageKit const &in_image)

Sets the icon image for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pImage.

Parameters

in_image – The icon image for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetLabel(char const *in_label)

Sets the label for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcLabel.

Parameters

in_label – UTF8-encoded label for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetLabelPosition(Label::Position in_position)

Sets the label position for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eLayoutTextIcon.

Parameters

in_position – The label position for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetLock(bool in_state)

Sets whether the button is locked. This corresponds to the value that will be passed to A3DPDFButtonData::m_bIsLocked.

Parameters

in_state – Whether the button is locked.

Returns

A reference to this ButtonKit.

ButtonKit &SetName(char const *in_name)

Sets the name of the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcName.

Parameters

in_name – UTF8-encoded name of the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetPrintability(bool in_state)

Sets the printability for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eFormField.

Parameters

in_state – The printability for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetTextColor(RGBColor const &in_color)

Sets the text color for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_sTextColor.

Parameters

in_color – The text color for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetTextRotation(Text::Rotation in_rotation)

Sets the text rotation for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eTextOrientation.

Parameters

in_rotation – The text rotation for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetTooltip(char const *in_tooltip)

Sets the tooltip for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_pcTooltip.

Parameters

in_tooltip – UTF8-encoded tooltip text for the button.

Returns

A reference to this ButtonKit.

ButtonKit &SetVisibility(bool in_state)

Sets the visibility for the button. This corresponds to the value that will be passed to A3DPDFButtonData::m_eFormField.

Parameters

in_state – The visibility for the button.

Returns

A reference to this ButtonKit.

void Show(ButtonKit &out_kit) const

Copies this ButtonKit into the given ButtonKit.

Parameters

out_kit – The ButtonKit to populate with the contents of this ButtonKit.

bool ShowBorder(bool &out_state) const

Shows the border setting for the button.

Parameters

out_state – Whether the button has a border.

Returns

true if a border setting was specified, false otherwise.

bool ShowBorderColor(RGBColor &out_color) const

Shows the border color for the button.

Parameters

out_color – The border color of the button.

Returns

true if a border color was specified, false otherwise.

bool ShowBorderStyle(Border::Style &out_style) const

Shows the border style for the button.

Parameters

out_style – The border style for the button.

Returns

true if a border style was specified, false otherwise.

bool ShowBorderThickness(Border::Thickness &out_thickness) const

Shows the border thickness for the button.

Parameters

out_thickness – The border thickness for the button.

Returns

true if a border thickness was specified, false otherwise.

bool ShowFillColor(RGBColor &out_color) const

Shows the fill color for the button.

Parameters

out_color – The fill color for the button.

Returns

true if a fill color was specified, false otherwise.

bool ShowFont(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8 &out_font_name, Text::Font::Style &out_style) const

Shows the font for the button.

Parameters
  • out_type – The type of font for the button.

  • out_font – The built-in font for the button. This is only valid if out_type is Text::Font::Type::BuiltIn.

  • out_font_name – The explicit font name for the button. This is only valid if out_type is Text::Font::Type::Explicit.

  • out_style – The font style for the button. This is only valid if out_type is Text::Font::Type::Explicit.

Returns

true if a font was specified, false otherwise.

bool ShowFontSize(int &out_size) const

Shows the font size for the button.

Parameters

out_size – The font size for the button.

Returns

true if a font size was specified, false otherwise.

bool ShowHighlighting(Highlighting::Mode &out_mode) const

Shows the highlighting mode for the button.

Parameters

out_mode – The highlighting mode for the button.

Returns

true if a highlighting mode was specified, false otherwise.

bool ShowIconImage(ImageKit &out_image) const

Shows the icon image for the button.

Parameters

out_image – The icon image for the button.

Returns

true if an icon image was specified, false otherwise.

bool ShowLabel(UTF8 &out_label) const

Shows the label for the button.

Parameters

out_label – The label for the button.

Returns

true if a label was specified, false otherwise.

bool ShowLabelPosition(Label::Position &out_position) const

Shows the label position for the button.

Parameters

out_position – The label position for the button.

Returns

true if a label position was specified, false otherwise.

bool ShowLock(bool &out_state) const

Shows the lock setting for the button.

Parameters

in_state – Whether the button is locked.

Returns

true if a lock setting was specified, false otherwise.

bool ShowName(UTF8 &out_name) const

Shows the name for the button.

Parameters

out_name – The name of the button.

Returns

true if a name was specified, false otherwise.

bool ShowPrintability(bool &out_state) const

Shows the printability for the button.

Parameters

out_state – The printability for the button.

Returns

true if a printability was specified, false otherwise.

bool ShowTextColor(RGBColor &out_color) const

Shows the text color for the button.

Parameters

out_color – The text color for the button.

Returns

true if a text color was specified, false otherwise.

bool ShowTextRotation(Text::Rotation &out_rotation) const

Shows the text rotation for the button.

Parameters

out_rotation – The text rotation for the button.r

Returns

true if a rotation was specified, false otherwise.

bool ShowTooltip(UTF8 &out_tooltip) const

Shows the tooltip for the button.

Parameters

out_tooltip – The tooltip text for the button.

Returns

true if a tooltip was specified, false otherwise.

bool ShowVisibility(bool &out_state) const

Shows the visibility for the button.

Parameters

out_state – The visibility for the button.

Returns

true if a visibility was specified, false otherwise.

ButtonKit &UnsetBorder()

Removes the border setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetBorderColor()

Removes the border color setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetBorderStyle()

Removes the border style setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetBorderThickness()

Removes the border thickness setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetEverything()

Removes all data from the button.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetFillColor()

Removes the fill color setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetFont()

Removes the font setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetFontSize()

Removes the font size setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetHighlighting()

Removes the highlighting mode setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetIconImage()

Removes the icon image setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetLabel()

Removes the label setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetLabelPosition()

Removes the label position setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetLock()

Removes the lock setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetName()

Removes the name setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetPrintability()

Removes the printability setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetTextColor()

Removes the text color setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetTextRotation()

Removes the text rotation setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetTooltip()

Removes the tooltip setting.

Returns

A reference to this ButtonKit.

ButtonKit &UnsetVisibility()

Removes the visibility setting.

Returns

A reference to this ButtonKit.

virtual ~ButtonKit()

Public Static Functions

static ButtonKit GetDefault()

Creates a ButtonKit which contains the default settings. The returned object will not necessarily have values for every setting, but it will have them where it is reasonable to have a default. These values will be used for a button unless a setting is overridden by the ButtonKit passed to a function.

Returns

A ButtonKit with the default settings.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::PublishButtonKit
class CheckBoxKit : public HPS::SprocketKit

The CheckBoxKit class is a user space object. It acts as the container for all data that can be used to specify a check box for a Publish PDF.

Public Functions

CheckBoxKit()

The default constructor creates an empty CheckBoxKit object.

CheckBoxKit(CheckBoxKit &&in_kit)

The move constructor creates a CheckBoxKit by transferring the underlying object of the rvalue reference to this CheckBoxKit.

Parameters

in_kit – An rvalue reference to a CheckBoxKit to take the underlying object from.

CheckBoxKit(CheckBoxKit const &in_kit)

The copy constructor creates a new CheckBoxKit object that contains the same settings as the source CheckBoxKit.

Parameters

in_kit – The source CheckBoxKit to copy.

virtual bool Empty() const

Indicates whether this CheckBoxKit has any values set on it.

Returns

true if no values are set on this CheckBoxKit, false otherwise.

bool Equals(CheckBoxKit const &in_kit) const

Check if the source CheckBoxKit is equivalent to this CheckBoxKit.

Parameters

in_kit – The source CheckBoxKit to compare to this CheckBoxKit.

Returns

true if the objects are equivalent, false otherwise.

inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns

The declared type of the object in question, which may differ from the true, underlying type.

bool operator!=(CheckBoxKit const &in_kit) const

Check if the source CheckBoxKit is not equivalent to this CheckBoxKit.

Parameters

in_kit – The source CheckBoxKit to compare to this CheckBoxKit.

Returns

true if the objects are not equivalent, false otherwise.

CheckBoxKit &operator=(CheckBoxKit &&in_kit)

The move assignment operator transfers the underlying object of the rvalue reference to this CheckBoxKit.

Parameters

in_kit – An rvalue reference to a CheckBoxKit to take the underlying object from.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &operator=(CheckBoxKit const &in_kit)

Copies the source CheckBoxKit into this CheckBoxKit.

Parameters

in_kit – The source CheckBoxKit to copy.

Returns

A reference to this CheckBoxKit.

bool operator==(CheckBoxKit const &in_kit) const

Check if the source CheckBoxKit is equivalent to this CheckBoxKit.

Parameters

in_kit – The source CheckBoxKit to compare to this CheckBoxKit.

Returns

true if the objects are equivalent, false otherwise.

void Set(CheckBoxKit const &in_kit)

Copies the source CheckBoxKit into this CheckBoxKit.

Parameters

in_kit – The source CheckBoxKit to copy.

CheckBoxKit &SetBorder(bool in_state)

Sets whether the check box has a border. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_bHasBorder.

Parameters

in_state – Whether the check box has a border.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetBorderColor(RGBColor const &in_color)

Sets the border color for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_sBorderColor.

Parameters

in_color – The border color of the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetBorderStyle(Border::Style in_style)

Sets the border style for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eLineStyleBorder.

Parameters

in_style – The border style for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetBorderThickness(Border::Thickness in_thickness)

Sets the border thickness for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eThicknessBorder.

Parameters

in_thickness – The border thickness for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetDefaultState(bool in_state)

Sets whether the check box is checked by default. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_bIsCheckedByDefault.

Parameters

in_state – Whether the check box is checked by default.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetExportValue(char const *in_export_value)

Sets the export value used when field data is exported by Acrobat functions. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcExportValue.

Parameters

in_export_value – UTF8-encoded export value of the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetFillColor(RGBColor const &in_color)

Sets the fill color for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_sFillColor and implicitly sets A3DPDFCheckBoxData::m_bHasFillColor to true.

Parameters

in_color – The fill color for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetFont(char const *in_name, Text::Font::Style in_style = Text::Font::Style::Regular)

Sets a specific font for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcFontName.

Parameters
  • in_name – UTF8-encoded font name for the check box.

  • in_style – The style of font to use for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetFont(Text::Font::Name in_name)

Sets a builtin font for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcFontName.

Parameters

in_name – The builtin font for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetFontSize(int in_size)

Sets the font size for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_iFontSize.

Parameters

in_size – The font size for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetLock(bool in_state)

Sets whether the check box is locked. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_bIsLocked.

Parameters

in_state – Whether the check box is locked.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetName(char const *in_name)

Sets the name of the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcName.

Parameters

in_name – UTF8-encoded name of the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetPrintability(bool in_state)

Sets the printability for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eFormField.

Parameters

in_state – The printability for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetTextColor(RGBColor const &in_color)

Sets the text color for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_sTextColor.

Parameters

in_color – The text color for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetTextRotation(Text::Rotation in_rotation)

Sets the text rotation for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eTextOrientation.

Parameters

in_rotation – The text rotation for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetTooltip(char const *in_tooltip)

Sets the tooltip for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_pcTooltip.

Parameters

in_tooltip – UTF8-encoded tooltip text for the check box.

Returns

A reference to this CheckBoxKit.

CheckBoxKit &SetVisibility(bool in_state)

Sets the visibility for the check box. This corresponds to the value that will be passed to A3DPDFCheckBoxData::m_eFormField.

Parameters

in_state – The visibility for the check box.

Returns

A reference to this CheckBoxKit.

void Show(CheckBoxKit &out_kit) const

Copies this CheckBoxKit into the given CheckBoxKit.

Parameters

out_kit – The CheckBoxKit to populate with the contents of this CheckBoxKit.

bool ShowBorder(bool &out_state) const

Shows the border setting for the check box.

Parameters

out_state – Whether the check box has a border.

Returns

true if a border setting was specified, false otherwise.

bool ShowBorderColor(RGBColor &out_color) const

Shows the border color for the check box.

Parameters

out_color – The border color of the check box.

Returns

true if a border color was specified, false otherwise.

bool ShowBorderStyle(Border::Style &out_style) const

Shows the border style for the check box.

Parameters

out_style – The border style for the check box.

Returns

true if a border style was specified, false otherwise.

bool ShowBorderThickness(Border::Thickness &out_thickness) const

Shows the border thickness for the check box.

Parameters

out_thickness – The border thickness for the check box.

Returns

true if a border thickness was specified, false otherwise.

bool ShowDefaultState(bool &out_default_state) const

Shows the default state for the check box.

Parameters

out_default_state – The default state for the check box.

Returns

true if a default state was specified, false otherwise.

bool ShowExportValue(UTF8 &out_export_value) const

Shows the export value for the check box.

Parameters

out_export_value – The export value for the check box.

Returns

true if an export value was specified, false otherwise.

bool ShowFillColor(RGBColor &out_color) const

Shows the fill color for the check box.

Parameters

out_color – The fill color for the check box.

Returns

true if a fill color was specified, false otherwise.

bool ShowFont(Text::Font::Type &out_type, Text::Font::Name &out_font, UTF8