Publish

class 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<Source::Type, HPS::Allocator<Source::Type>> SourceTypeArray
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 class 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 class 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 class 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 class 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 A3DPDF3DViewCarousel.

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 A3DPDF3DViewCarousel.

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 A3DPDF3DViewCarousel.

See also

SetArtwork

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 A3DPDF3DViewCarousel.

See also

SetArtwork

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.

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.

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 class 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 class 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 A3DPDF3DArtworkData2::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 A3DPDF3DArtworkData2::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 A3DPDF3DArtworkData2::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 A3DPDF3DArtworkData2::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 A3DPDF3DArtworkData2::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 A3DPDF3DArtworkData2::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 A3DPDF3DArtworkData2::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 class 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 class 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::