HOutputHandlerOptions

Types

Print_Layout

Fields

WYSIWYG

FULL_PAGE

MAPPED_CAMERA

HBaseView *

m_pHBaseView

HBaseModel *

m_pHBaseModel

HCamera *

m_pCamera

HC_KEY

m_Key

char const *

m_pHSRAOptions

HPoint const *

m_pWindowColor

bool

m_bUseWindowColor

float

m_Window_Width

float

m_Window_Height

float

m_Paper_Width

float

m_Paper_Height

bool

m_ForceGrayscale

size_t

m_lineFuseThreshold

bool

m_bFastPrint

bool

m_bConserveMemory

bool

m_bWriteAnimations

bool

m_bWindowFrame

Print_Layout

m_layout

int

m_Image_Dpi

int

m_Paper_Dpi

void *

m_pExtendedData

char const *

m_license

int

m_antialiasLevel

int

m_jpeg_quality

unsigned char *

m_imageOutputBuffer

size_t

m_imageOutputBufferSize

int

m_Version

H_OUTPUT_TYPE

m_OutputType

bool

m_b3dOutput

bool

m_bAscii

bool

m_bStlNormals

double

m_ratio_cm_to_internal_units

float

m_PageMargins

HBhvBehaviorManager *

m_pBehaviorManager

char const *

m_pDWFModelName

char const *

m_pPDFResourceDirectory

ExportNameMap

m_names

void *

m_pPRCAsmModelFile

bool

m_bActivateOnPageOpen

float

m_fAnnotLeft

float

m_fAnnotRight

float

m_fAnnotBottom

float

m_fAnnotTop

HPrcBrepCompression

m_ePrcBrepCompression

bool

m_bPrcRemoveBRep

bool

m_bPrcRemoveAttributes

bool

m_bPrcUseNameUserData

long

m_iPrcNameUserDataIndex

bool

m_bPrcCompressTessellation

bool

m_bAVIShowCompressionDialog

char

m_bAVICodec

bool

m_bExporting2DDwf

char const *

m_pHTMLTemplateFile

bool

m_bHTMLIncludeMeasurementInformation

bool

m_bPDFEmbedFonts

Functions

HOutputHandlerOptions

char const *

GetType

bool

PopulateOptions

HOutputHandlerOptions

HOutputHandlerOptions

~HOutputHandlerOptions

void

Init

HBaseView *

View

void

View

HBaseModel *

Model

void

Model

HCamera *

Camera

void

Camera

HC_KEY

Key

void

Key

char const *

HSRAOptions

void

HSRAOptions

HPoint const *

WindowColor

void

WindowColor

bool

UseWindowColor

void

UseWindowColor

float

WindowWidth

void

WindowWidth

float

WindowHeight

void

WindowHeight

float

PaperWidth

void

PaperWidth

float

PaperHeight

void

PaperHeight

bool

ForceGrayscale

void

ForceGrayscale

size_t

LineFuseThreshold

void

LineFuseThreshold

bool

FastPrint

void

FastPrint

bool

ConserveMemory

void

ConserveMemory

bool

WriteAnimations

void

WriteAnimations

bool

WindowFrame

void

WindowFrame

Print_Layout

Layout

void

Layout

bool

UseSubscreen

void

UseSubscreen

int

ImageDpi

void

ImageDpi

int

PaperDpi

void

PaperDpi

void *

ExtendedData

void

ExtendedData

void

ExtendedData

bool

ActivateOnPageOpen

void

ActivateOnPageOpen

float

AnnotLeft

void

AnnotLeft

float

AnnotRight

void

AnnotRight

float

AnnotBottom

void

AnnotBottom

float

AnnotTop

void

AnnotTop

int

Version

void

Version

H_OUTPUT_TYPE

OutputType

void

OutputType

bool

Output3d

void

Output3d

bool

Ascii

void

Ascii

bool

StlNormals

void

StlNormals

double

PrintToScale

void

PrintToScale

Detailed Description

class HOutputHandlerOptions

HOutputHandlerOptions is used to pass data to HOutputHandler. All options are used based on the handler’s needs. Specific HOutputHandler subclassed instances should document their own usage of options.

Public Types

enum Print_Layout

Specifies how the view or camera is mapped to the printed page.

Values:

enumerator WYSIWYG

Displayed view is mapped within the printable area of the screen — old UseSubscreen(true)

enumerator FULL_PAGE

Extra geometry outside the displayed view is included to the printable limits — old UseSubscreen(false)

enumerator MAPPED_CAMERA

the camera does not fill the page

The camera is mapped to the full page (margins ignored); geometry outside the camera may be included if

Public Functions

HOutputHandlerOptions() = default

Constructs an HOutputHandlerOptions object.

virtual char const *GetType() const
virtual bool PopulateOptions()

Any application wishing to customize how the options are populated should derive from this class and overload this function.

inline HOutputHandlerOptions(HOutputHandlerOptions const *o)

Constructs an HOutputHandlerOptions object from another HOutputHandlerOptions object.

Parameters:

o – A pointer to the HOutputHandlerOptions object you want to copy.

inline HOutputHandlerOptions(HOutputHandlerOptions const &o)

Constructs an HOutputHandlerOptions object from another HOutputHandlerOptions object.

Parameters:

o – A reference to the HOutputHandlerOptions object you want to copy.

virtual ~HOutputHandlerOptions()
void Init(HOutputHandlerOptions const *o)

This method initializes this HOutputHandlerOptions object from using the properties of another HOutputHandlerOptions object.

Parameters:

o – A pointer to the HOutputHandlerOptions object you want to copy.

inline HBaseView *View() const

A pointer to the HBaseView object for this output.

inline void View(HBaseView *const v)

A pointer to the HBaseView object for this output.

inline HBaseModel *Model() const

A pointer to the HBaseModel object for this output.

inline void Model(HBaseModel *const m)

A pointer to the HBaseModel object for this output.

inline HCamera *Camera() const

A pointer to the HCamera object for this output.

inline void Camera(HCamera *const c)

A pointer to the HCamera object for this output.

inline HC_KEY Key() const

The HC_Key for this output.

inline void Key(HC_KEY const k)

The HC_Key for this output.

inline char const *HSRAOptions() const

HOOPS HSRAOption string .

inline void HSRAOptions(char const *const tf)

HOOPS HSRAOption string .

inline HPoint const *WindowColor() const

Set the color of the window. The RGB color stored in xyz of HPoint.

inline void WindowColor(HPoint const *const tf)

Set the color of the window. The RGB color stored in xyz of HPoint.

inline bool UseWindowColor() const

If set to true, the background color of the view is used.

inline void UseWindowColor(bool const tf)

If set to true, the background color of the view is used.

inline float WindowWidth() const

Width for output sizing in inches.

inline void WindowWidth(float const f)

Width for output sizing in inches.

inline float WindowHeight() const

Height for output sizing in inches.

inline void WindowHeight(float const f)

Height for output sizing in inches.

inline float PaperWidth() const

Width for output sizing in inches.

inline void PaperWidth(float const f)

Width for output sizing in inches.

inline float PaperHeight() const

Height for output sizing in inches.

inline void PaperHeight(float const f)

Height for output sizing in inches.

inline bool ForceGrayscale() const

Specifies black and white output.

inline void ForceGrayscale(bool const tf)

Specifies black and white output.

inline size_t LineFuseThreshold() const

Gets the line fuse threshold

Returns:

The line fuse threshold value

inline void LineFuseThreshold(size_t const tf)

Sets the line fuse threshold value.

Parameters:

tf – The line fuse threshold value to set

inline bool FastPrint() const

This option has been deprecated. Specifies printing method.

inline void FastPrint(bool const tf)

This option has been deprecated. Specifies printing method.

inline bool ConserveMemory() const

This option has been deprecated and has no effect.

inline void ConserveMemory(bool const tf)

This option has been deprecated and has no effect.

inline bool WriteAnimations() const
inline void WriteAnimations(bool const tf)
inline bool WindowFrame() const

Determines if a window frame is drawn or not.

inline void WindowFrame(bool const tf)

Determines if a window frame is drawn or not.

inline Print_Layout Layout() const

Determines how the view or camera will be mapped to the printed page.

inline void Layout(Print_Layout l)

Determines how the view or camera will be mapped to the printed page.

inline bool UseSubscreen() const

Determines if HOOPS is calculating a subscreen to match the output to the size of the view window.

Deprecated:

This function will be replaced by Layout()

inline void UseSubscreen(bool tf)

Determines if HOOPS is calculating a subscreen to match the output to the size of the view window.

Deprecated:

This function will be replaced by Layout(Print_Layout l)

inline int ImageDpi() const

Indicates the DPI used for images. This is calculated with info from HC_Show_Device_Info.

inline void ImageDpi(int const dpi)

Indicates the DPI used for images. This is calculated with info from HC_Show_Device_Info.

inline int PaperDpi() const

Indicates the DPI used for paper. This is set from the options dialog.

inline void PaperDpi(int const dpi)

Indicates the DPI used for paper. This is set from the options dialog.

inline void *ExtendedData() const
inline void ExtendedData(void *const vp)
inline void ExtendedData(HPDFOptions *const vp)
inline bool ActivateOnPageOpen() const
inline void ActivateOnPageOpen(bool onoff)
inline float AnnotLeft() const
inline void AnnotLeft(float f)
inline float AnnotRight() const
inline void AnnotRight(float f)
inline float AnnotBottom() const
inline void AnnotBottom(float f)
inline float AnnotTop() const
inline void AnnotTop(float f)
inline int Version() const
inline void Version(int const v)
inline H_OUTPUT_TYPE OutputType() const

The output type.

inline void OutputType(H_OUTPUT_TYPE ot)

The output type.

inline bool Output3d() const

Some file formats, such as PDF and DWF, support 2d and/or 3d output. Set this to TRUE for 3d output.

inline void Output3d(bool const tf)

Some file formats, such as PDF and DWF, support 2d and/or 3d output. Set this to TRUE for 3d output. Default is FALSE.

inline bool Ascii() const

Some file formats, support binary and ascii such as STL. Set this to true for ascii output.

inline void Ascii(bool const tf)

Some file formats, support binary and ascii such as STL. Set this to true for ascii output.

inline bool StlNormals() const

Determines if we generate and output face normals when writing to STL file format.

inline void StlNormals(bool const tf)

Determines if we generate and output face normals when writing to STL file format.

inline double PrintToScale() const
Returns:

The output scaling ratio. See PrintToScale()

inline void PrintToScale(double const r)

Parameter is a positive double precision ratio which specifies how many HOOPS/3DGS world-space-units represents a centimeter. The camera will (temporarily) be scaled according to this ratio to force the physical (hardcopy) output size to match an application’s size units. A natural side-effect of this style of output is that the hardcopy will not match the picture on the screen like normal HOOPS printing. The output will effectively be scaled (up or down) and given a new aspect ratio so that it will fill the printable area of the specified output device with to-scale geometry surrounding the camera target.

Examples:

  • If a value of 1.0 in HOOPS/3DGS world-space is meant to represent 2 mm, set the ratio to 0.2

  • If a value of 1.0 in HOOPS/3DGS world-space is meant to represent 1 inch, set the ratio to 2.54

  • If a value of 1.0 in HOOPS/3DGS world-space is meant to represent 1 cm, set the ratio to 1.0

Behavioral Notes:

  • This mode will respect user-defined margins.

  • PrintToScale behavior is undefined if there is a perspective camera.

The default value is 0, which indicates to not print-to-scale.

Public Members

HBaseView *m_pHBaseView = nullptr

A pointer to the HBaseView object for this output.

HBaseModel *m_pHBaseModel = nullptr

A pointer to the HBaseModel object for this output.

HCamera *m_pCamera

A pointer to the HCamera object for this output.

HC_KEY m_Key = (-1L)

The HC_Key for this output.

char const *m_pHSRAOptions = nullptr

HOOPS HSRAOption string .

HPoint const *m_pWindowColor = nullptr

RGB color stored in xyz.

bool m_bUseWindowColor = false

If set to true, the background color of the view is used.

float m_Window_Width = 0

Width for output sizing in inches.

float m_Window_Height = 0

Height for output sizing in inches.

float m_Paper_Width = 8.5

Width for output sizing in inches.

float m_Paper_Height = 11

Height for output sizing in inches.

bool m_ForceGrayscale = false

Specifies black and white output.

size_t m_lineFuseThreshold = 100

If the number of lines in a segment is greater than or equal to this value, the lines are fused into a single line during export. This option applies to 3D PDF exports only. The default value is 100.

bool m_bFastPrint = false

This option has been deprecated. Specifies printing method.

bool m_bConserveMemory = false

This option has been deprecated and has no effect.

bool m_bWriteAnimations = false
bool m_bWindowFrame = false

Determines if a window frame is drawn or not.

Print_Layout m_layout = Print_Layout::WYSIWYG

Determines how the view or camera will be mapped to the printed page.

int m_Image_Dpi = 100

Indicates the DPI used for images. This is calculated with info from HC_Show_Device_Info.

int m_Paper_Dpi = 300

Indicates the DPI used for paper. This is set from the options dialog.

void *m_pExtendedData = nullptr

A pointer to extra data needed by a HOutputHandler subclass .

char const *m_license = nullptr

A pointer to a license key. This can be used by HIO modules that are based on 3rd party toolkits which require a license key to be set.

int m_antialiasLevel = 1
int m_jpeg_quality = 0
unsigned char *m_imageOutputBuffer = nullptr
size_t m_imageOutputBufferSize = 0
int m_Version = 0

The file format version desired for writing.

H_OUTPUT_TYPE m_OutputType = H_OUTPUT_TYPE_DEFAULT

The output type.

bool m_b3dOutput = false

Some file formats, such as PDF and DWF, support 2d and/or 3d output. Set this to TRUE for 3d output. Default is FALSE.

bool m_bAscii = false

Some file formats, support binary and ascii such as STL. Set this to true for ascii output.

bool m_bStlNormals = false

Determines if we generate and output face normals when writing to STL file format.

double m_ratio_cm_to_internal_units = 0

The output scaling ratio. See PrintToScale()

float m_PageMargins[4] = {0, 0, 0, 0}

Sets the page margin in inches. m_PageMargins[0] is the left margin m_PageMargins[1] is the right margin m_PageMargins[2] is the bottom margin m_PageMargins[3] is the top margin

HBhvBehaviorManager *m_pBehaviorManager = nullptr

A pointer to the behavior manager.

char const *m_pDWFModelName = nullptr

DWF Model name

char const *m_pPDFResourceDirectory = nullptr

Publish resource directory. Setting this directory is required for 3D PDF export. Normally, this directory is HOOPS_PUBLISH_INSTALL_DIR/bin/resource.

ExportNameMap m_names

available for output handlers to map HC_KEYS to names in the output file.

void *m_pPRCAsmModelFile = nullptr

Pointer to a PRC model

bool m_bActivateOnPageOpen = false

Set this member to true if you want the 3D annotation in a 3D PDF document to be automatically enabled when opening the PDF file. Default is false

float m_fAnnotLeft = 0.5

This setting applies to the positioning of a 3D annotation in a 3D PDF, and defines the distance, in inches, from the page’s left border, where the left side of the annotation should be located. The default is 0.5

float m_fAnnotRight = 0.5

This setting applies to the positioning of a 3D annotation in a 3D PDF, and defines the distance, in inches, from the page’s right border, where the right of the annotation should be located. The default is 0.5

float m_fAnnotBottom = 2

This setting applies to the positioning of a 3D annotation in a 3D PDF, and defines the distance, in inches, from the page’s bottom border, where the bottom of the annotation should be located. The default is 2.0

float m_fAnnotTop = 0.5

This setting applies to the positioning of a 3D annotation in a 3D PDF, and defines the distance, in inches, from the page’s top border, where the top of the of the annotation should be located. The default is 0.5

HPrcBrepCompression m_ePrcBrepCompression = PrcBrepCompressionNone

Sets the compression level for BRep data when exporting to the PRC format. Defaults to PrcBrepCompressionNone.

bool m_bPrcRemoveBRep = false

Sets whether to remove BREP data when exporting to the PRC format. Defaults to false.

bool m_bPrcRemoveAttributes = false

Sets whether to remove attribute data when exporting to the PRC format. Defaults to false.

bool m_bPrcUseNameUserData = false

Sets whether to use the m_iPrcNameUserDataIndex field. Defaults to false.

long m_iPrcNameUserDataIndex = 0

Sets the user data index for the UTF8-encoded name to use for PRC entities when creating PRC data from a scene graph.

bool m_bPrcCompressTessellation = false

Sets whether to compress tessellation data when exporting to the PRC format. Defaults to false.

bool m_bAVIShowCompressionDialog = true

Used in HIO_AVI. If true shows a dialog during export to allow the user to select a compression level. Defaults to true.

char m_bAVICodec[4] = {0, 0, 0, 0}

Used in HIO_AVI. Sets the AVI codec for function mmioFOURCC Default codec is UNCOMPRESSED m_bAVICodec[0] First character of the four-character code. m_bAVICodec[1] Second character of the four-character code. m_bAVICodec[2] Third character of the four-character code. m_bAVICodec[3] Fourth character of the four-character code.

bool m_bExporting2DDwf = false

2D Dwf Export uses a legacy version of Hardcopy. Set this option to true when exporting a 2D DWF file

char const *m_pHTMLTemplateFile = nullptr

Path to the template file to use when generating an HTML file from HIOUtilityPublish. This value is REQUIRED for HTML export to succeed.

bool m_bHTMLIncludeMeasurementInformation = false

Whether to include measurement information when generating an HTML file from HIOUtilityPublish.

bool m_bPDFEmbedFonts = false

Whether to embed fonts in exported 2D PDF files. Embedding fonts makes the PDF exported file bigger, but enables text contained within it to render correctly even on platforms that lack the font used when creating the file.