Hardcopy

class HPS.Hardcopy : public IDisposable

The Hardcopy class attempts to reproduce the scene graph to each of its supported export types. This includes printing to physical paper and 2D PDF.

Default values for the various fields of the Hardcopy class can be found here.

Public Types

enum BackgroundPreference

The Hardcopy.BackgroundPreference class is used to decide what the Hardcopy background looks like.

Values:

UseBackgroundColor

The current scene background is exported to Hardcopy.

ForceSolidWhite

The exported Hardcopy background will be white.

enum PDFFontPreference

The Hardcopy.PDFFontPreference class is used to decide how fonts are treated during PDF exports

Values:

DoNotEmbedFonts

Fonts used are not embedded in exported PDF files.

EmbedFonts

Fonts used in the PDF are embedded into it.

enum RenderingAlgorithm

The Hardcopy.RenderingOptions class is used to decide how the Hardcopy export will be conducted.

Values:

TwoPassPrint

The default Hardcopy export.

SinglePassPrint

The Hardcopy export completes in a single pass.

enum ResolutionUnits

The Hardcopy.Resolution class is a concept class for hardcopy output-resolution-related enum classes.

Values:

DPCM

Dots Per Centimeter.

DPI

Dots Per Inch.

DotsPerCentimeter

Dots Per Centimeter.

DotsPerInch

Dots Per Inch.

enum SizeUnits

The Hardcopy.Size class is a concept class for hardcopy output-size-related enum classes.

Values:

Centimeters

Centimeters.

Inches

Inches.

Public Functions

void Dispose ()
Hardcopy (HPS.Hardcopy in_that)
class File : public IDisposable

Encapsulates all the functions and options related to exporting HPS.Hardcopy files.

Public Types

enum Driver

The Driver indicates whether the hardcopy will be exported as PDF or Postscript

Values:

PDF
Postscript

Public Functions

void Dispose ()
File (HPS.Hardcopy.File in_that)

Public Static Functions

HPS.IOResult Export (string in_filename, HPS.Hardcopy.File.Driver in_driver_type, HPS.WindowKey in_window, HPS.Hardcopy.File.ExportOptionsKit in_options)

Export to a PDF or Postscript file

Param in_filename

The name of the output file to export

Param in_driver_type

The hardcopy driver to use.

Param in_window

The window to print.

Param in_options

Export options such as resolution, size and wysiwyg.

class ExportOptionsKit : public HPS.Kit

The HPS.Hardcopy.File.ExportOptionsKit class contains settings controlling hardcopy export. Calling HPS.Hardcopy.File.ExportOptionsKit.GetDefault() will return an options kit with values found in here.

Public Functions

override void Dispose ()
override bool Empty ()

Indicates whether this ExportOptionsKit has any values set on it.

Return

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

bool Equals (HPS.Hardcopy.File.ExportOptionsKit in_kit)

Check if the source ExportOptionsKit is equivalent to this ExportOptionsKit.

Param in_kit

The source ExportOptionsKit to compare to this ExportOptionsKit.

Return

true if the objects are equivalent, false otherwise.

override bool Equals (Object obj)
ExportOptionsKit ()

The default constructor creates an empty ExportOptionsKit object.

ExportOptionsKit (HPS.Hardcopy.File.ExportOptionsKit in_kit)

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

Param in_kit

The source ExportOptionsKit to copy.

override int GetHashCode ()
override HPS.Type ObjectType ()

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

Return

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

void Set (HPS.Hardcopy.File.ExportOptionsKit in_kit)

Copies the source ExportOptionsKit into this ExportOptionsKit.

Param in_kit

The source ExportOptionsKit to copy.

HPS.Hardcopy.File.ExportOptionsKit SetBackgroundPreference (HPS.Hardcopy.BackgroundPreference in_background_preference)

The background preference setting is used to decide how the background of this Hardcopy operation will be handled. If no preference is specified, the background will be forced to be white.

Param in_background_preference

how the background for this Hardcopy export will be handled.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetHiddenLineSorting (bool in_on)

Species whether hidden lines are sorted, and if so, what the threshold for sorting is. If Hidden Line Sorting is activated, lines will be printed in proper z-order. If this option is not activated, the order in which lines are printed is non-deterministic. Enabling this option will result in slower performance.

Param in_on

Whether to sort hidden lines or not.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetHiddenLineSorting (bool in_on, float in_activation_weight)

Species whether hidden lines are sorted, and if so, what the threshold for sorting is. If Hidden Line Sorting is activated, lines will be printed in proper z-order. If this option is not activated, the order in which lines are printed is non-deterministic. Enabling this option will result in slower performance.

Param in_on

Whether to sort hidden lines or not.

Param in_activation_weight

What is the minimum size of hidden lines that are sorted. Lines thinner than this will not be sorted.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetHiddenLineSorting (bool in_on, float in_activation_weight, HPS.Line.SizeUnits in_units)

Species whether hidden lines are sorted, and if so, what the threshold for sorting is. If Hidden Line Sorting is activated, lines will be printed in proper z-order. If this option is not activated, the order in which lines are printed is non-deterministic. Enabling this option will result in slower performance.

Param in_on

Whether to sort hidden lines or not.

Param in_activation_weight

What is the minimum size of hidden lines that are sorted. Lines thinner than this will not be sorted.

Param in_units

Units applied to in_activation_weight.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetPDFFontPreference (HPS.Hardcopy.PDFFontPreference in_pdf_font_preference)

The PDF font preference setting is used to decide whether fonts will be embedded in an expored PDF file. If no preference is specified, fonts will not be embedded in the exported PDF file. Embedding fonts makes sure that text included in exported PDF files will render the same way on any platform, but has the side effect of increasing the size of exported PDF. The 14 default PDF fonts are never embedded, regardless of this setting, since they are guaranteed to be available to conforming PDF readers.

Param in_pdf_font_preference

the PDF font preference for this Hardcopy export

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetRenderingAlgorithm (HPS.Hardcopy.RenderingAlgorithm in_rendering_algorithm)

The rendering algorithm setting is used to decide how the Hardcopy export will be performed. If no preference is specified, two passes will be used for the Hardcopy export.

Param in_rendering_algorithm

how the Hardcopy export will be handled.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetResolution (float in_resolution)

Sets the resolution of the image to be inserted into the Hardcopy.

See

Default value

Param in_resolution

Resolution (dots per inch or dots per centimeter).

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetResolution (float in_resolution, HPS.Hardcopy.ResolutionUnits in_units)

Sets the resolution of the image to be inserted into the Hardcopy.

See

Default value

Param in_resolution

Resolution (dots per inch or dots per centimeter).

Param in_units

Units of preceding arguments. Defaults to Inches.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetScale (float in_scale)

Scales Visualize units to correspond to real world units. For example, SetScale(1.0f, Hardcopy.SizeUnits.Inches), will make it so that every Visualize unit corresponds to 1 inch for this export, SetScale(2.0f, Hardcopy.SizeUnits.Centimeters), will make it so that every Visualize unit corresponds to 2 centimeters for this export. SetScale(0.2, Hardcopy.SizeUnits.Centimeters), will make it so that every Visualize unit corresponds to 2 millimeters for this export. Setting a scale is not defined for perspective cameras.

Param in_scale

the unit scale. in_scale is required to be a positive number.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetScale (float in_scale, HPS.Hardcopy.SizeUnits in_units)

Scales Visualize units to correspond to real world units. For example, SetScale(1.0f, Hardcopy.SizeUnits.Inches), will make it so that every Visualize unit corresponds to 1 inch for this export, SetScale(2.0f, Hardcopy.SizeUnits.Centimeters), will make it so that every Visualize unit corresponds to 2 centimeters for this export. SetScale(0.2, Hardcopy.SizeUnits.Centimeters), will make it so that every Visualize unit corresponds to 2 millimeters for this export. Setting a scale is not defined for perspective cameras.

Param in_scale

the unit scale. in_scale is required to be a positive number.

Param in_units

the unit in_scale is expressed in.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetSize (float in_width, float in_height)

Sets the size of the image to be inserted into the Hardcopy.

See

Default value

Param in_width

Width in inches.

Param in_height

Height in inches.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetSize (float in_width, float in_height, HPS.Hardcopy.SizeUnits in_units)

Sets the size of the image to be inserted into the Hardcopy.

See

Default value

Param in_width

Width in inches.

Param in_height

Height in inches.

Param in_units

Units of preceding arguments. Defaults to Inches

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit SetWYSIWYG (bool in_onoff)

Enables or disables WYSIWYG hardcopy output. The WYSIWYG setting (which stands for What You See Is What You Get) works as follows:

  • If true, what you see on the screen is what will be printed. This is the default.

  • If false, everything which will fit on the page size you have specified will be printed, even if some of that is not on screen when you issue the command.

See

Default value

Param in_onoff

true is on, false is off.

Return

A reference to this ExportOptionsKit.

void Show (out HPS.Hardcopy.File.ExportOptionsKit out_kit)

Copies this ExportOptionsKit into the given ExportOptionsKit.

Param out_kit

The ExportOptionsKit to populate with the contents of this ExportOptionsKit.

bool ShowBackgroundPreference (out HPS.Hardcopy.BackgroundPreference out_background_preference)

Shows the background preference for this Hardcopy export.

Param out_background_preference

the preference for the background of this Hardcopy export.

Return

true if a background preference setting was specified, false otherwise.

bool ShowHiddenLineSorting (out bool out_state, out float out_threshold, out HPS.Line.SizeUnits out_units)

Shows the hidden line sorting options of Hardcopy.

Param out_state

Whether hidden line sorting is on or off.

Param out_threshold

The minimum width at which hidden lines are sorted.

Param out_units

The units that out_threshold is measured in.

Return

true if the setting is valid, false otherwise.

bool ShowPDFFontPreference (out HPS.Hardcopy.PDFFontPreference out_pdf_font_preference)

Shows the PDF font preference for this Hardcopy export.

Param out_pdf_font_preference

the PDF font preference of this Hardcopy export.

Return

true if a PDF font preference was specified, false otherwise.

bool ShowRenderingAlgorithm (out HPS.Hardcopy.RenderingAlgorithm out_rendering_algorithm)

Shows the rendering algorithm for this Hardcopy export.

Param out_rendering_algorithm

the rendering algorithm setting of this Hardcopy export.

Return

true if a rendering algorithm setting was specified, false otherwise.

bool ShowResolution (out float out_resolution, out HPS.Hardcopy.ResolutionUnits out_units)

Shows the resolution of the image to be inserted into the Hardcopy.

Param out_resolution

Resolution (dots per inch or dots per centimeter).

Param out_units

Units of preceding arguments.

Return

true if a size setting was specified, false otherwise.

bool ShowScale (out float out_scale, out HPS.Hardcopy.SizeUnits out_units)

Shows true if a scale has been set

Param out_scale

the scale specified.

Param out_units

the units out_scale is specified in.

Return

true if a scale setting was specified, false otherwise.

bool ShowSize (out float out_width, out float out_height, out HPS.Hardcopy.SizeUnits out_units)

Shows the size of the image to be inserted into the Hardcopy.

Param out_width

Width.

Param out_height

Height.

Param out_units

Units of preceding arguments.

Return

true if a size setting was specified, false otherwise.

bool ShowWYSIWYG (out bool out_onoff)

Shows true if wysiwyg has been enabled

Param out_onoff

whether ‘what you see is what you get’ is turned on or off

Return

true if a wysiwyg setting was specified, false otherwise.

HPS.Hardcopy.File.ExportOptionsKit UnsetBackgroundPreference ()

Removes the background preference setting from this Hardcopy export.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit UnsetEverything ()

Removes all settings from this ExportOptionsKit.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit UnsetHiddenLineSorting ()

Removes the line sorting settings for hidden lines from Hardcopy

Return

A reference to this object.

HPS.Hardcopy.File.ExportOptionsKit UnsetPDFFontPreference ()

Removes the PDF font preference setting from this Hardcopy export.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit UnsetRenderingAlgorithm ()

Removes the rendering algorithm setting from this Hardcopy export.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit UnsetResolution ()

Removes the resolution of the image to be inserted into the Hardcopy.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit UnsetScale ()

Removes the scale setting from Hardcopy.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit UnsetSize ()

Removes the size of the image to be inserted into the Hardcopy.

Return

A reference to this ExportOptionsKit.

HPS.Hardcopy.File.ExportOptionsKit UnsetWYSIWYG ()

Removes the wysiwyg setting from Hardcopy.

Return

A reference to this ExportOptionsKit.

Public Static Functions

HPS.Hardcopy.File.ExportOptionsKit GetDefault ()

Creates a ExportOptionsKit which contains the default settings. The returned object will not necessarily have values set for every option, but it will have settings for those options where it is reasonable to have a default.

Return

A ExportOptionsKit with the default settings.

bool operator!= (HPS.Hardcopy.File.ExportOptionsKit a, HPS.Hardcopy.File.ExportOptionsKit b)
bool operator== (HPS.Hardcopy.File.ExportOptionsKit a, HPS.Hardcopy.File.ExportOptionsKit b)
class GDI : public IDisposable

Public Functions

void Dispose ()
GDI (HPS.Hardcopy.GDI in_that)

Public Static Functions

HPS.IOResult Export (IntPtr in_hdc, IntPtr in_attribdc, HPS.WindowKey in_window, HPS.Hardcopy.GDI.ExportOptionsKit in_options)
HPS.IOResult ExportClipboard (HPS.WindowKey in_window, HPS.Hardcopy.GDI.ExportOptionsKit in_options)
HPS.IOResult ExportEMF (string in_filename, HPS.WindowKey in_window, HPS.Hardcopy.GDI.ExportOptionsKit in_options)
class ExportOptionsKit : public HPS.Kit

Public Functions

override void Dispose ()
override bool Empty ()

Indicates whether this object has any values set on it.

See

HPS.Object.Reset()

Note

An empty object is not necessarily invalid. For example, all fresh new Kits, or Objects that have been reset, are both valid and empty.

Return

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

bool Equals (HPS.Hardcopy.GDI.ExportOptionsKit in_kit)
override bool Equals (Object obj)
ExportOptionsKit ()
ExportOptionsKit (HPS.Hardcopy.GDI.ExportOptionsKit in_kit)
override int GetHashCode ()
override HPS.Type ObjectType ()

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

Return

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

void Set (HPS.Hardcopy.GDI.ExportOptionsKit in_kit)
HPS.Hardcopy.GDI.ExportOptionsKit SetBackgroundPreference (HPS.Hardcopy.BackgroundPreference in_background_preference)
HPS.Hardcopy.GDI.ExportOptionsKit SetHiddenLineSorting (bool in_on)
HPS.Hardcopy.GDI.ExportOptionsKit SetHiddenLineSorting (bool in_on, float in_activation_weight)
HPS.Hardcopy.GDI.ExportOptionsKit SetHiddenLineSorting (bool in_on, float in_activation_weight, HPS.Line.SizeUnits in_units)
HPS.Hardcopy.GDI.ExportOptionsKit SetRenderingAlgorithm (HPS.Hardcopy.RenderingAlgorithm in_rendering_algorithm)
HPS.Hardcopy.GDI.ExportOptionsKit SetResolution (float in_resolution)
HPS.Hardcopy.GDI.ExportOptionsKit SetScale (float in_scale)
HPS.Hardcopy.GDI.ExportOptionsKit SetScale (float in_scale, HPS.Hardcopy.SizeUnits in_units)
HPS.Hardcopy.GDI.ExportOptionsKit SetSize (float in_width, float in_height)
HPS.Hardcopy.GDI.ExportOptionsKit SetWYSIWYG (bool in_onoff)
void Show (out HPS.Hardcopy.GDI.ExportOptionsKit out_kit)
bool ShowBackgroundPreference (out HPS.Hardcopy.BackgroundPreference out_background_preference)
bool ShowHiddenLineSorting (out bool out_state, out float out_threshold, out HPS.Line.SizeUnits out_units)
bool ShowRenderingAlgorithm (out HPS.Hardcopy.RenderingAlgorithm out_rendering_algorithm)
bool ShowResolution (out float out_resolution)
bool ShowScale (out float out_scale, out HPS.Hardcopy.SizeUnits out_units)
bool ShowSize (out float out_width, out float out_height)
bool ShowWYSIWYG (out bool out_onoff)
HPS.Hardcopy.GDI.ExportOptionsKit UnsetBackgroundPreference ()
HPS.Hardcopy.GDI.ExportOptionsKit UnsetEverything ()
HPS.Hardcopy.GDI.ExportOptionsKit UnsetHiddenLineSorting ()
HPS.Hardcopy.GDI.ExportOptionsKit UnsetRenderingAlgorithm ()
HPS.Hardcopy.GDI.ExportOptionsKit UnsetResolution ()
HPS.Hardcopy.GDI.ExportOptionsKit UnsetScale ()
HPS.Hardcopy.GDI.ExportOptionsKit UnsetSize ()
HPS.Hardcopy.GDI.ExportOptionsKit UnsetWYSIWYG ()